Imported Upstream version 5.23.0 29/136029/1
authorDongHun Kwak <dh0128.kwak@samsung.com>
Wed, 28 Jun 2017 01:42:13 +0000 (10:42 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Wed, 28 Jun 2017 01:42:18 +0000 (10:42 +0900)
Change-Id: I8a9bb43daa24232995e474fbdf78a6edbad9a8c7
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
706 files changed:
AUTHORS
Configure
Cross/config.sh-arm-linux
Cross/config.sh-arm-linux-n770
INSTALL
MANIFEST
META.json
META.yml
Makefile.SH
NetWare/Makefile
NetWare/config.wc
NetWare/config_H.wc
Porting/Glossary
Porting/Maintainers.pl
Porting/bisect-runner.pl
Porting/bisect.pl
Porting/checkAUTHORS.pl
Porting/config.sh
Porting/config_H
Porting/epigraphs.pod
Porting/makerel
Porting/perldelta_template.pod
Porting/release_managers_guide.pod
Porting/release_schedule.pod
Porting/todo.pod
README
README.cygwin
README.haiku
README.macosx
README.os2
README.vms
README.win32
av.c
cflags.SH
charclass_invlists.h
config_h.SH
configure.com
cop.h
cpan/.dir-locals.el
cpan/Archive-Tar/bin/ptar
cpan/Archive-Tar/bin/ptardiff
cpan/Archive-Tar/bin/ptargrep
cpan/Archive-Tar/lib/Archive/Tar.pm
cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
cpan/Archive-Tar/lib/Archive/Tar/File.pm
cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm
cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm
cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd [new file with mode: 0644]
cpan/CPAN-Meta-YAML/t/10_read.t
cpan/CPAN-Meta-YAML/t/12_write.t
cpan/CPAN-Meta-YAML/t/21_yamlpm_compat.t
cpan/CPAN-Meta-YAML/t/30_yaml_spec_tml.t
cpan/CPAN-Meta-YAML/t/86_fail.t [new file with mode: 0644]
cpan/CPAN-Meta-YAML/t/README.md
cpan/CPAN-Meta-YAML/t/lib/TestBridge.pm
cpan/CPAN-Meta-YAML/t/lib/TestUtils.pm
cpan/CPAN-Meta-YAML/t/tml
cpan/CPAN-Meta-YAML/t/tml-local/load-warning/document.tml [new file with mode: 0644]
cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/collection.tml
cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/quoting.tml
cpan/CPAN-Meta-YAML/t/tml-world/YAML-Tiny-META.tml
cpan/CPAN-Meta/lib/CPAN/Meta.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm
cpan/CPAN-Meta/lib/CPAN/Meta/History.pm
cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod
cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod
cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod
cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod
cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod
cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm
cpan/CPAN-Meta/t/converter-bad.t
cpan/CPAN-Meta/t/converter-fail.t
cpan/CPAN-Meta/t/converter-fragments.t
cpan/CPAN-Meta/t/converter.t
cpan/CPAN-Meta/t/data-test/preserve-release-status.yml [new file with mode: 0644]
cpan/CPAN-Meta/t/load-bad.t
cpan/CPAN-Meta/t/merge.t
cpan/CPAN-Meta/t/meta-obj.t
cpan/CPAN-Meta/t/no-index.t
cpan/CPAN-Meta/t/optional_feature-merge.t
cpan/CPAN-Meta/t/prereqs-finalize.t
cpan/CPAN-Meta/t/prereqs-merge.t
cpan/CPAN-Meta/t/prereqs.t
cpan/CPAN-Meta/t/repository.t
cpan/CPAN-Meta/t/save-load.t
cpan/CPAN-Meta/t/validator.t
cpan/CPAN/lib/App/Cpan.pm
cpan/CPAN/lib/CPAN.pm
cpan/CPAN/scripts/cpan
cpan/Digest-SHA/lib/Digest/SHA.pm
cpan/Digest-SHA/shasum
cpan/Digest/Digest.pm
cpan/Encode/Encode.pm
cpan/Encode/bin/enc2xs
cpan/Encode/bin/encguess
cpan/Encode/bin/piconv
cpan/Encode/bin/ucmlint
cpan/Encode/bin/unidump
cpan/Encode/encoding.pm
cpan/Encode/t/isa.t [new file with mode: 0644]
cpan/ExtUtils-Command/lib/ExtUtils/Command.pm
cpan/ExtUtils-MakeMaker/bin/instmodsh
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
cpan/File-Fetch/lib/File/Fetch.pm
cpan/Getopt-Long/lib/Getopt/Long.pm
cpan/HTTP-Tiny/corpus/redirect-10.txt [new file with mode: 0644]
cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
cpan/HTTP-Tiny/t/001_api.t
cpan/IO-Compress/bin/zipdetails
cpan/IO-Compress/lib/Compress/Zlib.pm
cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
cpan/IO-Compress/lib/IO/Compress/Base.pm
cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
cpan/IO-Compress/lib/IO/Compress/Deflate.pm
cpan/IO-Compress/lib/IO/Compress/Gzip.pm
cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
cpan/IO-Compress/lib/IO/Compress/Zip.pm
cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
cpan/IO-Compress/lib/IO/Uncompress/Base.pm
cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
cpan/IPC-Cmd/lib/IPC/Cmd.pm
cpan/JSON-PP/bin/json_pp
cpan/JSON-PP/lib/JSON/PP.pm
cpan/Locale-Codes/lib/Locale/Codes.pm
cpan/Locale-Codes/lib/Locale/Codes.pod
cpan/Locale-Codes/lib/Locale/Codes/API.pod
cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
cpan/Locale-Codes/lib/Locale/Codes/Constants.pm
cpan/Locale-Codes/lib/Locale/Codes/Constants.pod [deleted file]
cpan/Locale-Codes/lib/Locale/Codes/Country.pm
cpan/Locale-Codes/lib/Locale/Codes/Country.pod
cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
cpan/Locale-Codes/lib/Locale/Codes/Currency.pod
cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm
cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod
cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm
cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod
cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm
cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod
cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/Language.pm
cpan/Locale-Codes/lib/Locale/Codes/Language.pod
cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/Script.pm
cpan/Locale-Codes/lib/Locale/Codes/Script.pod
cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm
cpan/Locale-Codes/lib/Locale/Country.pm
cpan/Locale-Codes/lib/Locale/Country.pod
cpan/Locale-Codes/lib/Locale/Currency.pm
cpan/Locale-Codes/lib/Locale/Currency.pod
cpan/Locale-Codes/lib/Locale/Language.pm
cpan/Locale-Codes/lib/Locale/Language.pod
cpan/Locale-Codes/lib/Locale/Script.pm
cpan/Locale-Codes/lib/Locale/Script.pod
cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm
cpan/Memoize/Memoize.pm
cpan/Module-Metadata/lib/Module/Metadata.pm
cpan/Module-Metadata/t/metadata.t
cpan/Module-Metadata/t/taint.t
cpan/Parse-CPAN-Meta/corpus/BadMETA.yml [moved from cpan/Parse-CPAN-Meta/t/data/BadMETA.yml with 100% similarity]
cpan/Parse-CPAN-Meta/corpus/META-VR.json [moved from cpan/Parse-CPAN-Meta/t/data/META-VR.json with 100% similarity]
cpan/Parse-CPAN-Meta/corpus/META-VR.yml [moved from cpan/Parse-CPAN-Meta/t/data/META-VR.yml with 100% similarity]
cpan/Parse-CPAN-Meta/corpus/bareyaml.meta [moved from cpan/Parse-CPAN-Meta/t/data/bareyaml.meta with 100% similarity]
cpan/Parse-CPAN-Meta/corpus/json.meta [moved from cpan/Parse-CPAN-Meta/t/data/json.meta with 100% similarity]
cpan/Parse-CPAN-Meta/corpus/yaml.meta [moved from cpan/Parse-CPAN-Meta/t/data/yaml.meta with 100% similarity]
cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm
cpan/Parse-CPAN-Meta/t/02_api.t
cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm
cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
cpan/Pod-Simple/lib/Pod/Simple.pm
cpan/Pod-Simple/lib/Pod/Simple.pod
cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm
cpan/Pod-Simple/lib/Pod/Simple/Checker.pm
cpan/Pod-Simple/lib/Pod/Simple/Debug.pm
cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm
cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm
cpan/Pod-Simple/lib/Pod/Simple/HTML.pm
cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm
cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm
cpan/Pod-Simple/lib/Pod/Simple/Methody.pm
cpan/Pod-Simple/lib/Pod/Simple/Progress.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm
cpan/Pod-Simple/lib/Pod/Simple/RTF.pm
cpan/Pod-Simple/lib/Pod/Simple/Search.pm
cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm
cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod
cpan/Pod-Simple/lib/Pod/Simple/Text.pm
cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm
cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm
cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm
cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm
cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm
cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm
cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm
cpan/Pod-Simple/t/ascii_order.pl [new file with mode: 0644]
cpan/Pod-Simple/t/basic.t
cpan/Pod-Simple/t/corpus.t
cpan/Pod-Simple/t/corpus/encwarn01.xml
cpan/Pod-Simple/t/corpus/lat1frim.xml
cpan/Pod-Simple/t/encod04.t
cpan/Pod-Simple/t/search10.t
cpan/Pod-Simple/t/search12.t
cpan/Pod-Simple/t/search20.t
cpan/Pod-Simple/t/search22.t
cpan/Pod-Simple/t/search26.t
cpan/Pod-Simple/t/search28.t
cpan/Pod-Simple/t/search50.t
cpan/Pod-Simple/t/xhtml01.t
cpan/Pod-Usage/lib/Pod/Usage.pm
cpan/Pod-Usage/scripts/pod2usage.PL
cpan/Pod-Usage/t/pod/headwithmarkup.pl [new file with mode: 0644]
cpan/Pod-Usage/t/pod/headwithmarkup.t [new file with mode: 0644]
cpan/Pod-Usage/t/pod/p2u_data.pl
cpan/Pod-Usage/t/pod/pod2usage.t
cpan/Pod-Usage/t/pod/pod2usage.xr
cpan/Pod-Usage/t/pod/pod2usage2.t
cpan/Pod-Usage/t/pod/selectheaders.pl [new file with mode: 0644]
cpan/Pod-Usage/t/pod/selectheaders.t [new file with mode: 0644]
cpan/Pod-Usage/t/pod/selectsections.pl [new file with mode: 0644]
cpan/Pod-Usage/t/pod/selectsections.t [new file with mode: 0644]
cpan/Pod-Usage/t/pod/testcmp.pl
cpan/Pod-Usage/t/pod/testp2pt.pl
cpan/Pod-Usage/t/pod/usage.pod
cpan/Pod-Usage/t/pod/usage2.pod
cpan/Scalar-List-Utils/ListUtil.xs
cpan/Scalar-List-Utils/lib/List/Util.pm
cpan/Scalar-List-Utils/lib/List/Util/XS.pm
cpan/Scalar-List-Utils/lib/Scalar/Util.pm
cpan/Scalar-List-Utils/lib/Sub/Util.pm
cpan/Scalar-List-Utils/t/pair.t
cpan/Scalar-List-Utils/t/refaddr.t
cpan/Socket/Socket.pm
cpan/Socket/Socket.xs
cpan/Sys-Syslog/Syslog.pm
cpan/Test-Harness/bin/prove
cpan/Test-Harness/lib/App/Prove.pm
cpan/Test-Harness/lib/App/Prove/State.pm
cpan/Test-Harness/lib/App/Prove/State/Result.pm
cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
cpan/Test-Harness/lib/TAP/Base.pm
cpan/Test-Harness/lib/TAP/Formatter/Base.pm
cpan/Test-Harness/lib/TAP/Formatter/Color.pm
cpan/Test-Harness/lib/TAP/Formatter/Console.pm
cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
cpan/Test-Harness/lib/TAP/Formatter/File.pm
cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
cpan/Test-Harness/lib/TAP/Formatter/Session.pm
cpan/Test-Harness/lib/TAP/Harness.pm
cpan/Test-Harness/lib/TAP/Harness/Env.pm
cpan/Test-Harness/lib/TAP/Object.pm
cpan/Test-Harness/lib/TAP/Parser.pm
cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
cpan/Test-Harness/lib/TAP/Parser/Result.pm
cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
cpan/Test-Harness/lib/TAP/Parser/Source.pm
cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
cpan/Test-Harness/lib/Test/Harness.pm
cpan/Test/lib/Test.pm
cpan/Time-Piece/Piece.pm
cpan/Time-Piece/Piece.xs
cpan/Time-Piece/Seconds.pm
cpan/Time-Piece/t/01base.t
cpan/Time-Piece/t/02core.t
cpan/Time-Piece/t/02core_dst.t [new file with mode: 0644]
cpan/Time-Piece/t/06subclass.t
cpan/Time-Piece/t/lib/Time/Piece/Twin.pm [new file with mode: 0644]
cpan/Win32/Win32.pm
cpan/Win32/t/GetOSName.t
cpan/autodie/lib/Fatal.pm
cpan/autodie/lib/autodie.pm
cpan/autodie/lib/autodie/Scope/Guard.pm
cpan/autodie/lib/autodie/Scope/GuardStack.pm
cpan/autodie/lib/autodie/ScopeUtil.pm [deleted file]
cpan/autodie/lib/autodie/Util.pm [new file with mode: 0644]
cpan/autodie/lib/autodie/exception.pm
cpan/autodie/lib/autodie/exception/system.pm
cpan/autodie/lib/autodie/hints.pm
cpan/autodie/lib/autodie/skip.pm
cpan/autodie/t/chmod.t
cpan/autodie/t/dbmopen.t
cpan/autodie/t/internal.t
cpan/autodie/t/lib/my/pragma.pm
cpan/autodie/t/mkdir.t
cpan/libnet/Makefile.PL
cpan/libnet/lib/Net/Cmd.pm
cpan/libnet/lib/Net/Config.pm
cpan/libnet/lib/Net/Domain.pm
cpan/libnet/lib/Net/FTP.pm
cpan/libnet/lib/Net/FTP/A.pm
cpan/libnet/lib/Net/FTP/E.pm
cpan/libnet/lib/Net/FTP/I.pm
cpan/libnet/lib/Net/FTP/L.pm
cpan/libnet/lib/Net/FTP/dataconn.pm
cpan/libnet/lib/Net/NNTP.pm
cpan/libnet/lib/Net/Netrc.pm
cpan/libnet/lib/Net/POP3.pm
cpan/libnet/lib/Net/SMTP.pm
cpan/libnet/lib/Net/Time.pm
cpan/libnet/t/nntp_ssl.t
cpan/libnet/t/pop3_ipv6.t
cpan/libnet/t/pop3_ssl.t
cpan/libnet/t/smtp_ipv6.t
cpan/libnet/t/smtp_ssl.t
cpan/parent/lib/parent.pm
cpan/parent/t/parent-pmc.t
cpan/parent/t/parent.t
deb.c
dist/ExtUtils-CBuilder/Changes
dist/ExtUtils-CBuilder/LICENSE
dist/ExtUtils-CBuilder/Makefile.PL
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm
dist/ExtUtils-CBuilder/t/04-base.t
dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm
dist/IO/IO.pm
dist/Locale-Maketext/lib/Locale/Maketext.pm
dist/Math-BigInt/lib/Math/BigFloat.pm
dist/Math-BigInt/lib/Math/BigInt.pm
dist/Math-BigInt/lib/Math/BigInt/Calc.pm
dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
dist/Math-BigInt/t/bare_mbf.t
dist/Math-BigInt/t/bare_mbi.t
dist/Math-BigInt/t/bigfltpm.inc
dist/Math-BigInt/t/bigfltpm.t
dist/Math-BigInt/t/bigintpm.inc
dist/Math-BigInt/t/bigintpm.t
dist/Math-BigInt/t/inf_nan.t
dist/Math-BigInt/t/sub_mbf.t
dist/Math-BigInt/t/sub_mbi.t
dist/Math-BigInt/t/upgrade.inc
dist/Math-BigInt/t/upgrade.t
dist/Math-BigInt/t/with_sub.t
dist/Math-BigRat/lib/Math/BigRat.pm
dist/Math-BigRat/t/bigratpm.inc
dist/Math-BigRat/t/bigratpm.t
dist/Module-CoreList/Changes
dist/Module-CoreList/corelist
dist/Module-CoreList/lib/Module/CoreList.pm
dist/Module-CoreList/lib/Module/CoreList.pod
dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm
dist/Module-CoreList/lib/Module/CoreList/Utils.pm
dist/Module-CoreList/t/corelist.t
dist/Module-CoreList/t/is_core.t
dist/Net-Ping/lib/Net/Ping.pm
dist/PathTools/Cwd.pm
dist/PathTools/Cwd.xs
dist/PathTools/lib/File/Spec.pm
dist/PathTools/lib/File/Spec/Cygwin.pm
dist/PathTools/lib/File/Spec/Epoc.pm
dist/PathTools/lib/File/Spec/Functions.pm
dist/PathTools/lib/File/Spec/Mac.pm
dist/PathTools/lib/File/Spec/OS2.pm
dist/PathTools/lib/File/Spec/Unix.pm
dist/PathTools/lib/File/Spec/VMS.pm
dist/PathTools/lib/File/Spec/Win32.pm
dist/PathTools/t/taint.t
dist/Storable/Storable.pm
dist/Storable/Storable.xs
dist/XSLoader/XSLoader_pm.PL
dist/XSLoader/t/XSLoader.t
dist/bignum/lib/bigint.pm
dist/bignum/lib/bignum.pm
dist/bignum/lib/bigrat.pm
dist/threads/lib/threads.pm
dist/threads/t/exit.t
dist/threads/t/thread.t
doio.c
dump.c
embed.fnc
embed.h
ext/POSIX/POSIX.xs
ext/POSIX/lib/POSIX.pm
ext/POSIX/lib/POSIX.pod
ext/POSIX/t/export.t
ext/POSIX/t/math.t
ext/POSIX/t/posix.t
ext/POSIX/t/strerror_errno.t
ext/POSIX/t/wrappers.t
ext/POSIX/typemap
ext/PerlIO-scalar/scalar.pm
ext/PerlIO-scalar/scalar.xs
ext/Pod-Html/bin/pod2html
ext/Pod-Html/lib/Pod/Html.pm
ext/XS-APItest/APItest.pm
ext/XS-APItest/APItest.xs
ext/XS-APItest/t/call.t
ext/XS-APItest/t/callregexec.t
ext/XS-APItest/t/multicall.t
ext/XS-APItest/t/win32.t [deleted file]
ext/XS-APItest/typemap
globvar.sym
gv.c
handy.h
hints/aix.sh
hints/catamount.sh
hints/darwin.sh
hints/irix_6.sh
hv.c
hv_func.h
intrpvar.h
lib/B/Op_private.pm
lib/UNIVERSAL.pm
lib/Unicode/UCD.t
lib/feature.pm
lib/perl5db.pl
lib/perl5db.t
lib/perl5db/t/test-a-statement-2 [new file with mode: 0644]
lib/unicore/ArabicShaping.txt
lib/unicore/BidiBrackets.txt
lib/unicore/BidiMirroring.txt
lib/unicore/Blocks.txt
lib/unicore/CJKRadicals.txt
lib/unicore/CaseFolding.txt
lib/unicore/CompositionExclusions.txt
lib/unicore/DAge.txt
lib/unicore/DCoreProperties.txt
lib/unicore/DNormalizationProps.txt
lib/unicore/EastAsianWidth.txt
lib/unicore/EmojiSources.txt
lib/unicore/HangulSyllableType.txt
lib/unicore/Index.txt
lib/unicore/IndicPositionalCategory.txt [moved from lib/unicore/IndicMatraCategory.txt with 62% similarity]
lib/unicore/IndicSyllabicCategory.txt
lib/unicore/Jamo.txt
lib/unicore/LineBreak.txt
lib/unicore/NameAliases.txt
lib/unicore/NamedSequences.txt
lib/unicore/NamedSqProv.txt
lib/unicore/NamesList.txt
lib/unicore/NormalizationCorrections.txt
lib/unicore/PropList.txt
lib/unicore/PropValueAliases.txt
lib/unicore/PropertyAliases.txt
lib/unicore/ReadMe.txt
lib/unicore/ScriptExtensions.txt
lib/unicore/Scripts.txt
lib/unicore/SpecialCasing.txt
lib/unicore/StandardizedVariants.txt
lib/unicore/UnicodeData.txt
lib/unicore/auxiliary/GCBTest.txt
lib/unicore/auxiliary/GraphemeBreakProperty.txt
lib/unicore/auxiliary/SBTest.txt
lib/unicore/auxiliary/SentenceBreakProperty.txt
lib/unicore/auxiliary/WBTest.txt
lib/unicore/auxiliary/WordBreakProperty.txt
lib/unicore/extracted/DBidiClass.txt
lib/unicore/extracted/DBinaryProperties.txt
lib/unicore/extracted/DCombiningClass.txt
lib/unicore/extracted/DDecompositionType.txt
lib/unicore/extracted/DEastAsianWidth.txt
lib/unicore/extracted/DGeneralCategory.txt
lib/unicore/extracted/DJoinGroup.txt
lib/unicore/extracted/DJoinType.txt
lib/unicore/extracted/DLineBreak.txt
lib/unicore/extracted/DNumType.txt
lib/unicore/extracted/DNumValues.txt
lib/unicore/mktables
lib/unicore/version
lib/utf8_heavy.pl
lib/vars_carp.t
lib/warnings.pm
locale.c
mg.c
numeric.c
op.c
op_reg_common.h
patchlevel.h
perl.c
perl.h
perlio.c
perlio.h
perliol.h
perly.c
plan9/config.plan9
plan9/config_sh.sample
pod/.gitignore
pod/perl.pod
pod/perl5200delta.pod
pod/perl5203delta.pod [deleted file]
pod/perl5220delta.pod
pod/perl5221delta.pod [deleted file]
pod/perl5222delta.pod [deleted file]
pod/perlapio.pod
pod/perlcommunity.pod
pod/perldata.pod
pod/perldebguts.pod
pod/perldelta.pod
pod/perldiag.pod
pod/perlfunc.pod
pod/perlhacktips.pod
pod/perlhist.pod
pod/perlobj.pod
pod/perlop.pod
pod/perlpolicy.pod
pod/perlport.pod
pod/perlre.pod
pod/perlrebackslash.pod
pod/perlref.pod
pod/perlreref.pod
pod/perlretut.pod
pod/perlrun.pod
pod/perlsub.pod
pod/perltie.pod
pod/perlvar.pod
pp.c
pp_ctl.c
pp_hot.c
pp_pack.c
pp_sort.c
pp_sys.c
proto.h
reentr.c
regcharclass.h
regcomp.c
regcomp.h
regcomp.sym
regen/feature.pl
regen/mk_invlists.pl
regen/reentr.pl
regen/regcharclass.pl
regen/warnings.pl
regexec.c
regexp.h
regnodes.h
sv.c
sv.h
symbian/config.sh
symbian/symbianish.h
t/base/lex.t
t/io/eintr.t
t/io/errno.t
t/io/open.t
t/io/semctl.t
t/lib/Cname.pm
t/lib/croak/pp_sys [deleted file]
t/lib/croak/toke
t/lib/strict/subs
t/lib/warnings/7fatal
t/lib/warnings/regcomp
t/lib/warnings/regexec
t/loc_tools.pl
t/op/attrs.t
t/op/bop.t
t/op/chdir.t
t/op/eval.t
t/op/gv.t
t/op/heredoc.t
t/op/hexfp.t
t/op/lc.t
t/op/list.t
t/op/method.t
t/op/pack.t
t/op/sigdispatch.t
t/op/sort.t
t/op/sprintf.t
t/op/sprintf2.t
t/op/sub.t
t/op/tie_fetch_count.t
t/op/time.t
t/porting/customized.dat
t/porting/known_pod_issues.dat
t/re/pat.t
t/re/pat_advanced.t
t/re/pat_rt_report.t
t/re/re_tests
t/re/reg_mesg.t
t/re/regex_sets.t
t/re/subst.t
t/run/locale.t
t/run/switchDx.t [deleted file]
t/win32/crypt.t [deleted file]
toke.c
uconfig.h
uconfig.sh
uconfig64.sh
unicode_constants.h
universal.c
util.c
utils/c2ph.PL
utils/h2ph.PL
utils/h2xs.PL
utils/libnetcfg.PL
utils/perlbug.PL
utils/perldoc.PL
utils/perlivp.PL
utils/splain.PL
vms/descrip_mms.template
vms/vms.c
win32/GNUmakefile [new file with mode: 0644]
win32/Makefile
win32/Makefile.ce
win32/config.ce
win32/config.gc
win32/config.vc
win32/config_H.ce
win32/config_H.gc
win32/config_H.vc
win32/config_h.PL
win32/config_sh.PL
win32/fcrypt.c
win32/makefile.mk
win32/perlexe.manifest
win32/perlhost.h
win32/pod.mak
win32/vdir.h
win32/win32.c
win32/win32.h
win32/wince.c

diff --git a/AUTHORS b/AUTHORS
index 3dce08e..c191a7d 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -102,7 +102,6 @@ Andrew Vignaux                      <ajv@nz.sangacorp.com>
 Andrew Wilcox                  <awilcox@maine.com>
 Andrey Sapozhnikov             <sapa@icb.chel.su>
 Andy Armstrong                 <andy@hexten.net>
-Andy Broad                     <andy@broad.ology.org.uk>
 Andy Bussey                    <andybussey@yahoo.co.uk>
 Andy Dougherty                 <doughera@lafayette.edu>
 Andy Lester                    <andy@petdance.com>
@@ -230,7 +229,6 @@ Chris Heath                 <chris@heathens.co.nz>
 Chris Lightfoot                        <chris@ex-parrot.com>
 Chris Nandor                   <pudge@pobox.com>
 Chris Pepper
-Chris Travers                  <chris.travers@gmail.com>
 Chris Tubutis                  <chris@broadband.att.com>
 Chris Wick                     <cwick@lmc.com>
 Chris Williams                 <chrisw@netinfo.com.au>
@@ -532,7 +530,7 @@ James McCoy                     <vega.james@gmail.com>
 James Raspass                  <jraspass@gmail.com>
 Jamshid Afshar
 Jan D.                         <jan.djarv@mbox200.swipnet.se>
-Jan Dubois                     <jan@jandubois.com>
+Jan Dubois                     <jand@activestate.com>
 Jan Pazdziora                  <adelton@fi.muni.cz>
 Jan Starzynski                 <jan@planet.de>
 Jan-Erik Karlsson              <trg@privat.utfors.se>
@@ -786,6 +784,7 @@ Marko Asplund                       <aspa@merlot.kronodoc.fi>
 Marnix van Ammers              <marnix@gmail.com>
 Martien Verbruggen             <mgjv@comdyn.com.au>
 Martijn Koster                 <mak@excitecorp.com>
+Martijn Lievaart               <m@rtij.nl>
 Martin Hasch                   <mhasch@cpan.org>
 Martin Husemann                        <martin@duskware.de>
 Martin J. Bligh                        <mbligh@us.ibm.com>
@@ -1210,10 +1209,10 @@ Tye McQueen                     <tye@metronet.com>
 Ulrich Habel                   <rhaen@NetBSD.org>
 Ulrich Kunitz                  <kunitz@mai-koeln.com>
 Ulrich Pfeifer                 <pfeifer@wait.de>
+Unicode Consortium              <unicode.org>
 Vadim Konovalov                        <vkonovalov@lucent.com>
 Valeriy E. Ushakov             <uwe@ptc.spbu.ru>
 Vernon Lyon                    <vlyon@cpan.org>
-Victor Adam                    <victor@drawall.cc>
 Victor Efimov                  <victor@vsespb.ru>
 Viktor Turskyi                 <koorchik@gmail.com>
 Ville Skyttä                  <scop@cs132170.pp.htv.fi>
index 5f5f279..ef22432 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -631,7 +631,10 @@ d_log2=''
 d_logb=''
 d_ldexpl=''
 d_longdbl=''
+longdblinfbytes=''
 longdblkind=''
+longdblmantbits=''
+longdblnanbytes=''
 longdblsize=''
 d_longlong=''
 longlongsize=''
@@ -1096,6 +1099,9 @@ d_PRIfldbl=''
 d_PRIgldbl=''
 d_SCNfldbl=''
 doublekind=''
+doubleinfbytes=''
+doublemantbits=''
+doublenanbytes=''
 sPRIEUldbl=''
 sPRIFUldbl=''
 sPRIGUldbl=''
@@ -1174,6 +1180,7 @@ ivsize=''
 ivtype=''
 nv_overflows_integers_at=''
 nv_preserves_uv_bits=''
+nvmantbits=''
 nvsize=''
 nvtype=''
 u16size=''
@@ -1299,7 +1306,6 @@ use64bitall=''
 use64bitint=''
 usecbacktrace=''
 dtrace=''
-dtraceobject=''
 usedtrace=''
 usefaststdio=''
 usekernprocpathname=''
@@ -1455,7 +1461,7 @@ libswanted_uselargefiles=''
 : set usesocks on the Configure command line to enable socks.
 : List of libraries we want.
 : If anyone needs extra -lxxx, put those in a hint file.
-libswanted="cl pthread socket bind inet nsl ndbm gdbm dbm db malloc dl ld"
+libswanted="cl pthread socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld"
 libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD"
 : We probably want to search /usr/shlib before most other libraries.
 : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
@@ -6926,17 +6932,16 @@ int main() {
   }
 #endif
 /* For alignment 32-bit platforms have the 80 bits in 12 bytes,
- * while 64-bits platforms have it in 16 bytes.  The trailing bytes
- * cannot be trusted. */
+ * while 64-bits platforms have it in 16 bytes. */
 #if LDBL_MANT_DIG == 64 && (LONGDBLSIZE == 16 || LONGDBLSIZE == 12)
-  if (b[0] == 0xCD && b[9] == 0xBF) {
+  if (b[0] == 0xCD && b[9] == 0xBF && b[10] == 0x00) {
     /* x86 80-bit little-endian, sizeof 12 (ILP32, Solaris x86)
      * or 16 (LP64, Linux and OS X), 4 or 6 bytes of padding.
      * Also known as "extended precision". */
     printf("3\n");
     exit(0);
   }
-  if (b[0] == 0xBF && b[9] == 0xCD) {
+  if (b[0] == 0xBF && b[9] == 0xCD && b[10] == 0x00) {
     /* is there ever big-endian 80-bit, really? */
     printf("4\n");
     exit(0);
@@ -6946,35 +6951,17 @@ int main() {
   /* software "double double", the 106 is 53+53.
    * but irix thinks it is 107. */
   if (b[0] == 0x9A && b[7] == 0x3C && b[8] == 0x9A && b[15] == 0xBF) {
-    /* double double 128-bit fully little-endian,
-     * little-endian doubles in little-endian order,
+    /* double double 128-bit little-endian,
      * 9a 99 99 99 99 99 59 3c 9a 99 99 99 99 99 b9 bf */
     printf("5\n");
     exit(0);
   }
   if (b[0] == 0xBF && b[7] == 0x9A && b[8] == 0x3C && b[15] == 0x9A) {
-    /* double double 128-bit fully big-endian,
-     * big-endian doubles in big-endian order,
-     * e.g. PPC/Power and MIPS:
+    /* double double 128-bit big-endian, e.g. PPC/Power and MIPS:
      * bf b9 99 99 99 99 99 9a 3c 59 99 99 99 99 99 9a */
     printf("6\n");
     exit(0);
   }
-  if (b[0] == 0x9A && b[7] == 0xBF && b[8] == 0x9A && b[15] == 0x3C) {
-    /* double double 128-bit mixed endian.
-     * little-endian doubles in big-endian order,
-     * e.g. ppc64el,
-     * 9a 99 99 99 99 99 b9 bf 9a 99 99 99 99 99 59 3c */
-    printf("7\n");
-    exit(0);
-  }
-  if (b[0] == 0x3C && b[7] == 0x9A && b[8] == 0xBF && b[15] == 0x9A) {
-    /* double double 128-bit mixed endian,
-     * big-endian doubles in little-endian order,
-     * 3c 59 99 99 99 99 99 9a bf b9 99 99 99 99 99 9a */
-    printf("8\n");
-    exit(0);
-  }
 #endif
   printf("-1\n"); /* unknown */
   exit(0);
@@ -6995,10 +6982,8 @@ case "$longdblkind" in
 2) echo "You have IEEE 754 128-bit big endian long doubles." >&4 ;;
 3) echo "You have x86 80-bit little endian long doubles." >& 4 ;;
 4) echo "You have x86 80-bit big endian long doubles." >& 4 ;;
-5) echo "You have 128-bit fully little-endian double-double long doubles (64-bit LEs in LE)." >& 4 ;;
-6) echo "You have 128-bit fully big-endian double-double long doubles (64-bit BEs in BE)." >& 4 ;;
-7) echo "You have 128-bit mixed double-double long doubles (64-bit LEs in BE)." >& 4 ;;
-8) echo "You have 128-bit mixed double-double long doubles (64-bit BEs in LE)." >& 4 ;;
+5) echo "You have 128-bit little-endian double-double long doubles." >& 4 ;;
+6) echo "You have 128-bit big-endian double-double long doubles." >& 4 ;;
 *) echo "Cannot figure out your long double." >&4 ;;
 esac
 $rm_try
@@ -8125,33 +8110,6 @@ EOM
        esac
 done
 
-case "$usedtrace" in
-$define)
-       case "$dtraceobject" in
-       $define|true|[yY]*)
-               dtraceobject=$define
-               ;;
-       ' '|'')
-               $dtrace -h -s ../perldtrace.d -o perldtrace.h
-               $cat >try.c <<EOM
-#include "perldtrace.h"
-int main(void) {
-    PERL_LOADED_FILE("dummy");
-    return 0;
-}
-EOM
-               dtraceobject=$undef
-               if $cc -c -o try.o $optimize $ccflags try.c \
-                    && $dtrace -G -s ../perldtrace.d try.o ; then
-                       dtraceobject=$define
-                       echo "Your dtrace builds an object file"
-               fi
-               $rm -f try.c try.o perldtrace.o
-               ;;
-       *) dtraceobject=$undef ;;
-       esac
-esac
-
 : See if we want extra modules installed
 echo " "
 case "$extras" in
@@ -10163,6 +10121,174 @@ case "$doublekind" in
 esac
 $rm_try
 
+: see if this is a math.h system
+set math.h i_math
+eval $inhdr
+
+: Check what kind of inf/nan your system has
+$echo "Checking the kind of infinities and nans you have..." >&4
+$cat >try.c <<EOP
+#define DOUBLESIZE $doublesize
+#$d_longdbl HAS_LONG_DOUBLE
+#ifdef HAS_LONG_DOUBLE
+#define LONGDBLSIZE $longdblsize
+#define LONGDBLKIND $longdblkind
+#endif
+#$i_math I_MATH
+#ifdef I_MATH
+#include <math.h>
+#endif
+#include <stdio.h>
+/* Note that whether the sign bit is on or off
+ * for NaN depends on the CPU/FPU, and possibly
+ * can be affected by the build toolchain.
+ *
+ * For example for older MIPS and HP-PA 2.0 the quiet NaN is:
+ * 0x7f, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ * 0x7f, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ * (respectively) as opposed to the more usual
+ * 0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ */
+static void bytes(unsigned char *p, unsigned int n) {
+  int i;
+  for (i = 0; i < n; i++) {
+    printf("0x%02x%s", p[i], i < n - 1 ? ", " : "\n");
+  }
+}
+int main(int argc, char *argv[]) {
+   /* We cannot use 1.0/0.0 and 0.0/0.0 (with L suffixes for long double)
+    * because some compilers are 'smart' and not only warn but refuse to
+    * compile such 'illegal' values. */
+   double dinf = exp(1e9);
+   double dnan = sqrt(-1.0);
+#ifdef HAS_LONG_DOUBLE
+   long double ldinf = (long double)exp(1e9);
+   long double ldnan = (long double)sqrt(-1.0);
+#endif
+  if (argc == 2) {
+    switch (argv[1][0]) {
+    case '1': bytes(&dinf, sizeof(dinf)); break;
+    case '2': bytes(&dnan, sizeof(dnan)); break;
+#ifdef HAS_LONG_DOUBLE
+# if LONG_DOUBLEKIND == 3 || LONG_DOUBLEKIND == 4
+/* the 80-bit long doubles might have garbage in their excess bytes */
+    memset((char *)&ldinf + 10, '\0', LONG_DOUBLESIZE - 10);
+# endif
+    case '3': bytes(&ldinf, sizeof(ldinf)); break;
+    case '4': bytes(&ldnan, sizeof(ldnan)); break;
+#endif
+    }
+  }
+  return 0;
+}
+EOP
+set try
+if eval $compile; then
+    doubleinfbytes=`$run ./try 1`
+    doublenanbytes=`$run ./try 2`
+    case "$d_longdbl" in
+    $define)
+      longdblinfbytes=`$run ./try 3`
+      longdblnanbytes=`$run ./try 4`
+      ;;
+    esac
+else
+    # Defaults in case the above test program failed.
+    case "$doublekind" in
+    1) # IEEE 754 32-bit LE
+       doubleinfbytes='0x00, 0x00, 0xf0, 0x7f'
+       doublenanbytes='0x00, 0x00, 0xf8, 0x7f'
+       ;;
+    2) # IEEE 754 32-bit BE
+       doubleinfbytes='0x7f, 0xf0, 0x00, 0x00'
+       doublenanbytes='0x7f, 0xf8, 0x00, 0x00'
+       ;;
+    3) # IEEE 754 64-bit LE
+       doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
+       doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'
+       ;;
+    4) # IEEE 754 64-bit BE
+       doubleinfbytes='0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+       doublenanbytes='0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+       ;;
+    5) # IEEE 754 128-bit LE
+       doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
+       doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'
+       ;;
+    6) # IEEE 754 128-bit BE
+       doubleinfbytes='0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+       doublenanbytes='0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+       ;;
+    7) # IEEE 754 64-bit mixed: 32-bit LEs in BE
+       doubleinfbytes='0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0x00, 0x00'
+       doublenanbytes='0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00'
+       ;;
+    8) # IEEE 754 64-bit mixed: 32-bit BEs in LE
+       doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00'
+       doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00'
+       ;;
+    *) # No idea.
+       doubleinfbytes=$undef
+       doublenanbytes=$undef
+       ;;
+    esac
+    case "$longdblkind" in
+    1) # IEEE 754 128-bit LE
+       longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f'
+       longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f'
+       ;;
+    2) # IEEE 754 128-bit BE
+       longdblinfbytes='0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+       longdblnanbytes='0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+       ;;
+    3) # IEEE 754 80-bit LE, 12 or 16 bytes (x86)
+       case "$longdblsize" in
+       12) # x86 32-bit (96 bits, or 4 x 32, or 12 x 8)
+           longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00'
+           longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0x00'
+           ;;
+       16) # x86_64
+           longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+           longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+           ;;
+       *) # No idea.
+          longdblinfbytes=$undef
+          longdlnan=$undef
+       ;;
+       esac
+       ;;
+    4) # IEEE 754 80-bit BE, 12 or 16 bytes
+       case "$longdblsize" in
+       12) # 32-bit system
+           longdblinfbytes='0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+           longdblnanbytes='0x7f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+           ;;
+       16) # 64-bit system
+           longdblinfbytes='0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+           longdblnanbytes='0x7f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+           ;;
+       *) # No idea.
+          longdblinfbytes=$undef
+          longdlnan=$undef
+       ;;
+       esac
+       ;;
+    5) # 128-bit LE "double double"
+       longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
+       longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'
+       ;;
+    6) # 128-bit BE "double double"
+       longdblinfbytes='0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+       longdblnanbytes='0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+       ;;
+    *) # No idea.
+       longdblinfbytes=$undef
+       longdlnan=$undef
+       ;;
+    esac
+fi
+$rm_try
+
 : Check print/scan long double stuff
 echo " "
 
@@ -18636,6 +18762,94 @@ set d_signbit
 eval $setvar
 $rm_try
 
+$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
+#ifdef I_SUNMATH
+# include <sunmath.h>
+#endif
+#ifdef DBL_MANT_DIG
+# define BITS (DBL_MANT_DIG - 1) /* the implicit bit does not count */
+#endif
+#include <stdio.h>
+int main(int argc, char *argv[]) {
+#ifdef BITS
+  printf("%d\n", BITS);
+#endif
+  return 0;
+}
+EOP
+set try
+if eval $compile; then
+    doublemantbits=`$run ./try`
+else
+    doublemantbits="$undef"
+fi
+$rm_try
+
+$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
+#ifdef I_SUNMATH
+# include <sunmath.h>
+#endif
+#$d_longdbl HAS_LONG_DOUBLE
+#if defined(HAS_LONG_DOUBLE) && defined(LDBL_MANT_DIG)
+# if ($longdblkind == 3) || ($longdblkind == 4) /* 80-bit extended precision */
+/* This format has no implicit bit.  Beware, however, that for
+ * this format the bare LDBL_MANT_DIG is misleading for inf/nan:
+ * the top three bits are used for inf (100) / qnan (11x) / snan (101),
+ * and the top bit must have been one since 387, zero is plain invalid.
+ * For normal fp values, the LDBL_MANT_DIG is fine, though. */
+#  define BITS LDBL_MANT_DIG
+# elif ($longdblkind == 5 || $longdblkind == 6) /* double double */
+/* LDBL_MANT_DIG of 106 (twice 53) would be logical, but for some
+ * reason e.g. Irix thinks 107.  But in any case, we want only
+ * the number of real bits, the implicit bits are of no interest.  */
+#  define BITS 2 * (DBL_MANT_DIG - 1)
+# else
+#  define BITS (LDBL_MANT_DIG - 1) /* the implicit bit does not count */
+# endif
+#endif
+#include <stdio.h>
+int main(int argc, char *argv[]) {
+#ifdef BITS
+  printf("%d\n", BITS);
+#endif
+  return 0;
+}
+EOP
+set try
+if eval $compile; then
+    longdblmantbits=`$run ./try`
+else
+    longdblmantbits="$undef"
+fi
+$rm_try
+
+$echo "Checking how many mantissa bits your NVs have..." >&4
+if test "X$usequadmath" = "X$define"; then
+  nvmantbits=112 # 128-1-15
+else
+  if test "X$nvsize" = "X$doublesize"; then
+    nvmantbits="$doublemantbits"
+  else
+     if test "X$nvsize" = "X$longdblsize"; then
+       nvmantbits="$longdblmantbits"
+     else
+       nvmantbits="$undef"
+     fi
+  fi
+fi
+
 : see if sigprocmask exists
 set sigprocmask d_sigprocmask
 eval $inlibc
@@ -23010,7 +23224,7 @@ fi
 
 : add -D_FORTIFY_SOURCE if feasible and not already there
 case "$gccversion" in
-[45].*)        case "$optimize$ccflags" in
+4.*)   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
@@ -23020,11 +23234,11 @@ case "$gccversion" in
                        ;;
                esac
                ;;
-       *)      echo "You have gcc 4.* or later but not optimizing, not adding -D_FORTIFY_SOURCE." >&4
+       *)      echo "You have gcc 4.* but not optimizing, not adding -D_FORTIFY_SOURCE." >&4
                ;;
        esac
        ;;
-*)     echo "You seem not to have gcc 4.* or later, not adding -D_FORTIFY_SOURCE." >&4
+*)     echo "You seem not to have gcc 4.*, not adding -D_FORTIFY_SOURCE." >&4
        ;;
 esac
 
@@ -24335,12 +24549,14 @@ db_version_patch='$db_version_patch'
 direntrytype='$direntrytype'
 dlext='$dlext'
 dlsrc='$dlsrc'
+doubleinfbytes='$doubleinfbytes'
 doublekind='$doublekind'
+doublemantbits='$doublemantbits'
+doublenanbytes='$doublenanbytes'
 doublesize='$doublesize'
 drand01='$drand01'
 drand48_r_proto='$drand48_r_proto'
 dtrace='$dtrace'
-dtraceobject='$dtraceobject'
 dynamic_ext='$dynamic_ext'
 eagain='$eagain'
 ebcdic='$ebcdic'
@@ -24584,7 +24800,10 @@ lns='$lns'
 localtime_r_proto='$localtime_r_proto'
 locincpth='$locincpth'
 loclibpth='$loclibpth'
+longdblinfbytes='$longdblinfbytes'
 longdblkind='$longdblkind'
+longdblmantbits='$longdblmantbits'
+longdblnanbytes='$longdblnanbytes'
 longdblsize='$longdblsize'
 longlongsize='$longlongsize'
 longsize='$longsize'
@@ -24637,6 +24856,7 @@ nv_preserves_uv_bits='$nv_preserves_uv_bits'
 nveformat='$nveformat'
 nvfformat='$nvfformat'
 nvgformat='$nvgformat'
+nvmantbits='$nvmantbits'
 nvsize='$nvsize'
 nvtype='$nvtype'
 o_nonblock='$o_nonblock'
index 9301673..3d1eb4d 100644 (file)
@@ -33,11 +33,11 @@ ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
 api_subversion='0'
-api_version='22'
-api_versionstring='5.22.0'
+api_version='23'
+api_versionstring='5.23.0'
 ar='ar'
-archlib='/usr/lib/perl5/5.22.3/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.22.3/armv4l-linux'
+archlib='/usr/lib/perl5/5.23.0/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.23.0/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -56,7 +56,7 @@ castflags='0'
 cat='cat'
 cc='cc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.22.3/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.23.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'
@@ -612,7 +612,10 @@ db_version_patch=''
 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'
@@ -793,7 +796,7 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.22.3/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.23.0/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -801,13 +804,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
 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.22.3'
+installprivlib='./install_me_here/usr/lib/perl5/5.23.0'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.22.3/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.23.0/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.22.3'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.23.0'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -853,7 +856,10 @@ 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'
+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'
@@ -907,6 +913,7 @@ nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
@@ -937,8 +944,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.22.3'
-privlibexp='/usr/lib/perl5/5.22.3'
+privlib='/usr/lib/perl5/5.23.0'
+privlibexp='/usr/lib/perl5/5.23.0'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -1003,17 +1010,17 @@ 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
 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.22.3/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.22.3/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.23.0/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.23.0/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.22.3'
+sitelib='/usr/lib/perl5/site_perl/5.23.0'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.22.3'
+sitelibexp='/usr/lib/perl5/site_perl/5.23.0'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -1052,7 +1059,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='3'
+subversion='0'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1144,8 +1151,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.22.3'
-version_patchlevel_string='version 22 subversion 3'
+version='5.23.0'
+version_patchlevel_string='version 23 subversion 0'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1158,10 +1165,10 @@ config_arg0='Configure'
 config_args=''
 config_argc=0
 PERL_REVISION=5
-PERL_VERSION=22
-PERL_SUBVERSION=3
+PERL_VERSION=23
+PERL_SUBVERSION=0
 PERL_API_REVISION=5
-PERL_API_VERSION=22
+PERL_API_VERSION=23
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
index 213f50e..dd1de07 100644 (file)
@@ -33,11 +33,11 @@ ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
 api_subversion='0'
-api_version='22'
-api_versionstring='5.22.0'
+api_version='23'
+api_versionstring='5.23.0'
 ar='ar'
-archlib='/usr/lib/perl5/5.22.3/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.22.3/armv4l-linux'
+archlib='/usr/lib/perl5/5.23.0/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.23.0/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -55,7 +55,7 @@ castflags='0'
 cat='cat'
 cc='arm-none-linux-gnueabi-gcc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.22.3/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.23.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'
@@ -699,7 +699,7 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.22.3/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.23.0/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -707,13 +707,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
 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.22.3'
+installprivlib='./install_me_here/usr/lib/perl5/5.23.0'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.22.3/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.23.0/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.22.3'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.23.0'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -841,8 +841,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.22.3'
-privlibexp='/usr/lib/perl5/5.22.3'
+privlib='/usr/lib/perl5/5.23.0'
+privlibexp='/usr/lib/perl5/5.23.0'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -903,17 +903,17 @@ 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
 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.22.3/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.22.3/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.23.0/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.23.0/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.22.3'
+sitelib='/usr/lib/perl5/site_perl/5.23.0'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.22.3'
+sitelibexp='/usr/lib/perl5/site_perl/5.23.0'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -950,7 +950,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='3'
+subversion='0'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1035,8 +1035,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.22.3'
-version_patchlevel_string='version 22 subversion 3'
+version='5.23.0'
+version_patchlevel_string='version 23 subversion 0'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1049,10 +1049,10 @@ config_arg0='Configure'
 config_args=''
 config_argc=0
 PERL_REVISION=5
-PERL_VERSION=22
-PERL_SUBVERSION=3
+PERL_VERSION=23
+PERL_SUBVERSION=0
 PERL_API_REVISION=5
-PERL_API_VERSION=22
+PERL_API_VERSION=23
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
diff --git a/INSTALL b/INSTALL
index a814364..63e54c8 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -89,9 +89,8 @@ potential incompatibilities introduced with this release.  A few of
 the most important issues are listed below, but you should refer
 to pod/perldelta.pod for more detailed information.
 
-B<WARNING:> This version is not binary compatible with versions of Perl
-earlier than 5.22.0.
-If you have built extensions (i.e. modules that include C code)
+B<WARNING:> This version is not binary compatible with earlier versions
+of Perl.  If you have built extensions (i.e. modules that include C code)
 using an earlier version of Perl, you will need to rebuild and reinstall
 those extensions.
 
@@ -333,6 +332,9 @@ this support (if it is available).
 Note that the exact format and range of long doubles varies:
 the most common is the x86 80-bit (64 bits of mantissa) format,
 but there are others, with different mantissa and exponent ranges.
+In fact, the type may not be called "long double" at C level, and
+therefore the C<uselongdouble> means "using floating point larger
+than double".
 
 =head3 "more bits"
 
@@ -582,7 +584,7 @@ The directories set up by Configure fall into three broad categories.
 
 =item Directories for the perl distribution
 
-By default, Configure will use the following directories for 5.22.3.
+By default, Configure will use the following directories for 5.23.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
@@ -2441,8 +2443,7 @@ http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
 
 =head1 Coexistence with earlier versions of perl 5
 
-Perl 5.22.3 is not binary compatible with versions of Perl earlier than
-5.22.0.
+Perl 5.23.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
@@ -2517,9 +2518,9 @@ won't interfere with another version.  (The defaults guarantee this for
 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.22.3
+       sh Configure -Dprefix=/opt/perl5.23.0
 
-and adding /opt/perl5.22.3/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.23.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.
 
@@ -2534,11 +2535,11 @@ yet.
 
 =head2 Upgrading from 5.21.11 or earlier
 
-B<Perl 5.22.3 may not be binary compatible with Perl 5.21.11 or
+B<Perl 5.23.0 may not be binary compatible with Perl 5.21.11 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.22.3.  If you find you do need to rebuild an extension with
-5.22.3, you may safely do so without disturbing the older
+used with 5.23.0.  If you find you do need to rebuild an extension with
+5.23.0, you may safely do so without disturbing the older
 installations.  (See L<"Coexistence with earlier versions of perl 5">
 above.)
 
@@ -2571,15 +2572,15 @@ Firstly, the bare minimum to run this script
      print("$f\n");
   }
 
-in Linux with perl-5.22.3 is as follows (under $Config{prefix}):
+in Linux with perl-5.23.0 is as follows (under $Config{prefix}):
 
   ./bin/perl
-  ./lib/perl5/5.22.3/strict.pm
-  ./lib/perl5/5.22.3/warnings.pm
-  ./lib/perl5/5.22.3/i686-linux/File/Glob.pm
-  ./lib/perl5/5.22.3/feature.pm
-  ./lib/perl5/5.22.3/XSLoader.pm
-  ./lib/perl5/5.22.3/i686-linux/auto/File/Glob/Glob.so
+  ./lib/perl5/5.23.0/strict.pm
+  ./lib/perl5/5.23.0/warnings.pm
+  ./lib/perl5/5.23.0/i686-linux/File/Glob.pm
+  ./lib/perl5/5.23.0/feature.pm
+  ./lib/perl5/5.23.0/XSLoader.pm
+  ./lib/perl5/5.23.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
index a8d6854..d3f87d3 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -47,8 +47,8 @@ cpan/autodie/lib/autodie/hints.pm     Hinting interface for autodie
 cpan/autodie/lib/autodie.pm            Functions succeed or die with lexical scope
 cpan/autodie/lib/autodie/Scope/Guard.pm
 cpan/autodie/lib/autodie/Scope/GuardStack.pm
-cpan/autodie/lib/autodie/ScopeUtil.pm
 cpan/autodie/lib/autodie/skip.pm
+cpan/autodie/lib/autodie/Util.pm
 cpan/autodie/lib/Fatal.pm              Make errors in functions/builtins fatal
 cpan/autodie/t/00-load.t               autodie - basic load
 cpan/autodie/t/args.t
@@ -299,6 +299,7 @@ cpan/CPAN-Meta/t/data-test/META-1_3.yml
 cpan/CPAN-Meta/t/data-test/META-1_4.yml
 cpan/CPAN-Meta/t/data-test/META-2.json
 cpan/CPAN-Meta/t/data-test/META-2.meta
+cpan/CPAN-Meta/t/data-test/preserve-release-status.yml
 cpan/CPAN-Meta/t/data-test/provides-version-missing.json
 cpan/CPAN-Meta/t/data-test/resources.yml
 cpan/CPAN-Meta/t/data-test/restricted-2.json
@@ -326,6 +327,7 @@ cpan/CPAN-Meta/t/repository.t
 cpan/CPAN-Meta/t/save-load.t
 cpan/CPAN-Meta/t/validator.t
 cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm              CPAN-Meta-YAML files
+cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd
 cpan/CPAN-Meta-YAML/t/01_api.t
 cpan/CPAN-Meta-YAML/t/01_compile.t             CPAN-Meta-YAML files
 cpan/CPAN-Meta-YAML/t/10_read.t
@@ -337,6 +339,7 @@ cpan/CPAN-Meta-YAML/t/21_yamlpm_compat.t
 cpan/CPAN-Meta-YAML/t/30_yaml_spec_tml.t
 cpan/CPAN-Meta-YAML/t/31_local_tml.t
 cpan/CPAN-Meta-YAML/t/32_world_tml.t
+cpan/CPAN-Meta-YAML/t/86_fail.t
 cpan/CPAN-Meta-YAML/t/data/ascii.yml
 cpan/CPAN-Meta-YAML/t/data/latin1.yml
 cpan/CPAN-Meta-YAML/t/data/multibyte.yml               CPAN-Meta-YAML files
@@ -351,6 +354,7 @@ cpan/CPAN-Meta-YAML/t/tml-local/dump-error/circular.tml
 cpan/CPAN-Meta-YAML/t/tml-local/load-error/document.tml
 cpan/CPAN-Meta-YAML/t/tml-local/load-error/scalar.tml
 cpan/CPAN-Meta-YAML/t/tml-local/load-error/tag.tml
+cpan/CPAN-Meta-YAML/t/tml-local/load-warning/document.tml
 cpan/CPAN-Meta-YAML/t/tml-local/perl-to-yaml/quoting.tml
 cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/collection.tml
 cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/comment.tml
@@ -859,6 +863,7 @@ cpan/Encode/t/gb2312.utf            test data
 cpan/Encode/t/grow.t                   test script
 cpan/Encode/t/gsm0338.t                        test script
 cpan/Encode/t/guess.t                  test script
+cpan/Encode/t/isa.t
 cpan/Encode/t/jis7-fallback.t          test script
 cpan/Encode/t/jisx0201.enc             test data
 cpan/Encode/t/jisx0201.utf             test data
@@ -1228,6 +1233,7 @@ cpan/HTTP-Tiny/corpus/redirect-06.txt
 cpan/HTTP-Tiny/corpus/redirect-07.txt
 cpan/HTTP-Tiny/corpus/redirect-08.txt
 cpan/HTTP-Tiny/corpus/redirect-09.txt
+cpan/HTTP-Tiny/corpus/redirect-10.txt
 cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
 cpan/HTTP-Tiny/t/000_load.t
 cpan/HTTP-Tiny/t/001_api.t
@@ -1517,7 +1523,6 @@ cpan/libnet/t/time.t              libnet
 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/Constants.pod       Locale::Codes documentation
 cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm    Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes/Country.pm  Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes/Country.pod Locale::Codes documentation
@@ -1692,17 +1697,17 @@ cpan/parent/t/parent-classfromfile.t            tests for parent.pm
 cpan/parent/t/parent-pmc.t                     tests for parent.pm
 cpan/parent/t/parent-returns-false.t           tests for parent.pm
 cpan/parent/t/parent.t                         tests for parent.pm
+cpan/Parse-CPAN-Meta/corpus/BadMETA.yml
+cpan/Parse-CPAN-Meta/corpus/bareyaml.meta
+cpan/Parse-CPAN-Meta/corpus/json.meta
+cpan/Parse-CPAN-Meta/corpus/META-VR.json
+cpan/Parse-CPAN-Meta/corpus/META-VR.yml
+cpan/Parse-CPAN-Meta/corpus/yaml.meta
 cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm
 cpan/Parse-CPAN-Meta/t/02_api.t
 cpan/Parse-CPAN-Meta/t/03_functions.t
 cpan/Parse-CPAN-Meta/t/04_export.t
 cpan/Parse-CPAN-Meta/t/05_errors.t
-cpan/Parse-CPAN-Meta/t/data/BadMETA.yml
-cpan/Parse-CPAN-Meta/t/data/bareyaml.meta
-cpan/Parse-CPAN-Meta/t/data/json.meta
-cpan/Parse-CPAN-Meta/t/data/META-VR.json
-cpan/Parse-CPAN-Meta/t/data/META-VR.yml
-cpan/Parse-CPAN-Meta/t/data/yaml.meta
 cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm
 cpan/perlfaq/lib/perlfaq1.pod          General Questions About Perl
 cpan/perlfaq/lib/perlfaq2.pod  Obtaining and Learning about Perl
@@ -1870,6 +1875,7 @@ cpan/Pod-Simple/t/20_skip.t                               Pod::Simple test file
 cpan/Pod-Simple/t/accept01.t                           Pod::Simple test file
 cpan/Pod-Simple/t/accept05.t                           Pod::Simple test file
 cpan/Pod-Simple/t/ac_d.t                               Pod::Simple test file
+cpan/Pod-Simple/t/ascii_order.pl
 cpan/Pod-Simple/t/basic.t                              Pod::Simple test file
 cpan/Pod-Simple/t/begin.t                              Pod::Simple test file
 cpan/Pod-Simple/t/cbacks.t                             Pod::Simple test file
@@ -2034,10 +2040,16 @@ cpan/Pod-Simple/t/xhtml-bkb.t
 cpan/Pod-Simple/t/x_nixer.t                            Pod::Simple test file
 cpan/Pod-Usage/lib/Pod/Usage.pm
 cpan/Pod-Usage/scripts/pod2usage.PL
+cpan/Pod-Usage/t/pod/headwithmarkup.pl
+cpan/Pod-Usage/t/pod/headwithmarkup.t
 cpan/Pod-Usage/t/pod/p2u_data.pl
 cpan/Pod-Usage/t/pod/pod2usage2.t
 cpan/Pod-Usage/t/pod/pod2usage.t
 cpan/Pod-Usage/t/pod/pod2usage.xr
+cpan/Pod-Usage/t/pod/selectheaders.pl
+cpan/Pod-Usage/t/pod/selectheaders.t
+cpan/Pod-Usage/t/pod/selectsections.pl
+cpan/Pod-Usage/t/pod/selectsections.t
 cpan/Pod-Usage/t/pod/testcmp.pl
 cpan/Pod-Usage/t/pod/testp2pt.pl
 cpan/Pod-Usage/t/pod/usage2.pod
@@ -2548,12 +2560,14 @@ cpan/Time-Piece/Piece.pm        Time::Piece extension
 cpan/Time-Piece/Piece.xs       Time::Piece extension
 cpan/Time-Piece/Seconds.pm     Time::Piece extension
 cpan/Time-Piece/t/01base.t     Test for Time::Piece
+cpan/Time-Piece/t/02core_dst.t
 cpan/Time-Piece/t/02core.t     Test for Time::Piece
 cpan/Time-Piece/t/03compare.t  Test for Time::Piece
 cpan/Time-Piece/t/04mjd.t      Test for Time::Piece
 cpan/Time-Piece/t/05overload.t Test for Time::Piece
 cpan/Time-Piece/t/06subclass.t Test for Time::Piece
 cpan/Time-Piece/t/07arith.t    Test for Time::Piece
+cpan/Time-Piece/t/lib/Time/Piece/Twin.pm
 cpan/Unicode-Collate/Collate/allkeys.txt       Unicode::Collate
 cpan/Unicode-Collate/Collate/CJK/Big5.pm                       Unicode::Collate
 cpan/Unicode-Collate/Collate/CJK/GB2312.pm                     Unicode::Collate
@@ -3965,7 +3979,6 @@ 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/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
-ext/XS-APItest/t/win32.t       Test Win32 specific APIs
 ext/XS-APItest/t/xs_special_subs_require.t     for require too
 ext/XS-APItest/t/xs_special_subs.t     Test that XS BEGIN/CHECK/INIT/END work
 ext/XS-APItest/t/xsub_h.t      Tests for XSUB.h
@@ -4229,6 +4242,7 @@ lib/perl5db/t/source-cmd-test.perldb              Tests for the Perl debugger
 lib/perl5db/t/symbol-table-bug Tests for the Perl debugger
 lib/perl5db/t/taint            Tests for the Perl debugger
 lib/perl5db/t/test-a-statement-1       Tests for the Perl debugger
+lib/perl5db/t/test-a-statement-2       Tests for the Perl debugger
 lib/perl5db/t/test-dieLevel-option-1   Tests for the Perl debugger
 lib/perl5db/t/test-frame-option-1      Tests for the Perl debugger
 lib/perl5db/t/test-l-statement-1       Tests for the Perl debugger
@@ -4315,7 +4329,7 @@ lib/unicore/extracted/DNumType.txt                Unicode character database
 lib/unicore/extracted/DNumValues.txt           Unicode character database
 lib/unicore/HangulSyllableType.txt             Unicode character database
 lib/unicore/Index.txt                          Unicode character database
-lib/unicore/IndicMatraCategory.txt             Unicode character database
+lib/unicore/IndicPositionalCategory.txt                Unicode character database
 lib/unicore/IndicSyllabicCategory.txt          Unicode character database
 lib/unicore/Jamo.txt                           Unicode character database
 lib/unicore/LineBreak.txt                      Unicode character database
@@ -4566,10 +4580,7 @@ pod/perl5184delta.pod            Perl changes in version 5.18.4
 pod/perl5200delta.pod          Perl changes in version 5.20.0
 pod/perl5201delta.pod          Perl changes in version 5.20.1
 pod/perl5202delta.pod          Perl changes in version 5.20.2
-pod/perl5203delta.pod          Perl changes in version 5.20.3
 pod/perl5220delta.pod          Perl changes in version 5.22.0
-pod/perl5221delta.pod          Perl changes in version 5.22.1
-pod/perl5222delta.pod          Perl changes in version 5.22.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
@@ -4987,7 +4998,6 @@ t/lib/croak/op                    Test croak calls from op.c
 t/lib/croak/pp                 Test croak calls from pp.c
 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.t                  Test calls to Perl_croak() in the C source.
 t/lib/croak/toke               Test croak calls from toke.c
 t/lib/cygwin.t                 Builtin cygwin function tests
@@ -5456,7 +5466,6 @@ t/run/switcha.t                   Test the -a switch
 t/run/switchC.t                        Test the -C switch
 t/run/switchd-78586.t          See whether bug 78586 is fixed
 t/run/switchd.t                        Test the -d switch
-t/run/switchDx.t               Test the -D switch
 t/run/switches.t               Tests for the other switches (-0, -l, -c, -s, -M, -m, -V, -v, -h, -z, -i)
 t/run/switchF1.t               Pathological tests for the -F switch
 t/run/switchF2.t               Pathological tests for the -F switch
@@ -5513,7 +5522,6 @@ t/uni/universal.t         See if Unicode in calls to UNIVERSAL works
 t/uni/upper.t                  See if Unicode casing works
 t/uni/variables.t              See that the rules for variable names work
 t/uni/write.t                  See if Unicode formats work
-t/win32/crypt.t                        Test Win32 crypt for compatibility
 t/win32/fs.t                   Test Win32 link for compatibility
 t/win32/popen.t                        Test for stdout races in backticks, etc
 t/win32/runenv.t               Test if Win* perl honors its env variables
@@ -5602,6 +5610,7 @@ win32/create_perllibst_h.pl       creates perllibst.h file for inclusion from perllib.
 win32/distclean.bat            Remove _ALL_ files not listed here in MANIFEST
 win32/fcrypt.c                 crypt() implementation
 win32/FindExt.pm               Scan for extensions
+win32/GNUmakefile              Win32 makefile for GNU make
 win32/include/arpa/inet.h      Win32 port
 win32/include/dirent.h         Win32 port
 win32/include/netdb.h          Win32 port
index 39fa323..3dce54f 100644 (file)
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
       "perl5-porters@perl.org"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "CPAN::Meta version 2.150001",
+   "generated_by" : "CPAN::Meta version 2.150005",
    "license" : [
       "perl_5"
    ],
          "vxs.inc"
       ]
    },
-   "release_status" : "stable",
+   "release_status" : "unstable",
    "resources" : {
       "bugtracker" : {
          "web" : "https://rt.perl.org/"
          "url" : "http://perl5.git.perl.org/"
       }
    },
-   "version" : "5.022003"
+   "version" : "5.023000",
+   "x_serialization_backend" : "JSON::PP version 2.27300"
 }
index 4af34fe..9dc74ff 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -4,7 +4,7 @@ author:
   - perl5-porters@perl.org
 build_requires: {}
 dynamic_config: 1
-generated_by: 'CPAN::Meta version 2.150001, CPAN::Meta::Converter version 2.150001'
+generated_by: 'CPAN::Meta version 2.150005, CPAN::Meta::Converter version 2.150005'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -112,4 +112,5 @@ resources:
   homepage: http://www.perl.org/
   license: http://dev.perl.org/licenses/
   repository: http://perl5.git.perl.org/
-version: '5.022003'
+version: '5.023000'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.016'
index 21e1205..8f4fbe0 100755 (executable)
@@ -5,7 +5,7 @@
 quote() {
        case "$1" in
        '') echo "''" ;;
-       *)  echo "$1" | sed 's/\([^a-zA-Z0-9.:_\-\/]\)/\\\1/g' ;;
+       *)  echo "$1" | sed 's/\([^a-zA-Z0-9.:_/-]\)/\\\1/g' ;;
        esac
 }
 
@@ -225,13 +225,10 @@ dtrace_o=''
 minidtrace_o=''
 case "$usedtrace" in
 define|true)
-       dtrace_h='perldtrace.h'
-       case "$dtraceobject" in
-       define)
-               dtrace_o='perldtrace$(OBJ_EXT)'
-               minidtrace_o='miniperldtrace$(OBJ_EXT)'
-               ;;
-       esac
+       dtrace_h='perldtrace.h' 
+       $dtrace -G -s perldtrace.d -o perldtrace.tmp >/dev/null 2>&1 \
+               && rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)' \
+               && minidtrace_o='miniperldtrace$(OBJ_EXT)'
        ;;
 esac
 
@@ -495,7 +492,7 @@ mini_obj = $(minindt_obj) $(MINIDTRACE_O)
 ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
 obj = $(ndt_obj) $(DTRACE_O)
 
-perltoc_pod_prereqs = extra.pods pod/perl5223delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
+perltoc_pod_prereqs = extra.pods pod/perl5230delta.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
 
@@ -1023,9 +1020,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
 pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
        $(MINIPERL) pod/perlmodlib.PL -q
 
-pod/perl5223delta.pod: pod/perldelta.pod
-       $(RMS) pod/perl5223delta.pod
-       $(LNS) perldelta.pod pod/perl5223delta.pod
+pod/perl5230delta.pod: pod/perldelta.pod
+       $(RMS) pod/perl5230delta.pod
+       $(LNS) perldelta.pod pod/perl5230delta.pod
 
 extra.pods: $(MINIPERL_EXE)
        -@test ! -f extra.pods || rm -f `cat extra.pods`
@@ -1517,23 +1514,18 @@ esac
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
-# minitest can't depend on lib/Config.pm because that might be where miniperl
+# Can't depend on lib/Config.pm because that might be where miniperl
 # is crashing.
-minitest_prep:
+minitest: $(MINIPERL_EXE)
        -@test -f lib/Config.pm || $(MAKE) lib/Config.pm $(unidatafiles)
        @echo " "
        @echo "You may see some irrelevant test failures if you have been unable"
        @echo "to build lib/Config.pm, or the Unicode data files."
        @echo " "
-       - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE))
-
-MINITEST_TESTS = base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t
-
-minitest: $(MINIPERL_EXE) minitest_prep
-       - cd t && $(RUN_PERL) TEST $(MINITEST_TESTS) </dev/tty
-
-minitest-notty minitest_notty: $(MINIPERL_EXE) minitest_prep
-       - cd t && PERL_SKIP_TTY_TEST=1 $(RUN_PERL) TEST $(MINITEST_TESTS)
+       - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \
+               && $(RUN_PERL) TEST base/*.t comp/*.t cmd/*.t run/*.t \
+               io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t \
+               </dev/tty
 
 # Test via harness
 
index 737921b..20dc34d 100644 (file)
@@ -86,7 +86,7 @@ NLM_VERSION    = 3,20,0
 
 
 # Here comes the CW tools - TO BE FILLED TO BUILD WITH CW -
-MODULE_DESC     = "Perl 5.22.3 for NetWare"
+MODULE_DESC     = "Perl 5.23.0 for NetWare"
 CCTYPE          = CodeWarrior
 C_COMPILER             = mwccnlm -c
 CPP_COMPILER   = mwccnlm
@@ -462,7 +462,7 @@ INST_NW_TOP2 = $(INST_NW_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-INST_VER       = \5.22.3
+INST_VER       = \5.23.0
 
 #
 # Comment this out if you DON'T want your perl installation to have
index 68df99e..e70b4df 100644 (file)
@@ -603,7 +603,10 @@ def_temp='sys:\perl\temp'
 direntrytype='DIR'
 dlext='nlm'
 dlsrc='dl_netware.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'
@@ -827,7 +830,10 @@ lns='copy'
 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'
 longdblkind='3'
+longdblmantbits='64'
+longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
 longdblsize='10'
 longlongsize='8'
 longsize='4'
@@ -882,6 +888,7 @@ nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
index b0d73d8..4ebd1a0 100644 (file)
  *     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.22.3\\lib\\NetWare-x86-multi-thread"              /**/
+#define ARCHLIB "c:\\perl\\5.23.0\\lib\\NetWare-x86-multi-thread"              /**/
 /*#define ARCHLIB_EXP ""       /**/
 
 /* ARCHNAME:
  *     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.22.3\\bin\\NetWare-x86-multi-thread"  /**/
-#define BIN_EXP "c:\\perl\\5.22.3\\bin\\NetWare-x86-multi-thread"      /**/
+#define BIN "c:\\perl\\5.23.0\\bin\\NetWare-x86-multi-thread"  /**/
+#define BIN_EXP "c:\\perl\\5.23.0\\bin\\NetWare-x86-multi-thread"      /**/
 
 /* BYTEORDER:
  *     This symbol holds the hexadecimal constant defined in byteorder,
  */
 #define DOUBLESIZE 8           /**/
 
+/* 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             /**/
+#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 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
+
 /* EBCDIC:
  *     This symbol, if defined, indicates that this system uses
  *     EBCDIC encoding.
  *     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.22.3\\lib\\NetWare-x86-multi-thread"               /**/
+#define SITEARCH "c:\\perl\\site\\5.23.0\\lib\\NetWare-x86-multi-thread"               /**/
 /*#define SITEARCH_EXP ""      /**/
 
 /* SITELIB:
  *     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.22.3\\lib"          /**/
+#define SITELIB "c:\\perl\\site\\5.23.0\\lib"          /**/
 /*#define SITELIB_EXP ""       /**/
 #define SITELIB_STEM ""                /**/
 
index 84385f6..2cd4bb3 100644 (file)
@@ -2840,18 +2840,33 @@ dlsrc (dlsrc.U):
        This variable contains the name of the dynamic loading file that
        will be used with the package.
 
+doubleinfbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the double precision infinity.
+
 doublekind (longdblfio.U):
        This variable, if defined, encodes the type of a double:
-       1 = IEEE 754 32-bit little endian,
-       2 = IEEE 754 32-bit big endian,
-       3 = IEEE 754 64-bit little endian,
-       4 = IEEE 754 64-bit big endian,
-       5 = IEEE 754 128-bit little endian,
-       6 = IEEE 754 128-bit big endian,
-       7 = IEEE 754 64-bit mixed endian le-be,
-       8 = IEEE 754 64-bit mixed endian be-le,
+       1 = IEEE 754 32-bit big little endian,
+       2 = IEEE 754 32-bit big big endian,
+       3 = IEEE 754 64-bit big little endian,
+       4 = IEEE 754 64-bit big big endian,
+       5 = IEEE 754 128-bit big little endian,
+       6 = IEEE 754 128-bit big big endian,
+       7 = IEEE 754 64-bit big mixed endian le-be,
+       8 = IEEE 754 64-bit big mixed endian be-le,
        -1 = unknown format.
 
+doublemantbits (mantbits.U):
+       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.
+
+doublenanbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the double precision not-a-number.
+
 doublesize (doublesize.U):
        This variable contains the value of the DOUBLESIZE symbol, which
        indicates to the C program how many bytes there are in a double.
@@ -2872,9 +2887,6 @@ drand48_r_proto (d_drand48_r.U):
 dtrace (usedtrace.U):
        This variable holds the location of the dtrace executable.
 
-dtraceobject (usedtrace.U):
-       Whether we need to build an object file with the dtrace tool.
-
 dynamic_ext (Extensions.U):
        This variable holds a list of XS extension files we want to
        link dynamically into the package.  It is used by Makefile.
@@ -4079,13 +4091,29 @@ loclibpth (libpth.U):
        libraries.  It is prepended to libpth, and is intended to be easily
        set from the command line.
 
+longdblinfbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the long double precision infinity.
+
 longdblkind (d_longdbl.U):
        This variable, if defined, encodes the type of a long double:
-       0 = double, 1 = IEEE 754 128-bit little endian,
-       2 = IEEE 754 128-bit big endian, 3 = x86 80-bit little endian,
+       0 = double, 1 = IEEE 754 128-bit big little endian,
+       2 = IEEE 754 128-bit big big endian, 3 = x86 80-bit little endian,
        4 = x86 80-bit big endian, 5 = double-double 128-bit little endian,
        6 = double-double 128-bit big endian, -1 = unknown format.
 
+longdblmantbits (longdblmant.U):
+       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.
+
+longdblnanbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the long double precision not-a-number.
+
 longdblsize (d_longdbl.U):
        This variable contains the value of the LONG_DOUBLESIZE symbol, which
        indicates to the C program how many bytes there are in a long double,
@@ -4354,6 +4382,10 @@ nvGUformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl NV using %G-ish floating point format.
 
+nvmantbits (mantbits.U):
+       This variable tells how many bits the mantissa of a Perl NV has,
+       not including the possible implicit bit.
+
 nvsize (perlxv.U):
        This variable is the size of a Perl NV in bytes.
        Note that some floating point formats have unused bytes.
index a9ed05b..ac1e3c2 100755 (executable)
@@ -20,9 +20,9 @@ use File::Glob qw(:case);
     .travis.yml ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
     CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING CONTRIBUTING.mkdn
     COPYING Copying cpanfile CREDITS dist.ini GOALS HISTORY INSTALL INSTALL.SKIP
-    LICENSE Makefile.PL MANIFEST MANIFEST.SKIP META.json META.yml MYMETA.json
-    MYMETA.yml NEW NEWS NOTES perlcritic.rc ppport.h README README.PATCHING
-    SIGNATURE THANKS TODO Todo VERSION WHATSNEW
+    LICENCE LICENSE Makefile.PL MANIFEST MANIFEST.SKIP META.json META.yml
+    MYMETA.json MYMETA.yml NEW NEWS NOTES perlcritic.rc ppport.h README
+    README.PATCHING SIGNATURE THANKS TODO Todo VERSION WHATSNEW
 );
 
 # Each entry in the  %Modules hash roughly represents a distribution,
@@ -125,13 +125,6 @@ use File::Glob qw(:case);
         'EXCLUDED'     => [
             qw(t/07_ptardiff.t),
         ],
-        'CUSTOMIZED'   => [
-            qw(
-               bin/ptar bin/ptardiff bin/ptargrep
-               lib/Archive/Tar.pm lib/Archive/Tar/Constant.pm
-               lib/Archive/Tar/File.pm
-            )
-        ],
     },
 
     'Attribute::Handlers' => {
@@ -140,7 +133,7 @@ use File::Glob qw(:case);
     },
 
     'autodie' => {
-        'DISTRIBUTION' => 'NTHYKIER/autodie-2.26.tar.gz',
+        'DISTRIBUTION' => 'PJF/autodie-2.27.tar.gz',
         'FILES'        => q[cpan/autodie],
         'EXCLUDED'     => [
             qr{benchmarks},
@@ -163,6 +156,8 @@ use File::Glob qw(:case);
                 t/system.t
                 )
         ],
+        # CPAN RT 105344
+        'CUSTOMIZED'   => [ qw[ t/mkdir.t ] ],
     },
 
     'AutoLoader' => {
@@ -283,17 +278,12 @@ use File::Glob qw(:case);
                 t/yaml_code.yml
                 ),
         ],
-        'CUSTOMIZED'   => [
-            qw( lib/CPAN.pm ),
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( lib/App/Cpan.pm scripts/cpan )
-        ],
     },
 
     # Note: When updating CPAN-Meta the META.* files will need to be regenerated
     # perl -Icpan/CPAN-Meta/lib Porting/makemeta
     'CPAN::Meta' => {
-        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150001.tar.gz',
+        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150005.tar.gz',
         'FILES'        => q[cpan/CPAN-Meta],
         'EXCLUDED'     => [
             qw[t/00-report-prereqs.t],
@@ -305,10 +295,9 @@ use File::Glob qw(:case);
     },
 
     'CPAN::Meta::Requirements' => {
-        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.132.tar.gz',
+        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.133.tar.gz',
         'FILES'        => q[cpan/CPAN-Meta-Requirements],
         'EXCLUDED'     => [
-            qw(CONTRIBUTING.mkdn),
             qw(t/00-report-prereqs.t),
             qw(t/00-report-prereqs.dd),
             qw(t/version-cleanup.t),
@@ -317,12 +306,11 @@ use File::Glob qw(:case);
     },
 
     'CPAN::Meta::YAML' => {
-        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz',
+        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.016.tar.gz',
         'FILES'        => q[cpan/CPAN-Meta-YAML],
         'EXCLUDED'     => [
-            't/00-compile.t',
             't/00-report-prereqs.t',
-            't/04_scalar.t',    # requires YAML.pm
+            't/00-report-prereqs.dd',
             qr{^xt},
         ],
     },
@@ -365,10 +353,6 @@ use File::Glob qw(:case);
         'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
         'FILES'        => q[cpan/Digest],
         'EXCLUDED'     => ['digest-bench'],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( Digest.pm )
-        ],
     },
 
     'Digest::MD5' => {
@@ -386,10 +370,6 @@ use File::Glob qw(:case);
                 examples/dups
                 ),
         ],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( lib/Digest/SHA.pm shasum )
-        ],
     },
 
     'Dumpvalue' => {
@@ -399,15 +379,8 @@ use File::Glob qw(:case);
     },
 
     'Encode' => {
-        'DISTRIBUTION' => 'DANKOGAI/Encode-2.72.tar.gz',
+        'DISTRIBUTION' => 'DANKOGAI/Encode-2.73.tar.gz',
         'FILES'        => q[cpan/Encode],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw(
-               Encode.pm bin/enc2xs bin/encguess bin/piconv
-               bin/ucmlint bin/unidump
-            )
-        ],
     },
 
     'encoding::warnings' => {
@@ -435,7 +408,7 @@ use File::Glob qw(:case);
     },
 
     'Exporter' => {
-        'DISTRIBUTION' => 'TODDR/Exporter-5.70.tar.gz',
+        'DISTRIBUTION' => 'TODDR/Exporter-5.72.tar.gz',
         'FILES'        => q[dist/Exporter],
         'EXCLUDED' => [
             qw( t/pod.t
@@ -445,7 +418,7 @@ use File::Glob qw(:case);
     },
 
     'ExtUtils::CBuilder' => {
-        'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280220.tar.gz',
+        'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280223.tar.gz',
         'FILES'        => q[dist/ExtUtils-CBuilder],
         'EXCLUDED'     => [
             qw(README.mkdn),
@@ -457,10 +430,6 @@ use File::Glob qw(:case);
         'DISTRIBUTION' => 'BINGOS/ExtUtils-Command-1.20.tar.gz',
         'FILES'        => q[cpan/ExtUtils-Command],
         'EXCLUDED'     => [qr{^xt/}],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( lib/ExtUtils/Command.pm )
-        ],
     },
 
     'ExtUtils::Constant' => {
@@ -538,10 +507,7 @@ use File::Glob qw(:case);
                                 lib/ExtUtils/MakeMaker/version/vpp.pm
                                 lib/ExtUtils/Mkbootstrap.pm
                                 lib/ExtUtils/Mksymlists.pm
-                                lib/ExtUtils/testlib.pm ],
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( bin/instmodsh )
-        ],
+                                lib/ExtUtils/testlib.pm ] ],
     },
 
     'ExtUtils::Manifest' => {
@@ -561,10 +527,6 @@ use File::Glob qw(:case);
     'File::Fetch' => {
         'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz',
         'FILES'        => q[cpan/File-Fetch],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( lib/File/Fetch.pm )
-        ],
     },
 
     'File::Path' => {
@@ -638,7 +600,7 @@ use File::Glob qw(:case);
     },
 
     'Getopt::Long' => {
-        'DISTRIBUTION' => 'JV/Getopt-Long-2.45.tar.gz',
+        'DISTRIBUTION' => 'JV/Getopt-Long-2.46.tar.gz',
         'FILES'        => q[cpan/Getopt-Long],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -650,7 +612,7 @@ use File::Glob qw(:case);
     },
 
     'HTTP::Tiny' => {
-        'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.054.tar.gz',
+        'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.056.tar.gz',
         'FILES'        => q[cpan/HTTP-Tiny],
         'EXCLUDED'     => [
             't/00-report-prereqs.t',
@@ -661,11 +623,7 @@ use File::Glob qw(:case);
             qr/^eg/,
             qr/^xt/
         ],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( lib/HTTP/Tiny.pm )
-        ],
-   },
+    },
 
     'I18N::Collate' => {
         'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
@@ -698,37 +656,6 @@ use File::Glob qw(:case);
             't/010examples-zlib.t',
             't/cz-05examples.t',
         ],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw(
-               bin/zipdetails lib/Compress/Zlib.pm
-               lib/IO/Compress/Adapter/Bzip2.pm
-               lib/IO/Compress/Adapter/Deflate.pm
-               lib/IO/Compress/Adapter/Identity.pm
-               lib/IO/Compress/Base.pm
-               lib/IO/Compress/Base/Common.pm
-               lib/IO/Compress/Bzip2.pm
-               lib/IO/Compress/Deflate.pm
-               lib/IO/Compress/Gzip.pm
-               lib/IO/Compress/Gzip/Constants.pm
-               lib/IO/Compress/RawDeflate.pm
-               lib/IO/Compress/Zip.pm
-               lib/IO/Compress/Zip/Constants.pm
-               lib/IO/Compress/Zlib/Constants.pm
-               lib/IO/Compress/Zlib/Extra.pm
-               lib/IO/Uncompress/Adapter/Bunzip2.pm
-               lib/IO/Uncompress/Adapter/Identity.pm
-               lib/IO/Uncompress/Adapter/Inflate.pm
-               lib/IO/Uncompress/AnyInflate.pm
-               lib/IO/Uncompress/AnyUncompress.pm
-               lib/IO/Uncompress/Base.pm
-               lib/IO/Uncompress/Bunzip2.pm
-               lib/IO/Uncompress/Gunzip.pm
-               lib/IO/Uncompress/Inflate.pm
-               lib/IO/Uncompress/RawInflate.pm
-               lib/IO/Uncompress/Unzip.pm
-              )
-        ],
     },
 
     'IO::Socket::IP' => {
@@ -747,10 +674,6 @@ use File::Glob qw(:case);
     'IPC::Cmd' => {
         'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz',
         'FILES'        => q[cpan/IPC-Cmd],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( lib/IPC/Cmd.pm )
-        ],
     },
 
     'IPC::SysV' => {
@@ -766,10 +689,6 @@ use File::Glob qw(:case);
     'JSON::PP' => {
         'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27300.tar.gz',
         'FILES'        => q[cpan/JSON-PP],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( bin/json_pp lib/JSON/PP.pm )
-        ],
     },
 
     'lib' => {
@@ -783,7 +702,7 @@ use File::Glob qw(:case);
     },
 
     'libnet' => {
-        'DISTRIBUTION' => 'SHAY/libnet-3.05.tar.gz',
+        'DISTRIBUTION' => 'SHAY/libnet-3.06.tar.gz',
         'FILES'        => q[cpan/libnet],
         'EXCLUDED'     => [
             qw( Configure
@@ -795,20 +714,10 @@ use File::Glob qw(:case);
             qr(^demos/),
             qr(^t/external/),
         ],
-        'CUSTOMIZED'   => [
-            qw(
-               lib/Net/Cmd.pm lib/Net/Config.pm
-               lib/Net/Domain.pm lib/Net/FTP.pm lib/Net/FTP/A.pm
-               lib/Net/FTP/E.pm lib/Net/FTP/I.pm
-               lib/Net/FTP/L.pm lib/Net/FTP/dataconn.pm
-               lib/Net/NNTP.pm lib/Net/Netrc.pm lib/Net/POP3.pm
-               lib/Net/SMTP.pm lib/Net/Time.pm
-            )
-        ],
     },
 
     'Locale-Codes' => {
-        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.34.tar.gz',
+        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.35.tar.gz',
         'FILES'        => q[cpan/Locale-Codes],
         'EXCLUDED'     => [
             qw( README.first
@@ -837,10 +746,6 @@ use File::Glob qw(:case);
     'Locale::Maketext::Simple' => {
         'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
         'FILES'        => q[cpan/Locale-Maketext-Simple],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( lib/Locale/Maketext/Simple.pm )
-        ],
     },
 
     'Math::BigInt' => {
@@ -907,10 +812,6 @@ use File::Glob qw(:case);
         'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
         'FILES'        => q[cpan/Memoize],
         'EXCLUDED'     => ['article.html'],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( Memoize.pm )
-        ],
     },
 
     'MIME::Base64' => {
@@ -920,7 +821,7 @@ use File::Glob qw(:case);
     },
 
     'Module::CoreList' => {
-        'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150720.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150520.tar.gz',
         'FILES'        => q[dist/Module-CoreList],
     },
 
@@ -940,7 +841,7 @@ use File::Glob qw(:case);
     },
 
     'Module::Metadata' => {
-        'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000026.tar.gz',
+        'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000027.tar.gz',
         'FILES'        => q[cpan/Module-Metadata],
         'EXCLUDED'     => [
             qw(README.md),
@@ -970,19 +871,17 @@ use File::Glob qw(:case);
     },
 
     'parent' => {
-        'DISTRIBUTION' => 'CORION/parent-0.232.tar.gz',
+        'DISTRIBUTION' => 'CORION/parent-0.234.tar.gz',
         'FILES'        => q[cpan/parent],
     },
 
     'Parse::CPAN::Meta' => {
-        'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz',
+        'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4417.tar.gz',
         'FILES'        => q[cpan/Parse-CPAN-Meta],
         'EXCLUDED'     => [
             qw[t/00-report-prereqs.t],
             qr{^xt},
         ],
-        # https://github.com/Perl-Toolchain-Gang/CPAN-Meta/pull/119
-        'CUSTOMIZED'   => [ qw[ lib/Parse/CPAN/Meta.pm t/02_api.t ] ],
     },
 
     'PathTools' => {
@@ -1040,19 +939,22 @@ use File::Glob qw(:case);
         # XXX We can and should fix this, but clean up the DRY-failure in utils
         # first
         'EXCLUDED' => ['perldoc'],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( lib/Pod/Perldoc.pm )
-        ],
     },
 
     'Pod::Simple' => {
-        'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.29.tar.gz',
+        'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.30.tar.gz',
         'FILES'        => q[cpan/Pod-Simple],
+        # https://rt.cpan.org/Public/Bug/Display.html?id=103439
+        # https://rt.cpan.org/Public/Bug/Display.html?id=105192
+        'CUSTOMIZED'   => [
+            qw( cpan/Pod-Simple/lib/Pod/Simple/Search.pm
+                cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm
+            ),
+        ],
     },
 
     'Pod::Usage' => {
-        'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.64.tar.gz',
+        'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.67.tar.gz',
         'FILES'        => q[cpan/Pod-Usage],
     },
 
@@ -1085,8 +987,18 @@ use File::Glob qw(:case);
     },
 
     'Scalar-List-Utils' => {
-        'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.41.tar.gz',
-        'FILES'    => q[cpan/Scalar-List-Utils],
+        'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.42.tar.gz',
+        'FILES'        => q[cpan/Scalar-List-Utils],
+        # Waiting to be merged upstream:
+        # https://github.com/Scalar-List-Utils/Scalar-List-Utils/pull/24
+        'CUSTOMIZED'   => [
+            qw( ListUtil.xs
+                lib/List/Util.pm
+                lib/List/Util/XS.pm
+                lib/Scalar/Util.pm
+                lib/Sub/Util.pm
+                )
+        ],
     },
 
     'Search::Dict' => {
@@ -1101,7 +1013,7 @@ use File::Glob qw(:case);
     },
 
     'Socket' => {
-        'DISTRIBUTION' => 'PEVANS/Socket-2.018.tar.gz',
+        'DISTRIBUTION' => 'PEVANS/Socket-2.019.tar.gz',
         'FILES'        => q[cpan/Socket],
     },
 
@@ -1125,9 +1037,6 @@ use File::Glob qw(:case);
                 win32/PerlLog.RES
                 ),
         ],
-        'CUSTOMIZED'   => [
-            qw( Syslog.pm )
-        ],
     },
 
     'Term::ANSIColor' => {
@@ -1162,10 +1071,6 @@ use File::Glob qw(:case);
     'Test' => {
         'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
         'FILES'        => q[cpan/Test],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw( lib/Test.pm )
-        ],
     },
 
     'Test::Harness' => {
@@ -1185,54 +1090,6 @@ use File::Glob qw(:case);
                 t/lib/if.pm
                 ),
         ],
-        'CUSTOMIZED'   => [
-            # https://rt.perl.org/Ticket/Display.html?id=127834
-            qw(
-               bin/prove lib/App/Prove.pm lib/App/Prove/State.pm
-               lib/App/Prove/State/Result.pm
-               lib/App/Prove/State/Result/Test.pm
-               lib/TAP/Base.pm lib/TAP/Formatter/Base.pm
-               lib/TAP/Formatter/Color.pm
-               lib/TAP/Formatter/Console.pm
-               lib/TAP/Formatter/Console/ParallelSession.pm
-               lib/TAP/Formatter/Console/Session.pm
-               lib/TAP/Formatter/File.pm
-               lib/TAP/Formatter/File/Session.pm
-               lib/TAP/Formatter/Session.pm lib/TAP/Harness.pm
-               lib/TAP/Harness/Env.pm lib/TAP/Object.pm
-               lib/TAP/Parser.pm lib/TAP/Parser/Aggregator.pm
-               lib/TAP/Parser/Grammar.pm
-               lib/TAP/Parser/Iterator.pm
-               lib/TAP/Parser/Iterator/Array.pm
-               lib/TAP/Parser/Iterator/Process.pm
-               lib/TAP/Parser/Iterator/Stream.pm
-               lib/TAP/Parser/IteratorFactory.pm
-               lib/TAP/Parser/Multiplexer.pm
-               lib/TAP/Parser/Result.pm
-               lib/TAP/Parser/Result/Bailout.pm
-               lib/TAP/Parser/Result/Comment.pm
-               lib/TAP/Parser/Result/Plan.pm
-               lib/TAP/Parser/Result/Pragma.pm
-               lib/TAP/Parser/Result/Test.pm
-               lib/TAP/Parser/Result/Unknown.pm
-               lib/TAP/Parser/Result/Version.pm
-               lib/TAP/Parser/Result/YAML.pm
-               lib/TAP/Parser/ResultFactory.pm
-               lib/TAP/Parser/Scheduler.pm
-               lib/TAP/Parser/Scheduler/Job.pm
-               lib/TAP/Parser/Scheduler/Spinner.pm
-               lib/TAP/Parser/Source.pm
-               lib/TAP/Parser/SourceHandler.pm
-               lib/TAP/Parser/SourceHandler/Executable.pm
-               lib/TAP/Parser/SourceHandler/File.pm
-               lib/TAP/Parser/SourceHandler/Handle.pm
-               lib/TAP/Parser/SourceHandler/Perl.pm
-               lib/TAP/Parser/SourceHandler/RawTAP.pm
-               lib/TAP/Parser/YAMLish/Reader.pm
-               lib/TAP/Parser/YAMLish/Writer.pm
-               lib/Test/Harness.pm
-            )
-        ],
     },
 
     'Test::Simple' => {
@@ -1323,7 +1180,7 @@ use File::Glob qw(:case);
     },
 
     'threads' => {
-        'DISTRIBUTION' => 'JDHEDDEN/threads-2.01.tar.gz',
+        'DISTRIBUTION' => 'JDHEDDEN/threads-2.02.tar.gz',
         'FILES'        => q[dist/threads],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -1335,7 +1192,7 @@ use File::Glob qw(:case);
     },
 
     'threads::shared' => {
-        'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.46.tar.gz',
+        'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.48.tar.gz',
         'FILES'        => q[dist/threads-shared],
         'EXCLUDED'     => [
             qw( examples/class.pl
@@ -1370,7 +1227,7 @@ use File::Glob qw(:case);
     },
 
     'Time::Piece' => {
-        'DISTRIBUTION' => 'RJBS/Time-Piece-1.29.tar.gz',
+        'DISTRIBUTION' => 'RJBS/Time-Piece-1.30.tar.gz',
         'FILES'        => q[cpan/Time-Piece],
     },
 
@@ -1433,7 +1290,7 @@ use File::Glob qw(:case);
     },
 
     'Win32' => {
-        'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
+        'DISTRIBUTION' => "JDB/Win32-0.51.tar.gz",
         'FILES'        => q[cpan/Win32],
     },
 
index 383f999..c640d0c 100755 (executable)
@@ -4,6 +4,8 @@ use strict;
 use Getopt::Long qw(:config bundling no_auto_abbrev);
 use Pod::Usage;
 use Config;
+use File::Temp qw(tempdir);
+use File::Spec;
 
 my @targets
     = qw(none config.sh config.h miniperl lib/Config.pm Fcntl perl test_prep);
@@ -64,6 +66,7 @@ unless(GetOptions(\%options,
                   'test-build', 'validate',
                   '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',
                   'A=s@',
                   'D=s@' => sub {
                       my (undef, $val) = @_;
@@ -124,7 +127,7 @@ if (defined $target && $target =~ /\.t\z/) {
 }
 
 pod2usage(exitval => 255, verbose => 1)
-    unless @ARGV || $match || $options{'test-build'} || defined $options{'one-liner'};
+    unless @ARGV || $match || $options{'test-build'} || defined $options{'one-liner'} || defined $options{module};
 pod2usage(exitval => 255, verbose => 1)
     if !$options{'one-liner'} && ($options{l} || $options{w});
 
@@ -160,6 +163,12 @@ bisect.pl - use git bisect to pinpoint changes
  .../Porting/bisect.pl --test-build -Dd_dosuid
  # When did this test program start generating errors from valgrind?
  .../Porting/bisect.pl --valgrind ../test_prog.pl
+ # When did these cpan modules start failing to compile/pass tests?
+ .../Porting/bisect.pl --module=autobox,Moose
+ # When did this code stop working in blead with these modules?
+ .../Porting/bisect.pl --with-module=Moose,Moo -e 'use Moose; 1;'
+ # Like the above 2 but with custom CPAN::MyConfig
+ .../Porting/bisect.pl --module=Moo --cpan-config-dir=/home/blah/custom/
 
 =head1 DESCRIPTION
 
@@ -539,6 +548,69 @@ even link.
 
 =item *
 
+--module module1,module2,...
+
+Install this (or these) module(s), die when it (the last of those)
+cannot be updated to the current version.
+
+Misnomer. the argument can be any argument that can be passed to CPAN
+shell's install command. B<But>: since we only have the uptodate
+command to verify that an install has taken place, we are unable to
+determine success for arguments like
+MSCHWERN/Test-Simple-1.005000_005.tar.gz.
+
+In so far, it is not such a misnomer.
+
+Note that this and I<--with-module> will both require a C<CPAN::MyConfig>.
+If F<$ENV{HOME}/.cpan/CPAN/MyConfig.pm> does not exist, a CPAN shell will
+be started up for you so you can configure one. Feel free to let
+CPAN pick defaults for you. Enter 'quit' when you are done, and
+then everything should be all set. Alternatively, you may
+specify a custom C<CPAN::MyConfig> by using I<--cpan-config-dir>.
+
+Also, if you want to bisect a module that needs a display (like
+TK) and you don't want random screens appearing and disappearing
+on your computer while you're working, you can do something like
+this:
+
+In a terminal:
+
+  $ while true; do date ; if ! ps auxww | grep -v grep | grep -q Xvfb;\
+    then Xvfb :121 & fi; echo -n 'sleeping 60 '; sleep 60; done
+
+And then:
+
+  DISPLAY=":121" .../Porting/bisect.pl --module=TK
+
+(Some display alternatives are vncserver and Xnest.)
+
+=item *
+
+--with-module module1,module2,...
+
+Like I<--module> above, except this simply installs the requested
+modules and they can then be used in other tests.
+
+For example:
+
+  .../Porting/bisect.pl --with-module=Moose -e 'use Moose; ...'
+
+=item *
+
+--cpan-config-dir /home/blah/custom
+
+If defined, this will cause L<CPAN> to look for F<CPAN/MyConfig.pm> inside of
+the specified directory, instead of using the default config of
+F<$ENV{HOME}/.cpan/>.
+
+If no default config exists, a L<CPAN> shell will be fired up for you to
+configure things. Letting L<CPAN> automatically configure things for you
+should work well enough. You probably want to choose I<manual> instead of
+I<local::lib> if it asks. When you're finished with configuration, just
+type I<q> and hit I<ENTER> and the bisect should continue.
+
+=item *
+
 --force-manifest
 
 By default, a build will "skip" if any files listed in F<MANIFEST> are not
@@ -1305,6 +1377,16 @@ foreach my $key (sort keys %defines) {
 }
 push @ARGS, map {"-A$_"} @{$options{A}};
 
+my $prefix;
+
+# Testing a module? We need to install perl/cpan modules to a temp dir
+if ($options{module} || $options{'with-module'}) {
+  $prefix = tempdir(CLEANUP => 1);
+
+  push @ARGS, "-Dprefix=$prefix";
+  push @ARGS, "-Uversiononly", "-Dinstallusrbinperl=n";
+}
+
 # If a file in MANIFEST is missing, Configure asks if you want to
 # continue (the default being 'n'). With stdin closed or /dev/null,
 # it exits immediately and the check for config.sh below will skip.
@@ -1380,6 +1462,62 @@ if ($target ne 'miniperl') {
     system "$options{make} $j $real_target </dev/null";
 }
 
+# Testing a cpan module? See if it will install
+if ($options{module} || $options{'with-module'}) {
+  # First we need to install this perl somewhere
+  system_or_die('./installperl');
+
+  my @m = split(',', $options{module} || $options{'with-module'});
+
+  my $bdir = File::Temp::tempdir(
+    CLEANUP => 1,
+  ) or die $!;
+
+  # Don't ever stop to ask the user for input
+  $ENV{AUTOMATED_TESTING} = 1;
+  $ENV{PERL_MM_USE_DEFAULT} = 1;
+
+  # Don't let these interfere with our cpan installs
+  delete $ENV{PERL_MB_OPT};
+  delete $ENV{PERL_MM_OPT};
+
+  # Make sure we load up our CPAN::MyConfig and then
+  # override the build_dir so we have a fresh one
+  # every build
+  my $cdir = $options{'cpan-config-dir'}
+          || File::Spec->catfile($ENV{HOME},".cpan");
+
+  my @cpanshell = (
+    "$prefix/bin/perl",
+    "-I", "$cdir",
+    "-MCPAN::MyConfig",
+    "-MCPAN",
+    "-e","\$CPAN::Config->{build_dir}=q{$bdir};",
+    "-e",
+  );
+
+  for (@m) {
+    s/-/::/g if /-/ and !m|/|;
+  }
+  my $install = join ",", map { "'$_'" } @m;
+  my $last = $m[-1];
+  my $shellcmd = "install($install); die unless CPAN::Shell->expand(Module => '$last')->uptodate;";
+
+  if ($options{module}) {
+    run_report_and_exit(@cpanshell, $shellcmd);
+  } else {
+    my $ret = run_with_options({setprgp => $options{setpgrp},
+                                timeout => $options{timeout},
+                               }, @cpanshell, $shellcmd);
+    $ret &= 0xff if $options{crash};
+
+    # Failed? Give up
+    if ($ret) {
+      report_and_exit(!$ret, 'zero exit from', 'non-zero exit from', "@_");
+    }
+  }
+}
+
 my $expected_file_found = $expected_file =~ /perl$/
     ? -x $expected_file : -r $expected_file;
 
index 6e52a4c..68d68d1 100755 (executable)
@@ -10,14 +10,37 @@ Documentation for this is in bisect-runner.pl
 # The default, auto_abbrev will treat -e as an abbreviation of --end
 # Which isn't what we want.
 use Getopt::Long qw(:config pass_through no_auto_abbrev);
+use File::Spec;
+use File::Path qw(mkpath);
+
+my ($start, $end, $validate, $usage, $bad, $jobs, $make, $gold,
+    $module, $with_module);
+
+my $need_cpan_config;
+my $cpan_config_dir;
 
-my ($start, $end, $validate, $usage, $bad, $jobs, $make, $gold);
 $bad = !GetOptions('start=s' => \$start, 'end=s' => \$end,
                    'jobs|j=i' => \$jobs, 'make=s' => \$make, 'gold=s' => \$gold,
-                   validate => \$validate, 'usage|help|?' => \$usage);
+                   validate => \$validate, 'usage|help|?' => \$usage,
+                   'module=s' => \$module, 'with-module=s' => \$with_module,
+                   'cpan-config-dir=s' => \$cpan_config_dir);
 unshift @ARGV, '--help' if $bad || $usage;
 unshift @ARGV, '--validate' if $validate;
 
+if ($module || $with_module) {
+  unshift @ARGV, '--module', $module if defined $module;
+  unshift @ARGV, '--with-module', $with_module if defined $with_module;
+
+  if ($cpan_config_dir) {
+    my $c = File::Spec->catfile($cpan_config_dir, 'CPAN', 'MyConfig.pm');
+    die "--cpan-config-dir: $c does not exist\n" unless -e $c;
+
+    unshift @ARGV, '--cpan-config-dir', $cpan_config_dir;
+  } else {
+    $need_cpan_config = 1;
+  }
+}
+
 my $runner = $0;
 $runner =~ s/bisect\.pl/bisect-runner.pl/;
 
@@ -49,6 +72,27 @@ if (!defined $jobs &&
 unshift @ARGV, '--jobs', $jobs if defined $jobs;
 unshift @ARGV, '--make', $make if defined $make;
 
+if ($need_cpan_config) {
+  # Make sure we have a CPAN::MyConfig so if we start at an old
+  # revision CPAN doesn't ask for user input to configure itself
+
+  my $cdir = File::Spec->catdir($ENV{HOME},".cpan","CPAN");
+  my $cfile = File::Spec->catfile($cdir, "MyConfig.pm");
+
+  unless (-e $cfile) {
+    printf <<EOF;
+I could not find a CPAN::MyConfig. We need to create one now so that
+you can bisect with --module or --with-module. I'll boot up the CPAN
+shell for you. Feel free to use defaults or change things as needed.
+We recommend using 'manual' over 'local::lib' if it asks.
+
+Type 'quit' when finished.
+
+EOF
+    system("$^X -MCPAN -e shell");
+  }
+}
+
 # We try these in this order for the start revision if none is specified.
 my @stable = map {chomp $_; $_} grep {/v5\.[0-9]+[02468]\.0$/} `git tag -l`;
 die "git tag -l didn't seem to return any tags for stable releases"
index ad6b81f..0f9a8f6 100755 (executable)
@@ -3,6 +3,7 @@ use strict;
 my ($committer, $patch, $author);
 use utf8;
 use Getopt::Long;
+use Unicode::Collate;
 use Text::Wrap;
 $Text::Wrap::columns = 80;
 
@@ -85,9 +86,9 @@ EOS
 sub list_authors {
     my ($patchers, $authors) = @_;
     binmode(STDOUT, ":utf8");
-    print wrap '', '', join(', ', sort { lc $a cmp lc $b }
+    print wrap '', '', join(', ', Unicode::Collate->new(level => 1)->sort(
                       map { $authors->{$_} }
-                      keys %$patchers) . ".\n";
+                      keys %$patchers)) . ".\n";
 }
 
 sub parse_commits_from_stdin {
@@ -586,7 +587,6 @@ crt\100kiski.net                        perl\100ctweten.amsite.com
 
 dairiki\100dairiki.org                  dairiki at dairiki.org
 dagolden\100cpan.org                    xdaveg\100gmail.com
-+                                       xdg\100xdg.me
 damian\100conway.org                    damian\100cs.monash.edu.au
 dan\100sidhe.org                        sugalsd\100lbcc.cc.or.us
 +                                       sugalskd\100osshe.edu
@@ -645,8 +645,7 @@ ian.goodacre\100xtra.co.nz              ian\100debian.lan
 ingo_weinhold\100gmx.de                 bonefish\100cs.tu-berlin.de
 
 james\100mastros.biz                    theorb\100desert-island.me.uk
-jan\100jandubois.com                    jand\100activestate.com
-+                                       jan.dubois\100ibm.net
+jand\100activestate.com                 jan.dubois\100ibm.net
 japhy\100pobox.com                      japhy\100pobox.org
 +                                       japhy\100perlmonk.org
 +                                       japhy\100cpan.org
@@ -910,8 +909,7 @@ stef\100mongueurs.net                   stef\100payrard.net
 +                                       s.payrard\100wanadoo.fr
 +                                       properler\100freesurf.fr
 +                                       stef\100francenet.fr
-stevan\100cpan.org                      stevan.little\100gmail.com
-+                                       stevan.little\100iinteractive.com
+stevan\100cpan.org                      stevan.little\100iinteractive.com
 sthoenna\100efn.org                     ysth\100raven.shiftboard.com
 sisyphus1\100optusnet.com.au            sisyphus\100cpan.org
 
index 5a25c7d..93b2a6c 100644 (file)
@@ -40,11 +40,11 @@ ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
 api_subversion='0'
-api_version='22'
-api_versionstring='5.22.0'
+api_version='23'
+api_versionstring='5.23.0'
 ar='ar'
-archlib='/pro/lib/perl5/5.22.3/i686-linux-64int'
-archlibexp='/pro/lib/perl5/5.22.3/i686-linux-64int'
+archlib='/pro/lib/perl5/5.23.0/i686-linux-64int'
+archlibexp='/pro/lib/perl5/5.23.0/i686-linux-64int'
 archname64='64int'
 archname='i686-linux-64int'
 archobjs=''
@@ -623,7 +623,10 @@ db_version_patch='30'
 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'
@@ -810,7 +813,7 @@ incpath=''
 incpth='/usr/lib/gcc/i586-suse-linux/4.8/include /usr/local/include /usr/lib/gcc/i586-suse-linux/4.8/include-fixed /usr/lib/gcc/i586-suse-linux/4.8/../../../../i586-suse-linux/include /usr/include'
 inews=''
 initialinstalllocation='/pro/bin'
-installarchlib='/pro/lib/perl5/5.22.3/i686-linux-64int'
+installarchlib='/pro/lib/perl5/5.23.0/i686-linux-64int'
 installbin='/pro/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -818,13 +821,13 @@ installman1dir='/pro/local/man/man1'
 installman3dir='/pro/local/man/man3'
 installprefix='/pro'
 installprefixexp='/pro'
-installprivlib='/pro/lib/perl5/5.22.3'
+installprivlib='/pro/lib/perl5/5.23.0'
 installscript='/pro/bin'
-installsitearch='/pro/lib/perl5/site_perl/5.22.3/i686-linux-64int'
+installsitearch='/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int'
 installsitebin='/pro/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='/pro/lib/perl5/site_perl/5.22.3'
+installsitelib='/pro/lib/perl5/site_perl/5.23.0'
 installsiteman1dir='/pro/local/man/man1'
 installsiteman3dir='/pro/local/man/man3'
 installsitescript='/pro/bin'
@@ -871,7 +874,10 @@ lns='/usr/bin/ln -s'
 localtime_r_proto='0'
 locincpth='/pro/local/include'
 loclibpth='/pro/local/lib'
+longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
 longdblkind='3'
+longdblmantbits='64'
+longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
 longdblsize='12'
 longlongsize='8'
 longsize='4'
@@ -925,6 +931,7 @@ nv_preserves_uv_bits='53'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
@@ -946,7 +953,7 @@ perl_patchlevel=''
 perl_static_inline='static __inline__'
 perladmin='hmbrand@cpan.org'
 perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
-perlpath='/pro/bin/perl5.22.3'
+perlpath='/pro/bin/perl5.23.0'
 pg='pg'
 phostname='hostname'
 pidtype='pid_t'
@@ -955,8 +962,8 @@ pmake=''
 pr=''
 prefix='/pro'
 prefixexp='/pro'
-privlib='/pro/lib/perl5/5.22.3'
-privlibexp='/pro/lib/perl5/5.22.3'
+privlib='/pro/lib/perl5/5.23.0'
+privlibexp='/pro/lib/perl5/5.23.0'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -1022,17 +1029,17 @@ 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
 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='/pro/lib/perl5/site_perl/5.22.3/i686-linux-64int'
-sitearchexp='/pro/lib/perl5/site_perl/5.22.3/i686-linux-64int'
+sitearch='/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int'
+sitearchexp='/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int'
 sitebin='/pro/bin'
 sitebinexp='/pro/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/pro/lib/perl5/site_perl/5.22.3'
+sitelib='/pro/lib/perl5/site_perl/5.23.0'
 sitelib_stem='/pro/lib/perl5/site_perl'
-sitelibexp='/pro/lib/perl5/site_perl/5.22.3'
+sitelibexp='/pro/lib/perl5/site_perl/5.23.0'
 siteman1dir='/pro/local/man/man1'
 siteman1direxp='/pro/local/man/man1'
 siteman3dir='/pro/local/man/man3'
@@ -1058,7 +1065,7 @@ src='.'
 ssizetype='ssize_t'
 st_ino_sign='1'
 st_ino_size='8'
-startperl='#!/pro/bin/perl5.22.3'
+startperl='#!/pro/bin/perl5.23.0'
 startsh='#!/bin/sh'
 static_ext=' '
 stdchar='char'
@@ -1071,7 +1078,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='3'
+subversion='0'
 sysman='/usr/share/man/man1'
 sysroot=''
 tail=''
@@ -1170,8 +1177,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.22.3'
-version_patchlevel_string='version 22 subversion 3'
+version='5.23.0'
+version_patchlevel_string='version 23 subversion 0'
 versiononly='define'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1180,10 +1187,10 @@ yaccflags=''
 zcat=''
 zip='zip'
 PERL_REVISION=5
-PERL_VERSION=22
-PERL_SUBVERSION=3
+PERL_VERSION=23
+PERL_SUBVERSION=0
 PERL_API_REVISION=5
-PERL_API_VERSION=22
+PERL_API_VERSION=23
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=''
 PERL_CONFIG_SH=true
index 592efcb..8c0043c 100644 (file)
  *     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.22.3/i686-linux-64int-ld"            /**/
-#define ARCHLIB_EXP "/pro/lib/perl5/5.22.3/i686-linux-64int-ld"                /**/
+#define ARCHLIB "/pro/lib/perl5/5.23.0/i686-linux-64int-ld"            /**/
+#define ARCHLIB_EXP "/pro/lib/perl5/5.23.0/i686-linux-64int-ld"                /**/
 
 /* ARCHNAME:
  *     This symbol holds a string representing the architecture name.
  *     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.22.3"                /**/
-#define PRIVLIB_EXP "/pro/lib/perl5/5.22.3"            /**/
+#define PRIVLIB "/pro/lib/perl5/5.23.0"                /**/
+#define PRIVLIB_EXP "/pro/lib/perl5/5.23.0"            /**/
 
 /* PTRSIZE:
  *     This symbol contains the size of a pointer, so that the C preprocessor
  *     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.22.3/i686-linux-64int-ld"         /**/
-#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.22.3/i686-linux-64int-ld"             /**/
+#define SITEARCH "/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int-ld"         /**/
+#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int-ld"             /**/
 
 /* SITELIB:
  *     This symbol contains the name of the private library for this package.
  *     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.22.3"              /**/
-#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.22.3"          /**/
+#define SITELIB "/pro/lib/perl5/site_perl/5.23.0"              /**/
+#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.23.0"          /**/
 #define SITELIB_STEM "/pro/lib/perl5/site_perl"                /**/
 
 /* SSize_t:
  *     script to make sure (one hopes) that it runs with perl and not
  *     some shell.
  */
-#define STARTPERL "#!/pro/bin/perl5.22.3"              /**/
+#define STARTPERL "#!/pro/bin/perl5.23.0"              /**/
 
 /* HAS_STDIO_STREAM_ARRAY:
  *     This symbol, if defined, tells that there is an array
index d30e23e..a71ac18 100644 (file)
@@ -17,951 +17,6 @@ Consult your favorite dictionary for details.
 
 =head1 EPIGRAPHS
 
-=head2 v5.25.8 - Langston Hughes, So long
-
-L<Announced on 2016-12-20 by Sawyer X|http://www.nntp.perl.org/group/perl.perl5.porters/2016/12/msg241739.html>
-
-  So long
-  is in the song
-  and it's in the way you're gone
-  but it's like a foreign language
-  in my mind
-  and maybe was I blind
-  I could not see
-  and would not know
-  you're gone so long
-  so long.
-
-=head2 v5.25.7 - J.R.R. Tolkien, "The Silmarillion"
-
-L<Announced on 2016-11-20 by Chad 'Exodist' Granum|http://www.nntp.perl.org/group/perl.perl5.porters/2016/11/msg241120.html>
-
-  Of Beren and Lúthien
-
-  Among the tales of sorrow and of ruin that come down to us from the darkness of
-  those days there are yet some in which amid weeping there is joy and under the
-  shadow of death light that endures. And of these histories most fair still in
-  the ears of the Elves is the tale of Beren and Lúthien. Of their lives was made
-  the Lay of Leithian, Release from Bondage, which is the longest save one of the
-  songs concerning the world of old; but here is told in fewer words and without
-  song.
-
-=head2 v5.25.6 - Alan Warner, "The Sopranos"
-
-L<Announced on 2016-10-10 by Aaron Crane|http://www.nntp.perl.org/group/perl.perl5.porters/2016/10/msg240406.html>
-
-  I'm up on all the pop trivia, says the guy with the stud in his tongue.
-      Are you?
-      Yes. Do you know who he lead singer of Echo and the Bunnymen is?
-      Let me guess, is he called Echo?
-      Good guess but no, anyway when they played Glastonbury it was so
-  muddy he had two roadies to hold up a binliner on each of his legs so
-  they wouldn't get covered in mud.
-      That's what being rich and famous is all about, having someone
-  else hold up your binliners on each leg when you're wandering across
-  a sea of shite.
-      Do you know what Sammy Davis Junior said being black and famous in
-  America meant?
-      No.
-      He said being black and famous in America meant he could be
-  refused entry to exclusive clubs and restaurants that other people
-  could only ever dream of going to. Do you know Michael Stipe likes to
-  send his remote control toy cars onto stage while his support band are
-  playing to freak them out?
-      Who's Michael Stipe?
-      You're not really a pop trivia person, are you, Kylah?
-      No, I'm not, Stephen.
-
-=head2 v5.25.5 - Philip K. Dick, VALIS
-
-L<Announced on 2016-09-20 by Stevan Little|http://www.nntp.perl.org/group/perl.perl5.porters/2016/09/msg239887.html>
-
-  We hypostatize information into objects. Rearrangement of objects is
-  change in the content of the information; the message has changed.
-  This is a language which we have lost the ability to read. We ourselves
-  are a part of this language; changes in us are changes in the content
-  of the information. We ourselves are information-rich; information
-  enters us, is processed and is then projected outward once more, now
-  in an altered form. We are not aware that we are doing this, that in
-  fact this is all we are doing
-
-=head2 v5.25.4 - Terry Pratchett, "Truckers"
-
-L<Announced on 2016-08-20 by Chris 'BinGOs' Williams|http://www.nntp.perl.org/group/perl.perl5.porters/2016/08/msg239191.html>
-
-  Concerning Nomes and Time
-
-  Nomes are small. On the whole, small creatures don't live for a long
-  time. But perhaps they do live fast.
-
-  Let me explain.
-
-  One of the shortest-lived creatures on the planet Earth is the adult
-  common mayfly. It lasts for one day. The longest-living things are
-  bristlecone pine trees, at 4,700 years and still counting.
-
-  This may seem tough on the mayflies. But the important thing is not
-  how long your life is, but how long it seems.
-
-  To a mayfly, a single hour may last as long as a century. Perhaps
-  old mayflies sit around complaining about how life this minute isn't a
-  patch on the good old minutes of long ago, when the world was
-  young and the sun seemed so much brighter and larvae showed you a
-  bit of respect. Whereas the trees, which are not famous to their
-  quick reactions, may just have time to notice the way the sky keeps
-  flickering before the dry rot and woodworm set in.
-
-  It's all a sort of relativity. The faster you live, the more time
-  stretches out. To a nome, a year lasts as long as ten years does to a
-  human. Remember it. Don't let it concern you. They don't. They don't
-  even know.
-
-=head2 v5.25.3 - Edward Lear, ed. Vivien Noakes, "The Complete Nonsense and Other Verse": The Dong with a Luminous Nose
-
-L<Announced on 2016-07-20 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/07/msg238158.html>
-
-  When awful darkness and silence reign
-    Over the great Gromboolian plain,
-      Through the long, long wintry nights; -
-  When the angry breakers roar
-  As they beat on the rocky shore; -
-      When Storm-clouds brood on the towering heights
-  Of the Hills of the Chankly Bore: -
-
-  Then, through the vast and gloomy dark,
-  There moves what seems a fiery spark,
-      A lonely spark with silvery rays
-      Piercing the coal-black night, -
-      A Meteor strange and bright: -
-  Hither and thither the vision strays,
-      A single lurid light.
-
-  Slowly it wanders, - pauses, - creeps, -
-  Anon it sparkles, - flashes and leaps;
-  And ever as onward it gleaming goes
-  A light on the Bong-tree stems it throws.
-  And those who watch at that midnight hour
-  From Hall or Terrace, or lofty Tower,
-  Cry, as the wild light passes along, -
-        'The Dong! - the Dong!
-      The wandering Dong through the forest goes!
-        The Dong! the Dong!
-      The Dong with a luminous Nose!'
-
-=head2 v5.25.2 - Dan le Sac Vs Scroobius Pip "Waiting For The Beat To Kick In"
-
-L<Announced on 2016-06-20 by Matthew Horsfall|http://www.nntp.perl.org/group/perl.perl5.porters/2016/06/msg237274.html>
-
-  Waiting for the beat to kick in
-  But it never does
-  Waiting for my feet to grow wings
-  That lift me above
-  All of these tiresome things
-  That we know and love
-  Waiting for the beat to kick in
-  But it never does
-
-=head2 v5.25.1 - Eli Pariser, "The Filter Bubble"
-
-L<Announced on 2016-05-20 by Sawyer X|http://www.nntp.perl.org/group/perl.perl5.porters/2016/05/msg236566.html>
-
-Imagine that you're a smart high school student on the low end of the social
-totem pole. You're alienated from adult authority, but unlike many teenagers,
-you're also alienated from the power structures of your peers -- an existence
-that can feel lonely and peripheral. Systems and equations are intuitive, but
-people aren't -- social signals are confusing and messy, difficult to interpret.
-
-Then you discover code. You may be powerless at the lunch table, but code
-gives you power over an infinitely malleable world and opens the door to a
-symbolic system that's perfectly clear and ordered. The jostling for position
-and status fades away. The nagging parental voices disappear. There's just a
-clean, white page for you to fill, an opportunity to build a better place, a
-home, from the ground up.
-
-No wonder you're a geek.
-
-=head2 v5.25.0 - Robert Frost, "The Trial by Existence"
-
-L<Announced on 2016-05-09 by Ricardo Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2016/05/msg236244.html>
-
-  Even the bravest that are slain
-    Shall not dissemble their surprise
-  On waking to find valor reign,
-    Even as on earth, in paradise;
-  And where they sought without the sword
-    Wide fields of asphodel fore’er,
-  To find that the utmost reward
-    Of daring should be still to dare.
-
-=head2 v5.24.1-RC5 - John Milton, ed. Gordon Campbell, "Paradise Regained", Book IV
-
-L<Announced on 2017-01-02 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242016.html>
-
-  Thus passed the night so foul, till Morning fair
-  Came forth with pilgrim steps, in amice grey;
-  Who with her radiant finger stilled the roar
-  Of thunder, chased the clouds, and laid the winds,
-  And grisly spectres, which the fiend had raised
-  To tempt the Son of God with terrors dire.
-  And now the sun with more effectual beams
-  Had cheered the face of earth, and dried the wet
-  From drooping plant, or dropping tree; the birds,
-  Who all things now behold more fresh and green,
-  After a night of storm so ruinous,
-  Cleared up their choicest notes in bush and spray,
-  To gratulate the sweet return of morn.
-
-=head2 v5.24.1-RC4 - John Milton, ed. Gordon Campbell, "Paradise Lost", Book II
-
-L<Announced on 2016-10-12 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/10/msg240224.html>
-
-    Before the gates there sat
-  On either side a formidable shape;
-  The one seemed woman to the waste, and fair,
-  But ended foul in many a scaly fold,
-  Voluminous and vast -- a serpent armed
-  With mortal sting; about her middle round
-  A cry of hell hounds never ceasing barked
-  With wide Cerberean mouths full loud, and rung
-  A hideous peal; yet, when they list, would creep,
-  If aught disturbed their noise, into her womb,
-  And kennel there; yet there still barked and howled
-  Within unseen. Far less abhorred than these
-  Vexed Scylla, bathing in the sea that parts
-  Calabria from the hoarse Trinacrian shore;
-  Nor uglier follow the night-hag, when, called
-  In secret, riding through the air she comes,
-  Lured with the smell of infant blood, to dance
-  With Lapland witches, while the labouring moon
-  Eclipses at their charms. The other shape --
-  If shape it might be called that shape had none
-  Distinguishable in member, joint, or limb;
-  Or substance might be called that shadow seemed,
-  For each seemed either -- black it stood as night,
-  Fierce as ten Furies, terrible as hell,
-  And shook a dreadful dart: what seemed his head
-  The likeness of a kingly crown had on.
-  Satan was now at hand, and from his seat
-  The monster moving onward came as fast
-  With horrid strides; hell trembled as he strode.
-
-=head2 v5.24.1-RC3 - Dante Alighieri, trans. Dorothy L. Sayers and Barbara Reynolds, "The Divine Comedy", Cantica III: Paradise, Canto XXIII
-
-L<Announced on 2016-08-11 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/08/msg238909.html>
-
-  A bird within the bower of her delight,
-    Quiet upon the nest with her sweet brood
-    Throughout the dark concealment of the night,
-
-  Anxious to look on them and gather food -
-    No weary task for her, for as at play
-    Blithely she toils to seek her fledglings' good -
-
-  Before the time, upon the topmost spray
-    Eager awaits the sun and on the East
-    Fixes her wakeful eye till break of day.
-
-=head2 v5.24.1-RC2 - Dante Alighieri, trans. Dorothy L. Sayers, "The Divine Comedy", Cantica II: Purgatory, Canto X
-
-L<Announced on 2016-07-25 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/07/msg238269.html>
-
-  When we had crossed the threshold of that gate
-    Which the soul's evil loves put out of use,
-    Because they make the crooked path seem straight,
-
-  I heard its closing clang ring clamorous,
-    And had I then turned back my eyes to it
-    How could my fault have found the least excuse?
-
-  We had to climb now through a rocky slit
-    Which ran from side to side in many a swerve,
-    As runs the wave in onset and retreat.
-
-  "Now here," the master said, "we must observe
-    Some little caution, hugging now this wall,
-    Now that, upon the far side of the curve."
-
-=head2 v5.24.1-RC1 - Dante Alighieri, trans. Dorothy L. Sayers, "The Divine Comedy", Cantica I: Hell, Canto XX
-
-L<Announced on 2016-07-17 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/07/msg238072.html>
-
-  New punishments behoves me sing in this
-    Twentieth canto of my first canticle,
-    Which tells of spirits sunk in the Abyss.
-
-  I now stood ready to observe the full
-    Extent of the new chasm thus laid bare,
-    Drenched as it was in tears most miserable.
-
-  Through the round vale I saw folk drawing near,
-    Weeping and silent, and at such slow pace
-    As Litany processions keep, up here.
-
-  And presently, when I had dropped my gaze
-    Lower than the head, I saw them strangely wried
-    'Twixt collar-bone and chin, so that the face
-
-  Of each was turned towards his own backside,
-    And backwards must they needs creep with their feet,
-    All power of looking forward being denied.
-
-=head2 v5.24.0 - Robert Frost, "The Black Cottage"
-
-L<Announced on 2016-05-09 by Ricardo Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2016/05/msg236242.html>
-
-  As I sit here, and oftentimes, I wish
-  I could be monarch of a desert land
-  I could devote and dedicate forever
-  To the truths we keep coming back and back to.
-  So desert it would have to be, so walled
-  By mountain ranges half in summer snow,
-  No one would covet it or think it worth
-  The pains of conquering to force change on.
-  Scattered oases where men dwelt, but mostly
-  Sand dunes held loosely in tamarisk
-  Blown over and over themselves in idleness.
-  Sand grains should sugar in the natal dew
-  The babe born to the desert, the sand storm
-  Retard mid-waste my cowering caravans—
-
-  “There are bees in this wall.” He struck the clapboards,
-  Fierce heads looked out; small bodies pivoted.
-  We rose to go. Sunset blazed on the windows.
-
-=head2 v5.24.0-RC5 - The Mountain Goats, "No Children"
-
-L<Announced on 2016-05-04 by Ricardo Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2016/05/msg236198.html>
-
-  And I hope when you think of me years down the line
-  You can't find one good thing to say
-  And I'd hope that if I found the strength to walk out
-  You'd stay the hell out of my way
-
-  I am drowning, there is no sign of land
-  You are coming down with me, hand in unlovable hand
-
-=head2 v5.24.0-RC4 - The Joker in "The Killing Joke"
-
-L<Announced on 2016-05-02 by Ricardo Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2016/05/msg236145.html>
-
-"See, there were these two guys in a lunatic asylum…"
-
-=head2 v5.24.0-RC3 - Jesse Vincent
-
-L<Announced on 2016-04-27 by Ricardo Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2016/04/msg236066.html>
-
-The Great Pumpkin is a Santa-Claus like figure. He does bring toys like
-Santa. But unlike Santa, who gives away toys because it's his job, he
-gives away toys because it's the right thing to do.
-
-=head2 v5.24.0-RC2 - Joseph Heller, "Catch-22"
-
-L<Announced on 2016-04-23 by Ricardo Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2016/04/msg235999.html>
-
-“How do you feel, Yossarian?”
-
-“Fine. No, I’m very frightened.”
-
-“That’s good,” said Major Danby. “It proves you’re still alive. It won’t
-be fun.”
-
-Yossarian started out. “Yes it will.”
-
-“I mean it, Yossarian. You’ll have to keep on your toes every minute of
-every day. They’ll bend heaven and earth to catch you.”
-
-“I’ll keep on my toes every minute.”
-
-“You’ll have to jump.”
-
-“I’ll jump.”
-
-“Jump!” Major Danby cried.
-
-Yossarian jumped.
-
-Nately’s [girl] was hiding just outside the door. The knife came down,
-missing him by inches, and he took off.
-
-=head2 v5.24.0-RC1 - Robert Frost, "The Census-Taker"
-
-L<Announced on 2016-04-14 by Ricardo Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2016/04/msg235807.html>
-
-  Nothing was left to do that I could see
-  Unless to find that there was no one there
-  And declare to the cliffs too far for echo,
-  "The place is desert, and let whoso lurks
-  In silence, if in this he is aggrieved,
-  Break silence now or be forever silent.
-  Let him say why it should not be declared so."
-  The melancholy of having to count souls
-  Where they grow fewer and fewer every year
-  Is extreme where they shrink to none at all.
-  It must be I want life to go on living.
-
-=head2 v5.23.9 - Tom Kitchin, "from nature to plate"
-
-L<Announced on 2016-03-20 by Abigail|http://www.nntp.perl.org/group/perl.perl5.porters/2016/03/msg235251.html>
-
-Spring
-
-Spring is the proper beginning of my kitchen and a season that I
-look forward to with great anticipation. By the time spring arrives
-I am desperate to welcome all the spring produce into my kitchen
-and I long to work with fresh green vegetables again. As much as I
-love root vegetables, such as celeriac and parsnips, and the heaver
-meat and game dishes, I'm ready to leave those behind with winter
-and begin a new adventure.
-
-Somehow spring always gives me a little bit of bounce in my feet
--- I feel like I want to kick off my shoes and dance around in my
-kitchen. Not that I do, of course, but I feel lighter somehow. My
-adrenalin kicks in with spring and so does the level of excitement,
-as I think about all the produce that is about to come in.
-
-The moment spring arrives I'm eager to cook peas, broad beans, green
-asparagus and other fresh vegetables! I want to create lighter,
-brighter dishes and I can't wait to get my hands on the first greens
-and the first morels, not to mention the first wild Scottish salmon.
-Thanks to my network of trusted suppliers, I always get to first
-produce of the season delivered to my restaurant as soon as it is
-possible. I want my customers to experience and understand the
-beauty of locally grown produce and to try things the minute they
-are available so they can taste how incredibly fresh the ingredients
-are. I also want them to understand the relationship between
-seasonality and flavours. One of the most important things to
-remember is to allow the seasons to inspire your dishes and help
-you make natural matches. Wild spring herbs, such as sorrel, sweet
-cicely and wild garlic, as well as spring salad leaves and green
-lettuce served with wild salmon, wild sea trout, lamb or rabbit are
-marriages made in heaven.
-
-
-=head2 v5.23.8 - Patrick Rothfuss, "The Wise Man's Fear (The Kingkiller's Chronicle: Day Two)"
-
-L<Announced on 2016-02-20 by Sawyer X|http://www.nntp.perl.org/group/perl.perl5.porters/2016/02/msg234535.html>
-
-Denna, on the other hand, had never been trained. She knew nothing
-of shortcuts. You'd think she'd be forced to wander the city, lost and
-helpless, trapped in a twisting maze of mortared stone.
-
-But instead, she simply walked throught the walls. She didn't know
-any better. Nobody had ever told her she couldn't. Because of this,
-she moved through the city like some faerie creature. She walked roads
-no one else could see, and it made her music wild and strange and
-free.
-
-=head2 v5.23.7 - William Gibson, "Neuromancer"
-
-L<Announced on 2016-01-20 by Stevan Little|http://www.nntp.perl.org/group/perl.perl5.porters/2016/01/msg233856.html>
-
-A year here and he still dreamed of cyberspace, hope fading
-nightly. All the speed he took, all the turns he'd taken and
-the corners he cut in Night City, and he'd still see the matrix
-in his dreams, bright lattices of logic unfolding across that
-colourless void...The Sprawl was a long, strange way home now
-over the Pacific, and he was no Console Man, no cyberspace
-cowboy. Just another hustler, trying to make it through. But
-the dreams came on in the Japanese night like livewire voodoo,
-and he'd cry for it, cry in his sleep, and wake alone in the
-dark, curled in his capsule in some coffin hotel, hands clawed
-into the bedslab, temper foam bunched between his fingers,
-trying to reach the console that wasn't there.
-
-=head2 v5.23.6 - 5.23 Episode VII
-
-L<Announced on 2015-12-21 by David Golden|http://www.nntp.perl.org/group/perl.perl5.porters/2015/12/msg233475.html>
-
-  A long time ago in microseconds, in a galaxy not very far away...
-
-                   5.23 Episode VII
-                   THE FUZZ AWAKENS
-
-                  It is a period of
-                unrest as separatists
-               announce their intentions
-              to fork PERL and return the
-             galaxy to speed and stability.
-
-            Chancellor Rik Hoolian struggles
-          to hold together the remains of the
-         once mighty Republic against a tide of
-        incivility and the depredations of a new
-       foe, the FUZZ RAIDERS.
-
-      Meanwhile, after 15 years of preparation and
-     high expectations, Supreme Leader Toady prepares
-    to unleash a devastating new weapon, PERL SIXDOTOH,
-   that could splinter the Republic forever and usher in
-  a new Empire of gradual typing....
-
-=head2 v5.23.5 - utastro!nather (Ed Nather), "The Story of Mel", in net.jokes, May 21, 1983.
-
-L<Announced on 2015-11-20 by Abigail|http://www.nntp.perl.org/group/perl.perl5.porters/2015/11/msg232758.html>
-
-After Mel had left the company for greener pa$ture$, the Big Boss asked
-me to look at the code and see if I could find the test and reverse it.
-Somewhat reluctantly, I agreed to look. Tracking Mel's code was a real
-adventure.
-
-I have often felt that programming is an art form, whose real value can
-only be appreciated by another versed in the same arcane art; there are
-lovely gems and brilliant coups hidden from human view and admiration,
-sometimes forever, by the very nature of the process. You can learn a
-lot about an individual just by reading through his code, even in
-hexadecimal. Mel was, I think, an unsung genius.
-
-Perhaps my greatest shock came when I found an innocent loop that had
-no test in it. No test. None. Common sense said it had to be a closed
-loop, where the program would circle, forever, endlessly. Program
-control passed right through it, however, and safely out the other side.
-It took me two weeks to figure it out.
-
-The RPC-4000 computer had a really modern facility called an index
-register. It allowed the programmer to write a program loop that used
-an indexed instruction inside; each time through, the number in the
-index register was added to the address of that instruction, so it
-would refer to the next datum in a series. He had only to increment
-the index register each time through. Mel never used it.
-
-Instead, he would pull the instruction into a machine register, add one
-to its address, and store it back. He would then execute the modified
-instruction right from the register. The loop was written so this
-additional execution time was taken into account -- just as this
-instruction finished, the next one was right under the drum's read head,
-ready to go. But the loop had no test in it.
-
-The vital clue came when I noticed the index register bit, the bit that
-lay between the address and the operation code in the instruction word,
-was turned on -- yet Mel never used the index register, leaving it zero
-all the time. When the light went on it nearly blinded me.
-
-He had located the data he was working on near the top of memory -- the
-largest locations the instructions could address -- so, after the last
-datum was handled, incrementing the instruction address would make it
-overflow. The carry would add one to the operation code, changing it to
-the next one in the instruction set: a jump instruction. Sure enough,
-the next program instruction was in address location zero, and the
-program went happily on its way.
-
-=head2 v5.23.4 - Denis Diderot, trans. David Coward, "Jacques the Fatalist"
-
-L<Announced on 2015-10-20 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/10/msg232040.html>
-
-Well, everybody's got a dog.  The prime minister is the king's dog.  The
-first secretary is the prime minister's dog.  A wife is a husband's dog,
-or a husband is a wife's dog.  Favourite is Madame So-and-so's dog and
-Thibaut is the man on the corner's dog.  When my Master tells me to talk
-when I'd prefer not to, which to be honest doesn't happen very often,
-when he tells me to shut up when I feel like talking, which I find very
-difficult, when he asks me to tell the story of my love-life and then
-keeps interrupting, what am I if not his dog?  Weak men are the dogs of
-strong men.
-
-=head2 v5.23.3 - Oliver Wendell Holmes, "The Deacon’s Masterpiece or The Wonderful 'One-Hoss Shay': A Logical Story"
-
-L<Announced on 2015-09-20 by Peter Martini|http://www.nntp.perl.org/group/perl.perl5.porters/2015/09/msg231173.html>
-
-  Little of of all we value here
-  Wakes on the morn of its hundredth year
-  Without both feeling and looking queer.
-  In fact, there’s nothing that keeps its youth,
-  So far as I know, but a tree and truth.
-  (This is a moral that runs at large;
-  Take it. — You’re welcome. — No extra charge.)
-
-=head2 v5.23.2 - Blind Guardian, "Skalds and Shadows"
-
-L<Announced on 2015-08-20 by Matthew Horsfall|http://www.nntp.perl.org/group/perl.perl5.porters/2015/08/msg230298.html>
-
-  Would you believe in a night like this
-  A night like this, when visions come true
-  Would you believe in a tale like this
-  A lay of bliss, praise in the old lore
-  Come to the blazing fire and
-
-  See me in the shadows
-  See me in the shadows
-  Songs I will sing
-  Of runes and rings
-  Just hand me my harp
-  This night turns into myth
-  Nothing seems real
-  You soon will feel
-  The world we live in is another skald's
-  Dream in the shadows
-  Dream in the shadows
-
-  Do you believe there is sense in it
-  Is it truth or myth?
-  They´re one in my rhymes
-  Nobody knows the meaning behind
-  The weaver's line
-  Well nobody else but the Norns can
-  See through the blazing fires of time and
-  All things will proceed as the
-  Child of the hallowed
-  Will speak to you now
-
-  See me in the shadows
-  See me in the shadows
-  Songs I will sing of tribes and kings
-  The carrion bird and the hall of the slain
-  Nothing seems real
-  You soon will feel
-  The world we live in is another skald´s
-  Dream in the shadows
-  Dream in the shadows
-
-  Do not fear for my reason
-  There's nothing to hide
-  How bitter your treason
-  How bitter the lie
-  Remember the runes and remember the light
-  All I ever want is to be at your side
-  We'll gladden the raven now I will
-  Run through the blazing fires
-  That's my choice
-  Cause things shall proceed as foreseen
-
-=head2 v5.23.1 - Elizabeth Haydon, "The Assassin King"
-
-L<Announced on 2015-07-20 by Matthew Horsfall|http://www.nntp.perl.org/group/perl.perl5.porters/2015/07/msg229413.html>
-
-  I was born beneath this willow,
-  Where my sire the earth did farm
-  Had the green grass as my pillow
-  The east wind as a blanket warm.
-
-  But away! away! called the wind from the west
-  And in answer I did run
-  Seeking glory and adventure
-  Promised by the rising sun.
-
-  I found love beneath this willow,
-  As true a love as life could hold,
-  Pledged my heart and swore my fealty
-  Sealed with a kiss and a band of gold.
-
-  But to arms! to arms! called the wind from the west
-  In faithful answer I did run
-  Marching forth for king and country
-  In battles 'neath the midday sun.
-
-  Oft I dreamt of that fair willow
-  As the seven seas I plied
-  And the girl who I left waiting
-  Longing to be at her side.
-
-  But about! about! called the wind from the west
-  As once again my ship did run
-  Down the coast, about the wide world
-  Flying sails in the setting sun.
-
-  Now I lie beneath the willow
-  Now at last no more to roam,
-  My bride and earth so tightly hold me
-  In their arms I'm finally home.
-
-  While away! away! calls the wind from the west
-  Beyond the grave my spirit, free
-  Will chase the sun into the morning
-  Beyond the sky, beyond the sea.
-
-=head2 v5.23.0 - Bob Dylan, "Maggie's Farm"
-
-L<Announced on 2015-06-20 by Ricardo Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2015/06/msg228807.html>
-
-  I ain't gonna work on Maggie's farm no more
-  I ain't gonna work on Maggie's farm no more
-  Well, I try my best
-  To be just like I am
-  But everybody wants you
-  To be just like them
-  They sing while you slave and I just get bored
-  I ain't gonna work on Maggie's farm no more
-
-=head2 v5.22.3-RC5 - John Milton, ed. Gordon Campbell, "Paradise Regained", Book II
-
-L<Announced on 2017-01-02 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242017.html>
-
-  Thus wore out night; and now the herald lark
-  Left his ground-nest, high towering to descry
-  The Morn's approach, and greet her with his song;
-  As lightly from his grassy couch up rose
-  Our Saviour, and found all was but a dream;
-  Fasting he went to sleep, and fasting waked.
-  Up to a hill anon his steps he reared,
-  From whose high top to ken the prospect round,
-  If cottage were in view, sheep-cote, or herd;
-  But cottage, herd, or sheep-cote, none he saw --
-  Only in a bottom saw a pleasant grove,
-  With chant of tuneful birds resounding loud;
-  Thither he bent his way, determined there
-  To rest at noon, and entered soon the shade,
-  High-roofed and walks beneath, and alleys brown,
-  That opened in the midst a woody scene;
-  Nature's own work it seemed (Nature taught Art),
-  And, to a superstitious eye, the haunt
-  Of wood-gods and wood-nymphs.
-
-=head2 v5.22.3-RC4 - John Milton, ed. Gordon Campbell, "Paradise Lost", Book II
-
-L<Announced on 2016-10-12 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/10/msg240223.html>
-
-  Far off from these, a slow and silent stream,
-  Lethe, the river of oblivion, rolls
-  Her watery labyrinth, whereof who drinks
-  Forthwith his former state and being forgets --
-  Forgets both joy and grief, pleasure and pain.
-  Beyond this flood a frozen continent
-  Lies dark and wild, beat with perpetual storms
-  Of Whirlwind and dire hail, which on firm land
-  Thaws not, but gathers heap, and ruin seems
-  Of ancient pile; all else deep snow and ice,
-  A gulf profound as that Serbonian bog
-  Betwixt Damiata and Mount Casius old,
-  Where armies whole have sunk: the parching air
-  Burns frore, and cold performs the effect of fire.
-  Thither, by harpy-footed Furies haled,
-  At certain revolutions all the damned
-  Are brought; and feel by turns the bitter change
-  Of fierce extremes, extremes by change more fierce,
-  From beds of raging fire to starve in ice
-  Their soft ethereal warmth, and there to pine
-  Immovable, infixed, and frozen round
-  Periods of time -- thence hurried back to fire.
-  They ferry over this Lethean sound
-  Both to and fro, their sorrow to augment,
-  And wish and struggle, as they pass, to reach
-  The tempting stream, with one small drop to lose
-  In sweet forgetfulness all pain and woe,
-  All in one moment, and so near the brink;
-  But fate withstands, and, to oppose the attempt,
-  Medusa with Gorgonian terror guards
-  The ford, and of itself the water flies
-  All taste of living wight, as once it fled
-  The lip of Tantalus.
-
-=head2 v5.22.3-RC3 - Dante Alighieri, trans. Dorothy L. Sayers and Barbara Reynolds, "The Divine Comedy", Cantica III: Paradise, Canto IV
-
-L<Announced on 2016-08-11 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/08/msg238908.html>
-
-  Between two dishes, equally attractive
-    And near to him, a free man, I suppose,
-    Would starve to death before his teeth got active;
-
-  So would a lamb 'twixt two fierce wolfish foes,
-    Fearing the fangs both ways, not stir a foot;
-    So would a deerhound halt between two does;
-
-  So I can't blame myself for standing mute,
-    Nor praise myself: for I must needs so do,
-    Suspended 'twixt two doubts, alike acute.
-
-=head2 v5.22.3-RC2 - Dante Alighieri, trans. Dorothy L. Sayers, "The Divine Comedy", Cantica II: Purgatory, Canto I
-
-L<Announced on 2016-07-25 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/07/msg238270.html>
-
-  For better waters heading with the wind
-    My ship of genius now shakes out her sail
-    And leaves that ocean of despair behind;
-
-  For to the second realm I tune my tale,
-    Where human spirits purge themselves, and train
-    To leap up into joy celestial.
-
-  Now from the grave wake poetry again,
-    O sacred Muses I have served so long!
-    Now let Calliope uplift her strain
-
-  And lift my voice up on the mighty song
-    That smote the miserable Magpies nine
-    Out of all hope of pardon for their wrong!
-
-=head2 v5.22.3-RC1 - Dante Alighieri, trans. Dorothy L. Sayers, "The Divine Comedy", Cantica I: Hell, Canto XII
-
-L<Announced on 2016-07-17 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/07/msg238071.html>
-
-  The place we came to, to descend the brink from,
-    Was sheer crag; and there was a Thing there - making,
-    All told, a prospect any eye would shrink from.
-
-  Like the great landslide that rushed downward, shaking
-    The bank of Adige on this side Trent,
-    (Whether through faulty shoring or the earth's quaking)
-
-  So that the rock, down from the summit rent
-    Far as the plain, lies strewn, and one might crawl
-    From top to bottom by that unsure descent,
-
-  Such was the precipice; and there we spied,
-    Topping the cleft that split the rocky wall,
-    That which was wombed in the false heifer's side,
-
-  The infamy of Crete, stretched out a-sprawl;
-    And seeing us, he gnawed himself, like one
-    Inly devoured with spite and burning gall.
-
-=head2 v5.22.2 - Gaston Leroux, trans. Mireille Ribière, "The Phantom of the Opera"
-
-L<Announced on 2016-04-29 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/04/msg236120.html>
-
-A silence; and then: 'If, in just two minutes' time by my watch--and a
-splendid watch it is--you have not turned the scorpion, mademoiselle, I
-shall turn the grasshopper... and the grasshopper, remember, _leaps
-straight up into the air!_'
-The silence that ensued was terrifying, worse than any we had
-experienced before.  I knew that when Erik spoke with that quiet,
-gentle, slightly weary voice, it meant that he had reached the end of
-his tether: that he was capable of the most abominable crimes or the
-most selfless devotion; that the slightest irritation might unleash a
-storm.
-Realizing that our fate was out of our hands, the Viscount fell to his
-knees and prayed.  As for me, I pressed both hands to my chest, for my
-heart was pounding so fiercely that I thought it would burst.  We were
-intensely aware of the excruciating dilemma Christine Daaé faced in
-those final seconds.  We understood why she hesitated to turn the
-scorpion.  What if the scorpion, rather than the grasshopper, were to
-set off the explosion?  What if Erik was simply intent on destroying
-everything, regardless?
-At last he spoke: 'The two minutes are up,' he said in a soft, angelic
-voice.  'Goodbye, mademoiselle.  Off you go, little grasshopper!'
-
-=head2 v5.22.2-RC1 - Gaston Leroux, trans. Mireille Ribière, "The Phantom of the Opera"
-
-L<Announced on 2016-04-10 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2016/04/msg235732.html>
-
-This annual ball was quite a magnificent affair.  It was given some time
-before Shrovetide to celebrate the birthday of a famous illustrator
-whose pencil had immortalized, in the style of Gavarni, the extravagant
-carnival parade down La Courtille.  As such, the ball was an altogether
-merrier, noisier and more Bohemian occasion than was usual for a masked
-ball.  Many artists had arranged to meet there; they arrived with an
-entourage of models and pupils, who, by midnight, had become quite
-boisterous.
-Raoul climbed the grand staircase at five minutes to midnight.  He did
-not linger to admire the many-coloured costumes on display all the way
-up the marble steps of one of the most luxurious settings in the world;
-nor did he allow himself to be drawn into the facetious conversation of
-masked guests.  He simply ignored all the jesting remarks, and shook off
-the attentions of several all too merry couples.
-Crossing the big crush-room and escaping from the dancers' farandole
-that had encircled him awhile, he at last entered the salon mentioned by
-Christine in her letter.  The small room was crammed with people either
-on their way to supper at the restaurant in the Rotunda or back from
-raising a glass of champagne.
-In the midst of the gay and lively hubbub, Raoul thought that, for their
-mysterious assignation, Christine must have preferred this crowd to some
-lonely corner.
-He leaned against a door-jamb and waited.  He did not have to wait long;
-a black domino passed him and deftly touched his hand.  He understood
-that it was Christine and followed her.
-'Is that you, Christine?' he murmured, barely moving his slips.
-The black domino promptly looked back and raised her finger to her lips,
-no doubt to caution him against uttering her name again.  Raoul followed
-on in silence.
-
-=head2 v5.22.1 - Wilhelm Müller, trans. Anon., "Courage" (No. 22 in Schubert's song-cycle, "Winterreise")
-
-L<Announced on 2015-12-13 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/12/msg233318.html>
-
-  If the snow flies in my face,
-  Let me shake it off me!
-  If my heart within me speaks,
-  I'll sing bright and gaily!
-
-  Will not listen what it says,
-  Have no ears for moaning.
-  Do not feel what it complains,--
-  Only fools like groaning!
-
-  Jolly brave into the world,
-  'Gainst all wind and weather,--
-  If there is no God on earth,
-  Let 's be gods down nether!
-
-=head2 v5.22.1-RC4 - Wilhelm Müller, trans. Anon., "The Signpost" (No. 20 in Schubert's song-cycle, "Winterreise")
-
-L<Announced on 2015-12-08 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/12/msg233215.html>
-
-  Why do I shun all those highways
-  Which the other wanderer seeks?
-  Why do I find bridged by-ways
-  Through snow-covered deep creeks?
-
-  For I have no crime committed,
-  Why I should now run from men,--
-  What demented heart's desire
-  Drives me to a desert glen?
-
-  Signposts on all highways stationed
-  Point their signs toward the towns,
-  Whilst I wonder 'yond moderation,
-  Without rest, yet seeking rest!
-
-  One such signpost I see planted
-  Of my question unconcerned,
-  One road must my choice be granted,
-  Whence no man has yet returned!
-
-=head2 v5.22.1-RC3 - Wilhelm Müller, trans. Anon., "Stormy Morning" (No. 18 in Schubert's song-cycle, "Winterreise")
-
-L<Announced on 2015-12-02 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/12/msg233032.html>
-
-  How the storm tore rents
-  In heavens gray attired!
-  The rags of cloud are flying
-  Around, of combat tired.
-
-  And flames of fire lambent,
-  Fly between them and part,
-  That 's what I call a morning,
-  A morning after my heart!
-
-  My heart sees in the heavens
-  Its own picture unspoilt--
-  It's nothing but the Winter,
-  The Winter, cold and wild.
-
-=head2 v5.22.1-RC2 - Wilhelm Müller, trans. Anon., "The Old Head" (No. 14 in Schubert's song-cycle, "Winterreise")
-
-L<Announced on 2015-11-15 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/11/msg232632.html>
-
-  The hoary frost has a white sheen
-  Strewn all over my hair,
-  So I thought I was an old man
-  And thought life dealt me fair.
-
-  Yet soon was thawed my old white mane,
-  And I have my black hair again.
-  How I abhor my young fair years,
-  How long to wait for death and biers?
-
-  From setting sun to morning's hue
-  Many a head turns white.
-  Who'll credit it? My hair did not
-  In all this lifelong plight!
-
-=head2 v5.22.1-RC1 - Wilhelm Müller, trans. Anon., "Will-o'-the Wisp" (No. 9 in Schubert's song-cycle, "Winterreise")
-
-L<Announced on 2015-10-31 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/10/msg232321.html>
-
-  In the deepest rocky crevice
-  A will-o'-the wisp lured me;
-  How I could find my way from here,
-  For me it's easy memory!
-
-  For I am used to straying ways,
-  Every path to th'end a way,
-  All our joys and all our suffering,--
-  To a will-o'-the wisp it 's all play!
-
-  Through the dried-up bed of torrents
-  I quite calmly downward stroll;
-  Every stream its sea will enter,
-  Every suffering finds its goal!
-
 =head2 v5.22.0 - Gene Wolfe, The Citadel of the Autarch
 
 L<Announced on 2015-06-01 by Ricardo Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2015/06/msg228300.html>
@@ -1271,98 +326,6 @@ L<Announced on 2014-05-27 by Ricardo Signes|http://www.nntp.perl.org/group/perl.
   Till the work its master honour.
   Blessing comes from Heaven’s Donor.
 
-=head2 v5.20.3 - Elias Lönnrot, trans. Keith Bosley, "The Kalevala", Canto 42: Stealing the Sampo
-
-L<Announced on 2015-09-12 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/09/msg230945.html>
-
-  Steady old Väinämöinen
-  uttered a word and spoke thus:
-  'No lilting on the waters
-  and no singing on the waves!
-    Song keeps you lazy
-    tales delay rowing.
-  Precious day would pass and night
-  would overtake us midway
-    on these wide waters
-    upon these vast waves.'
-
-  The wanton Lemminkäinen
-  uttered a word and spoke thus:
-  'The time will pass anyway
-    the fair day will flee
-  and the night will come panting
-  and the twilight will steal in
-  if you don't sing while you live
-    nor hum in this world.'
-
-=head2 v5.20.3-RC2 - Anon., trans. Malcolm C. Lyons, "The Story of Abu Muhammad the Idle and the Marvels He Encountered with the Ape As Well As the Marvels of the Seas and Islands", from "Tales of the Marvellous and News of the Strange"
-
-L<Announced on 2015-08-29 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/08/msg230544.html>
-
-'I fled from Basra, sad and tearful, with no idea where I was going,
-and I was reciting these lines:
-
-  The pain of parting makes me melt away,
-  As lovers do when those they love are harsh.
-  I wonder at the patience that I showed
-  When I had lost my love, for that was wonderful.
-  Beloved, do you know that since you left,
-  I have remained confused in misery.
-
-I then heard a voice that said: "Damn you, have you no fear of
-Almighty God that you hand over a girl to an unbelieving 'ifrit?"  I
-walked for a time amongst the palm-trees until I caught sight of a
-person, whom I approached.  When I asked him who he was he said: "I
-am one of the jinn who were converted to Islam at the hands of 'Ali
-ibn Abi Talib, may God ennoble him."  "How can I get to my wife?" I
-asked him, and he said: "Wretched fellow, you had a bird which you
-allowed to fly away and now you want to fly after it."  But he
-added: "Follow this road with God's blessing all night until dawn
-and then by the shore you will see a huge cave in which there is an
-idol made of white stone.  You must drink of the water that there is
-coming out of the cave and smear your face with its mud.  Stay there
-and a barge will pass you as you stand opposite the statue.  Various
-different creatures will emerge, heads without bodies and bodies
-without heads, and they will prostrate themselves in adoration to
-the idol rather than to Almighty God.  When you see that, embark on
-the barge and cross to the other bank and walk along it until
-sunset.  On a high point you will see a castle built of bricks of
-gold and silver.  That is where your 'ifrit will be.  I have now
-told you about this, so goodbye."
-
-=head2 v5.20.3-RC1 - Anon., trans. Malcolm C. Lyons, "The Story of Abu Muhammad the Idle and the Marvels He Encountered with the Ape As Well As the Marvels of the Seas and Islands", from "Tales of the Marvellous and News of the Strange"
-
-L<Announced on 2015-08-22 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/08/msg230359.html>
-
-'On the night of the wedding the ape came to sit in front of me and
-asked me what I intended to do.  "Whatever you tell me," I replied,
-and he said: "Take care not to covet the girl, or I shall come back
-and burn you up and leave you as a lesson for those who can learn."
-I agreed to this and when evening came I found the world full of
-candles and torches burning in holders of gold and silver.  There
-were servants and serving girls, and everyone who saw me
-congratulated me on my good fortune, as there was no girl on the
-face of the earth more beautiful than my bride.
-[...]
-'Next morning I went out to the market, and people went in and asked
-her how the night had been.  "He never looked up at me," she told
-them.  Then, when it was afternoon, I went to my house, where the
-ape was sitting by the door.  "Tell me what you did," it said, and I
-told it: "By God, I did not learn and do not know whether this was a
-man or a girl."  "That's what I want," it said.
-[...]
-'On the second night my bride was brought to me, after which the
-servants left her and went away.  She fell asleep, and, while she
-was sleeping, I killed the cock, wrapped it in the cloth and put the
-four poles from the couch over it.  Suddenly there was a huge crash
-like a peal of thunder and a fiery 'ifrit swooped on the girl.  I
-fainted at the sight and when I recovered I heard a voice saying:
-"By the Lord of the Ka'ba, the girl has been carried off!" and there
-was a sound like the rustling of wind and bitter weeping.  At this I
-shed tears, struck my head and was filled with regret when it was no
-longer of any use, for to me the whole world was worth no more than
-a bean.
-
 =head2 v5.20.2 - Jonathan "Jonti" Picking, L<"Magical Trevor"|http://www.weebls-stuff.com/other-toons/video/magical-trevor.html>
 
 L<Announced on 2015-02-14 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/02/msg225777.html>
index 5cdabd9..11e22fd 100755 (executable)
@@ -148,7 +148,6 @@ my @writables = qw(
     perlapi.c
     cpan/Devel-PPPort/module2.c
     cpan/Devel-PPPort/module3.c
-    cpan/autodie/t/touch_me
     reentr.c
     reentr.h
     regcharclass.h
index abed27d..85ed67f 100644 (file)
@@ -378,14 +378,14 @@ here.
 
 XXX Generate this with:
 
-  perl Porting/acknowledgements.pl v5.22.3..HEAD
+  perl Porting/acknowledgements.pl v5.23.0..HEAD
 
 =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.
+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
index 56b8847..644e49c 100644 (file)
@@ -141,6 +141,12 @@ Andreas' email address at:
 
     https://pause.perl.org/pause/query?ACTION=pause_04imprint
 
+=head3 search.cpan.org pumpkin status
+
+Make sure that search.cpan.org knows that you're allowed to upload
+perl distros. Contact Graham Barr to make sure that you're on the right
+list.
+
 =head3 rt.perl.org update access
 
 Make sure you have permission to close tickets on L<http://rt.perl.org/>
@@ -159,20 +165,6 @@ release.  Have a chat with whichever evil perl porter tried to talk
 you into the idea in the first place to figure out the best way to
 resolve the issue.
 
-=head3 web-based file share
-
-You will need to be able to share tarballs with #p5p members for
-pre-release testing, and you may wish to upload to PAUSE via URL.
-Make sure you have a way of sharing files, such as a web server or
-file-sharing service.
-
-Porters have access to the "dromedary" server (users.perl5.git.perl.org),
-which has a F<public_html> directory to share files with.
-(L<http://users.perl5.git.perl.org/~username/perl-5.xx.y.tar.gz>)
-
-If you use Dropbox, you can append "raw=1" as a parameter to their usual
-sharing link to allow direct download (albeit with redirects).
-
 =head3 git clone of https://github.com/perlorg/perlweb
 
 For updating the L<http://dev.perl.org> web pages, either a Github account or
@@ -183,13 +175,6 @@ is only needed on the day of the release or shortly afterwards.
 
 You will need a quotation to use as an epigraph to your release announcement.
 
-=head3 Install the previous version of perl
-
-During the testing phase of the release you have created, you will be
-asked to compare the installed files with a previous install. Save yourself
-some time on release day, and have a (clean) install of the previous
-version ready.
-
 =head2 Building a release - advance actions
 
 The work of building a release candidate for an even numbered release
@@ -243,7 +228,7 @@ necessary, fix things up. For example, you might think that both blead
 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
+=head3 How to sync a CPAN module with a cpan/ distro
 
 =over 4
 
@@ -264,7 +249,7 @@ C<git checkout .gitignore> in the F<cpan/Distro> directory.
 =item *
 
 Remove files we do not need. That is, remove any files that match the
-entries in C<@IGNORABLE> in F<Porting/Maintainers.pl>, and anything that
+entries in C<@IGNORABLE> in F<Porting/Maintainer.pl>, and anything that
 matches the C<EXCLUDED> section of the distro's entry in the C<%Modules>
 hash.
 
@@ -278,7 +263,7 @@ into the repository anyway.
 =item *
 
 For any new files in the distro, determine whether they are needed.
-If not, delete them, and list them in either C<EXCLUDED> or C<@IGNORABLE>.
+If not, delete them, and list them in either C<EXCLUDED> or C<@INGORE>.
 Otherwise, add them to C<MANIFEST>, and run C<git add> to add the files
 to the repository.
 
@@ -307,7 +292,7 @@ Run the tests for the package.
 
 =item *
 
-Run the tests in F<t/porting> (C<make test_porting>).
+Run the tests in F<t/porting>.
 
 =item *
 
@@ -357,8 +342,8 @@ Ensure dual-life CPAN modules are stable, which comes down to:
 =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/>
-and L<http://perl.develop-help.com> for a summary. See also
+L<http://doc.procura.nl/smoke/index.html> and L<http://perl5.test-smoke.org/>
+for a summary. See also
 L<http://www.nntp.perl.org/group/perl.daily-build.reports/> which has
 the raw reports.
 
@@ -374,11 +359,6 @@ at http://analysis.cpantesters.org/beforemaintrelease to see how the impending
 release is performing compared to previous releases with regard to building
 and testing CPAN modules.
 
-That page accepts a query parameter, C<pair> that takes a pair of
-colon-delimited versions to use for comparison.  For example:
-
-http://analysis.cpantesters.org/beforemaintrelease?pair=5.20.2:5.22.0%20RC1
-
 =head3 update perldelta
 
 Get perldelta in a mostly finished state.
@@ -433,31 +413,32 @@ to guarantee binary compatibility in maint branches.
 After editing, regenerate uconfig.h (this must be run on a system with a
 /bin/sh available):
 
- $ perl regen/uconfig_h.pl
   $ perl regen/uconfig_h.pl
 
 This might not cause any new changes.
 
 You may also need to regen opcodes:
 
- $ ./perl -Ilib regen/opcode.pl
   $ ./perl -Ilib regen/opcode.pl
 
-Test your changes:
+You may have to add stub entries in C<%Module::CoreList::version>,
+C<%Module::CoreList::deprecated> and C<%Module::CoreList::Utils::delta>.
+If so, you must up their version numbers as well.
 
- $ git clean -xdf   # careful if you don't have local files to keep!
- $ ./Configure -des -Dusedevel
- $ make
- $ make test
+Test your changes:
 
-Do note that at this stage, porting tests will fail. They will continue
-to fail until you've updated Module::CoreList, as described below.
+    $ git clean -xdf   # careful if you don't have local files to keep!
+    $ ./Configure -des -Dusedevel
+    $ make
+    $ make test
 
 Commit your changes:
 
- $ git status
- $ git diff
- B<review the delta carefully>
   $ git status
   $ git diff
   B<review the delta carefully>
 
- $ git commit -a -m 'Bump the perl version in various places for 5.x.y'
   $ git commit -a -m 'Bump the perl version in various places for 5.x.y'
 
 At this point you may want to compare the commit with a previous bump to
 see if they look similar.  See commit f7cf42bb69 for an example of a
@@ -484,9 +465,7 @@ release in the previous development cycle (so for example, for a 5.14.x
 release, this would be 5.13.11).
 
 For BLEAD-POINT releases, it needs to refer to the previous BLEAD-POINT
-release (so for 5.15.3 this would be 5.15.2).  If the last release manager
-followed instructions, this should have already been done after the last
-blead release, so you may find nothing to do here.
+release (so for 5.15.3 this would be 5.15.2).
 
 =head3 Check copyright years
 
@@ -573,7 +552,7 @@ For each Perl release since the previous release of the current branch, check
 for modules that have identical version numbers but different contents by
 running:
 
-    $ ./perl -Ilib Porting/cmpVERSION.pl --tag=v5.X.YY
+    $ ./perl Porting/cmpVERSION.pl --tag=v5.X.YY
 
 (This is done automatically by F<t/porting/cmp_version.t> for the previous
 release of the current branch, but not for any releases from other branches.)
@@ -655,14 +634,10 @@ Check those files over carefully:
 =head4 Bump version in Module::CoreList F<Changes>
 
 Also edit Module::CoreList's new version number in its F<Changes> file.
-This file is F<dist/Module-CoreList/Changes>.
 
 =head4 Add Module::CoreList version bump to perldelta
 
-Add a perldelta entry for the new Module::CoreList version. You only
-need to do this if you want to add notes about the changes included
-with this version of Module::CoreList. Otherwise, its version bump
-will be automatically filled in below in L<finalize perldelta>.
+Add a perldelta entry for the new Module::CoreList version.
 
 =for checklist skip RC
 
@@ -868,7 +843,7 @@ directory, they will still identify themselves using git tags and
 commits. (Note that for an odd-numbered version, perl will install
 itself as C<perl5.x.y>). C<perl -v> will identify itself as:
 
- This is perl 5, version X, subversion Y (v5.X.Y (v5.X.Z-NNN-gdeadbeef))
   This is perl 5, version X, subversion Y (v5.X.Y (v5.X.Z-NNN-gdeadbeef))
 
 where 5.X.Z is the latest tag, NNN the number of commits since this tag,
 and C<< deadbeef >> commit of that tag.
@@ -904,22 +879,17 @@ utility is included with most modern UNIX-type operating systems and
 is available for Cygwin. A Windows port is available from
 L<http://tukaani.org/xz/>.
 
-B<IMPORTANT>: if you are on OS X, you must export C<COPYFILE_DISABLE=1>
-to prevent OS X resource files from being included in your tarball. After
-creating the tarball following the instructions below, inspect it to ensure
-you don't have files like F<._foobar>.
-
 Create a tarball. Use the C<-s> option to specify a suitable suffix for
 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
   $ 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
 
- $ perl Porting/makerel -bx -s RC1            # for a release candidate
- $ perl Porting/makerel -bx                   # for the release itself
   $ perl Porting/makerel -bx -s RC1            # for a release candidate
   $ perl Porting/makerel -bx                   # for the release itself
 
 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
@@ -947,20 +917,12 @@ Once you have a tarball it's time to test the tarball (not the repository).
 Copy the tarballs (.gz and possibly .bz2 and .xz) to a web server somewhere you
 have access to.
 
-=head4 Download the tarball to another machine and unpack it
+=head4 Download the tarball to another machine
 
 Download the tarball to some other machine. For a release candidate,
 you really want to test your tarball on two or more different platforms
-and architectures.
-
-=head4 Ask #p5p to test the tarball on different platforms
-
-Once you've verified the tarball can be downloaded and unpacked,
-ask the #p5p IRC channel on irc.perl.org for volunteers to test the
-tarballs on whatever platforms they can.
-
-If you're not confident in the tarball, you can defer this step until after
-your own tarball testing, below.
+and architectures. The #p5p IRC channel on irc.perl.org is a good place
+to find willing victims.
 
 =head4 Check that F<Configure> works
 
@@ -975,9 +937,9 @@ Check that basic configuration and tests work on each test machine:
 
 Check that the test harness and install work on each test machine:
 
- $ make distclean
- $ ./Configure -des -Dprefix=/install/path && make all test_harness install
- $ cd /install/path
   $ make distclean
   $ ./Configure -des -Dprefix=/install/path && make all test_harness install
   $ cd /install/path
 
 =head4 Check C<perl -v> and C<perl -V>
 
@@ -1091,14 +1053,10 @@ high-reliability connection to the Internet, you should probably use the
 new release from wherever you put it for testers to find it.  This will
 eliminate anxious gnashing of teeth while you wait to see if your
 15 megabyte HTTP upload successfully completes across your slow, twitchy
-cable modem.
-
-You can make use of your home directory on dromedary for
+cable modem.  You can make use of your home directory on dromedary for
 this purpose: F<http://users.perl5.git.perl.org/~USERNAME> maps to
 F</home/USERNAME/public_html>, where F<USERNAME> is your login account
-on dromedary.
-
-I<Remember>: if your upload is partially successful, you
+on dromedary.  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.
@@ -1356,9 +1314,9 @@ I<You MUST SKIP this step for RC, BLEAD-POINT>
 
 Copy the perldelta.pod for this release into blead; for example:
 
- $ cd ..../blead
$ cp -i ../5.10.x/pod/perldelta.pod pod/perl5101delta.pod  #for example
- $ git add pod/perl5101delta.pod
   $ cd ..../blead
   $ cp -i ../5.10.x/pod/perldelta.pod pod/perl5101delta.pod  # for example
   $ git add pod/perl5101delta.pod
 
 Don't forget to set the NAME correctly in the new file (e.g. perl5101delta
 rather than perldelta).
@@ -1385,6 +1343,18 @@ F<perlhist.pod> on blead.  e.g.
 
     5.8.9         2008-Dec-14
 
+=head3 bump RT version number
+
+Log into http://rt.perl.org/ and check whether the new version is in the RT
+fields C<Perl Version> and C<Fixed In>. The easiest way to determine this is to
+open up any ticket for modification and check the drop downs next to the
+C<Perl Version> and C<Fixed In> labels.
+
+Here, try this link: L<https://rt.perl.org/Ticket/Modify.html?id=10000>
+
+If the new version is not listed there, send an email to C<perlbug-admin at
+perl.org> requesting this.
+
 =head3 Relax!
 
 I<You MUST RETIRE to your preferred PUB, CAFE or SEASIDE VILLA for some
@@ -1450,8 +1420,8 @@ test_porting makefile target to check that they're ok.
 
 Run
 
- $ ./perl -Ilib -MModule::CoreList \
-    -le 'print Module::CoreList->find_version($]) ? "ok" : "not ok"'
   $ ./perl -Ilib -MModule::CoreList \
+        -le 'print Module::CoreList->find_version($]) ? "ok" : "not ok"'
 
 and check that it outputs "ok" to prove that Module::CoreList now knows
 about blead's current version.
@@ -1476,19 +1446,19 @@ to ensure that the tarballs are available on the website.
 
 =item *
 
-Check F</src> on CPAN (on a fast mirror) to ensure that links to
-the new tarballs have appeared: There should be links in F</src/5.0>
+Check C</src> on CPAN (on a fast mirror) to ensure that links to
+the new tarballs have appeared: There should be links in C</src/5.0>
 (which is accumulating all new versions), and (for BLEAD-FINAL and
-MAINT only) an appropriate mention in F</src/README.html> (which describes
+MAINT only) an appropriate mention in C</src/README.html> (which describes
 the latest versions in each stable branch, with links).
 
-The F</src/5.0> links should appear automatically, some hours after upload.
-If they don't, or the F</src> description is inadequate,
+The C</src/5.0> links should appear automatically, some hours after upload.
+If they don't, or the C</src> description is inadequate,
 ask Ask <ask@perl.org>.
 
 =item *
 
-Check L<http://www.cpan.org/src/> to ensure that the F</src> updates
+Check L<http://www.cpan.org/src/> to ensure that the C</src> updates
 have been correctly mirrored to the website.
 If they haven't, ask Ask <ask@perl.org>.
 
index 92b7b59..31b4ee1 100644 (file)
@@ -11,30 +11,29 @@ release schedules for the next, current and previous stable versions
 of Perl.  Dates with two or more question marks will only be releases if
 deemed necessary by the Pumpking.
 
-=head2 Perl 5.22
+=head2 Perl 5.24
+
+Code freezes (which happen in the 5.23.X series)
 
-Code freezes (which happen in the 5.21.X series)
+  2016-01-20  5.23.7          Contentious changes freeze
+  2016-02-20  5.23.8          User-visible changes freeze
+  2016-03-20  5.23.9          Full code freeze
+  2016-05-20  5.24.0          Stable release!
+
+=head2 Perl 5.22
 
-  2015-01-20  5.21.8          Contentious changes freeze
-  2015-02-20  5.21.9          User-visible changes freeze
-  2015-03-20  5.21.10         Full code freeze
-  2015-05-20  5.22.0          Stable release!
+  2015-06-01  5.22.0 ✓        Ricardo Signes
+  2015-09-??  5.22.1          Steve Hay
+  2016-??-??  5.22.2          Steve Hay
+  2016-??-??  5.22.3          ??
 
 =head2 Perl 5.20
 
   2014-05-27  5.20.0 ✓        Ricardo Signes
   2014-09-14  5.20.1 ✓        Steve Hay
   2015-02-14  5.20.2 ✓        Steve Hay
-  2015-??-??  5.20.3          ??
-
-=head2 Perl 5.18
-
-  2013-05-18  5.18.0 ✓        Ricardo Signes
-  2013-08-12  5.18.1 ✓        Ricardo Signes
-  2014-01-06  5.18.2 ✓        Ricardo Signes
-  2014-10-01  5.18.3 ✓        Ricardo Signes
-  2014-10-01  5.18.4 ✓        Ricardo Signes
-  2015-??-??  5.18.5          ??
+  2015-07-??  5.20.3          Steve Hay
+  2016-??-??  5.20.4          ??
 
 =head1 DEVELOPMENT RELEASE SCHEDULE
 
@@ -50,22 +49,17 @@ When shipping a release, you should include the schedule for (at least)
 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.21
-
-  2014-05-20  5.21.0  ✓       Ricardo Signes
-  2014-06-20  5.21.1  ✓       Matthew Horsfall
-  2014-07-20  5.21.2  ✓       Abigail
-  2014-08-20  5.21.3  ✓       Peter Martini
-  2014-09-20  5.21.4  ✓       Steve Hay
-  2014-10-20  5.21.5  ✓       Abigail
-  2014-11-20  5.21.6  ✓       Chris "BinGOs" Williams
-  2014-12-20  5.21.7  ✓       Max Maischein
-  2015-01-20  5.21.8  ✓       Matthew Horsfall
-  2015-02-20  5.21.9  ✓       Sawyer X
-  2015-03-20  5.21.10 ✓       Steve Hay
-  2015-04-20  5.21.11 ✓       Steve Hay
-
-(RC0 for 5.22.0 will be released once we think that all the blockers have been
+=head2 Perl 5.23
+
+  2015-06-20  5.23.0          Ricardo Signes
+  2015-07-20  5.23.1          Matthew Horsfall
+  2015-08-20  5.23.2          ?
+  2015-09-20  5.23.3          ?
+  2015-10-20  5.23.4          Steve Hay
+  2015-11-20  5.23.5          Abigail
+  2015-12-20  5.23.6          ?
+
+(RC0 for 5.24.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
@@ -94,7 +88,7 @@ Max Maischein <corion@cpan.org>
 Peter Martini <petercmartini@gmail.com>
 Philippe Bruhat <book@cpan.org>
 Ricardo Signes <rjbs@cpan.org>
-Stevan Little <stevan@cpan.org>
+Stevan Little <stevan.little@iinteractive.com>
 Steve Hay <steve.m.hay@googlemail.com>
 Tatsuhiko Miyagawa <miyagawa@bulknews.net>
 Tony Cook <tony@develop-help.com>
index d555bca..80bbdd0 100644 (file)
@@ -467,7 +467,7 @@ Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall.
 On these systems, it might be the default compilation mode, and there
 is currently no guarantee that passing no use64bitall option to the
 Configure process will build a 32bit perl. Implementing -Duse32bit*
-options would be nice for perl 5.22.3.
+options would be nice for perl 5.23.0.
 
 =head2 Profile Perl - am I hot or not?
 
@@ -1169,7 +1169,7 @@ L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-01/msg00339.html>
 =head1 Big projects
 
 Tasks that will get your name mentioned in the description of the "Highlights
-of 5.22.3"
+of 5.23.0"
 
 =head2 make ithreads more robust
 
diff --git a/README b/README
index 02ac59c..e69b0ec 100644 (file)
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
 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 by Larry Wall and others.  All rights reserved.
 
 
 
index 7142595..691da50 100644 (file)
@@ -107,9 +107,6 @@ DES crypt port by Corinna Vinschen.
 
 Alternatively, the crypt libraries in GNU libc have been ported to Cygwin.
 
-As of libcrypt 1.3 (March 2016), you will need to install the
-libcrypt-devel package for Configure to detect crypt().
-
 =item * C<-lgdbm_compat> (C<use GDBM_File>)
 
 GDBM is available for Cygwin.
index 409dacd..8c13e41 100644 (file)
@@ -22,9 +22,9 @@ The build procedure is completely standard:
 Make perl executable and create a symlink for libperl:
 
   chmod a+x /boot/common/bin/perl
-  cd /boot/common/lib; ln -s perl5/5.22.3/BePC-haiku/CORE/libperl.so .
+  cd /boot/common/lib; ln -s perl5/5.23.0/BePC-haiku/CORE/libperl.so .
 
-Replace C<5.22.3> with your respective version of Perl.
+Replace C<5.23.0> with your respective version of Perl.
 
 =head1 KNOWN PROBLEMS
 
index 838a34e..5c98b0a 100644 (file)
@@ -10,9 +10,9 @@ perlmacosx - Perl under Mac OS X
 
 This document briefly describes Perl under Mac OS X.
 
-  curl -O http://www.cpan.org/src/perl-5.22.3.tar.gz
-  tar -xzf perl-5.22.3.tar.gz
-  cd perl-5.22.3
+  curl -O http://www.cpan.org/src/perl-5.23.0.tar.gz
+  tar -xzf perl-5.23.0.tar.gz
+  cd perl-5.23.0
   ./Configure -des -Dprefix=/usr/local/
   make
   make test
@@ -20,7 +20,7 @@ This document briefly describes Perl under Mac OS X.
 
 =head1 DESCRIPTION
 
-The latest Perl release (5.22.3 as of this writing) builds without changes
+The latest Perl release (5.23.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',
index 1afb2dd..9be52ba 100644 (file)
@@ -619,7 +619,7 @@ C<set PERLLIB_PREFIX> in F<Config.sys>, see L<"PERLLIB_PREFIX">.
 
 =item Additional Perl modules
 
-  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.22.3/
+  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.23.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
index bc01d64..67e8198 100644 (file)
@@ -142,11 +142,11 @@ You may need to set up a foreign symbol for the unpacking utility of
 choice.  Once you have done so, use a command like the following to
 unpack the archive:
 
-    vmstar -xvf perl-5^.22^.3.tar
+    vmstar -xvf perl-5^.23^.0.tar
 
 Then set default to the top-level source directory like so:
 
-    set default [.perl-5^.22^.3]
+    set default [.perl-5^.23^.0]
 
 and proceed with configuration as described in the next section.
 
index 8621990..ec29cfa 100644 (file)
@@ -42,7 +42,7 @@ following compilers on the Intel x86 architecture:
       Microsoft Visual C++    version 6.0 or later
       Intel C++ Compiler      (experimental)
       Gcc by mingw.org        gcc version 3.4.5 or later
-      Gcc by mingw-w64.org    gcc version 4.4.3 or later
+      Gcc by mingw-w64.sf.net gcc version 4.4.3 or later
 
 Note that the last two of these are actually competing projects both
 delivering complete gcc toolchain for MS Windows:
@@ -53,7 +53,7 @@ delivering complete gcc toolchain for MS Windows:
 
 Delivers gcc toolchain targeting 32-bit Windows platform.
 
-=item L<http://mingw-w64.org>
+=item L<http://mingw-w64.sf.net>
 
 Delivers gcc toolchain targeting both 64-bit Windows and 32-bit Windows
 platforms (despite the project name "mingw-w64" they are not only 64-bit
@@ -74,7 +74,7 @@ This port can also be built on IA64/AMD64 using:
       MinGW64 compiler (gcc version 4.4.3 or later)
 
 The Windows SDK can be downloaded from L<http://www.microsoft.com/>.
-The MinGW64 compiler is available at L<http://mingw-w64.org>.
+The MinGW64 compiler is available at L<http://sourceforge.net/projects/mingw-w64>.
 The latter is actually a cross-compiler targeting Win64. There's also a trimmed
 down compiler (no java, or gfortran) suitable for building perl available at:
 L<http://strawberryperl.com/package/kmx/64_gcctoolchain/>
@@ -369,7 +369,7 @@ You will have to make sure that CCTYPE is set correctly and that
 CCHOME points to wherever you installed your compiler.
 
 If building with the cross-compiler provided by
-mingw-w64.org you'll need to uncomment the line that sets
+mingw-w64.sourceforge.net you'll need to uncomment the line that sets
 GCCCROSS in the makefile.mk. Do this only if it's the cross-compiler - ie
 only if the bin folder doesn't contain a gcc.exe. (The cross-compiler
 does not provide a gcc.exe, g++.exe, ar.exe, etc. Instead, all of these
@@ -396,7 +396,7 @@ Be sure to read the instructions near the top of the makefiles carefully.
 Type "dmake" (or "nmake" if you are using that make).
 
 This should build everything.  Specifically, it will create perl.exe,
-perl522.dll at the perl toplevel, and various other extension dll's
+perl523.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.
 
diff --git a/av.c b/av.c
index 90e26af..2d9717a 100644 (file)
--- a/av.c
+++ b/av.c
@@ -432,15 +432,11 @@ Perl_av_make(pTHX_ SSize_t size, SV **strp)
 /*
 =for apidoc av_clear
 
-Frees the all the elements of an array, leaving it empty.
-The XS equivalent of C<@array = ()>.  See also L</av_undef>.
+Clears an array, making it empty.  Does not free the memory the av uses to
+store its list of scalars.  If any destructors are triggered as a result,
+the av itself may be freed when this function returns.
 
-Note that it is possible that the actions of a destructor called directly
-or indirectly by freeing an element of the array could cause the reference
-count of the array itself to be reduced (e.g. by deleting an entry in the
-symbol table). So it is a possibility that the AV could have been freed
-(or even reallocated) on return from the call unless you hold a reference
-to it.
+Perl equivalent: C<@myarray = ();>.
 
 =cut
 */
@@ -500,13 +496,9 @@ Perl_av_clear(pTHX_ AV *av)
 /*
 =for apidoc av_undef
 
-Undefines the array. The XS equivalent of C<undef(@array)>.
-
-As well as freeing all the elements of the array (like C<av_clear()>), this
-also frees the memory used by the av to store its list of scalars.
-
-See L</av_clear> for a note about the array possibly being invalid on
-return.
+Undefines the array.  Frees the memory used by the av to store its list of
+scalars.  If any destructors are triggered as a result, the av itself may
+be freed.
 
 =cut
 */
index ec70ed2..f3e44ad 100755 (executable)
--- a/cflags.SH
+++ b/cflags.SH
@@ -387,9 +387,6 @@ echo "cflags.SH: warn     = $warn"
 # Code to set any extra flags here.
 extra=''
 
-# Protect double or single quotes for better restoring of ccflags.
-myccflags=`echo $ccflags | sed -e 's/"/\\\"/g' -e "s/'/\\\'/g"`
-
 echo "Extracting cflags (with variable substitutions)"
 # This section of the file will have variable substitutions done on it.
 # Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!.
@@ -404,8 +401,7 @@ $startsh
 # This file is generated by cflags.SH
 
 # Used to restore possible edits by cflags.SH.
-myccflags="$myccflags"
-
+myccflags="$ccflags"
 # Extra warnings, used e.g. for gcc.
 warn="$warn"
 # Extra standardness.
index 9051766..076d223 100644 (file)
@@ -43,7 +43,7 @@ static const UV ASCII_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV Cased_invlist[] = { /* for ASCII/Latin1 */
-       255,    /* Number of elements */
+       263,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -108,6 +108,10 @@ static const UV Cased_invlist[] = { /* for ASCII/Latin1 */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1D00,
        0x1DC0,
        0x1E00,
@@ -215,15 +219,15 @@ static const UV Cased_invlist[] = { /* for ASCII/Latin1 */
        0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F8,
        0xA7FB,
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -234,6 +238,10 @@ static const UV Cased_invlist[] = { /* for ASCII/Latin1 */
        0xFF5B,
        0x10400,
        0x10450,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x118A0,
        0x118E0,
        0x1D400,
@@ -305,7 +313,7 @@ static const UV Cased_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
-       1484,   /* Number of elements */
+       1502,   /* 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 */
@@ -372,7 +380,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
        0x82E,
        0x859,
        0x85C,
-       0x8E4,
+       0x8E3,
        0x903,
        0x904,
        0x93A,
@@ -640,10 +648,6 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
        0x1933,
        0x1939,
        0x193C,
-       0x19B5,
-       0x19B8,
-       0x19BA,
-       0x19BB,
        0x1A17,
        0x1A19,
        0x1A1B,
@@ -744,7 +748,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
        0xA673,
        0xA674,
        0xA67E,
-       0xA69F,
+       0xA69E,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -1633,7 +1637,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFEFF,
        0xFF00,
        0xFF9E,
@@ -1689,6 +1693,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
        0x111B6,
        0x111BF,
        0x111C1,
+       0x111CA,
+       0x111CD,
        0x1122C,
        0x1122F,
        0x11232,
@@ -1700,7 +1706,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
        0x112E0,
        0x112E3,
        0x112EB,
-       0x11301,
+       0x11300,
        0x11302,
        0x11304,
        0x1133C,
@@ -1743,6 +1749,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
        0x115BE,
        0x115BF,
        0x115C1,
+       0x115DC,
+       0x115DE,
        0x11630,
        0x11633,
        0x1163B,
@@ -1758,6 +1766,12 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
        0x116B6,
        0x116B7,
        0x116B8,
+       0x1171D,
+       0x11720,
+       0x11722,
+       0x11726,
+       0x11727,
+       0x1172C,
        0x16AF0,
        0x16AF5,
        0x16B30,
@@ -1785,6 +1799,18 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */
        0x1D1AE,
        0x1D242,
        0x1D245,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E8D0,
        0x1E8D7,
        0x1F1E6,
@@ -2150,10 +2176,6 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */
        GCB_SpacingMark,
        GCB_Extend,
        GCB_Other,
-       GCB_SpacingMark,
-       GCB_Other,
-       GCB_SpacingMark,
-       GCB_Other,
        GCB_Extend,
        GCB_SpacingMark,
        GCB_Extend,
@@ -3199,6 +3221,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */
        GCB_Extend,
        GCB_SpacingMark,
        GCB_Other,
+       GCB_Extend,
+       GCB_Other,
        GCB_SpacingMark,
        GCB_Extend,
        GCB_SpacingMark,
@@ -3253,6 +3277,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */
        GCB_SpacingMark,
        GCB_Extend,
        GCB_Other,
+       GCB_Extend,
+       GCB_Other,
        GCB_SpacingMark,
        GCB_Extend,
        GCB_SpacingMark,
@@ -3269,6 +3295,12 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */
        GCB_Extend,
        GCB_Other,
        GCB_Extend,
+       GCB_SpacingMark,
+       GCB_Extend,
+       GCB_SpacingMark,
+       GCB_Extend,
+       GCB_Other,
+       GCB_Extend,
        GCB_Other,
        GCB_Extend,
        GCB_Other,
@@ -3297,6 +3329,18 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */
        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_Control,
@@ -3362,7 +3406,7 @@ static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */
-       235,    /* Number of elements */
+       247,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -3431,7 +3475,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */
        0x28D,
        0x292,
        0x293,
-       0x29E,
+       0x29D,
        0x29F,
        0x2BC,
        0x2BD,
@@ -3489,6 +3533,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1D79,
        0x1D7A,
        0x1D7D,
@@ -3588,7 +3636,11 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */
        0xA796,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
+       0xAB53,
+       0xAB54,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -3599,6 +3651,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */
        0xFF5B,
        0x10400,
        0x10450,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x118A0,
        0x118E0
 };
@@ -3674,7 +3730,7 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for ASCII/Latin1 */
 #if defined(PERL_IN_UTF8_C)
 
 static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
-       1267,   /* Number of elements */
+       1317,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -3778,8 +3834,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x840,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x964,
        0x966,
        0x970,
@@ -3869,6 +3925,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -3950,7 +4008,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -3999,7 +4057,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -4144,7 +4202,9 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -4388,7 +4448,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -4402,19 +4462,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0xA674,
        0xA67E,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F2,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA828,
        0xA840,
@@ -4427,6 +4483,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92E,
        0xA930,
@@ -4468,10 +4526,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABEC,
        0xABEE,
@@ -4518,7 +4574,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -4623,6 +4679,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -4663,6 +4723,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11047,
        0x11066,
@@ -4683,17 +4747,31 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x11177,
        0x11180,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -4713,6 +4791,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -4731,6 +4811,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x11641,
        0x11644,
@@ -4741,6 +4823,12 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -4748,11 +4836,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -4865,6 +4957,18 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -4941,6 +5045,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0100,
@@ -4948,7 +5054,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
-       1095,   /* Number of elements */
+       1129,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -5052,7 +5158,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
+       0x8B5,
        0x904,
        0x93A,
        0x93D,
@@ -5123,6 +5229,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0xAD1,
        0xAE0,
        0xAE2,
+       0xAF9,
+       0xAFA,
        0xB05,
        0xB0D,
        0xB0F,
@@ -5176,7 +5284,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0xC3D,
        0xC3E,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC85,
@@ -5207,7 +5315,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0xD3E,
        0xD4E,
        0xD4F,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD7A,
        0xD80,
@@ -5330,7 +5438,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -5375,8 +5485,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x1975,
        0x1980,
        0x19AC,
-       0x19C1,
-       0x19C8,
+       0x19B0,
+       0x19CA,
        0x1A00,
        0x1A17,
        0x1A20,
@@ -5544,7 +5654,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -5566,11 +5676,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -5587,6 +5695,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA90A,
        0xA926,
        0xA930,
@@ -5644,10 +5754,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABE3,
        0xAC00,
        0xD7A4,
@@ -5781,6 +5889,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -5815,6 +5927,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11003,
        0x11038,
        0x11083,
@@ -5833,10 +5949,22 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x111C5,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x1122C,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112DF,
        0x11305,
@@ -5853,6 +5981,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x1133A,
        0x1133D,
        0x1133E,
+       0x11350,
+       0x11351,
        0x1135D,
        0x11362,
        0x11480,
@@ -5863,12 +5993,16 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x114C8,
        0x11580,
        0x115AF,
+       0x115D8,
+       0x115DC,
        0x11600,
        0x11630,
        0x11644,
        0x11645,
        0x11680,
        0x116AB,
+       0x11700,
+       0x1171A,
        0x118A0,
        0x118E0,
        0x118FF,
@@ -5876,11 +6010,15 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -6045,6 +6183,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
@@ -6054,7 +6194,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
 #if defined(PERL_IN_PERL_C)
 
 static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
-       2835,   /* Number of elements */
+       2896,   /* 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 */
@@ -6760,8 +6900,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x859,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x904,
        0x93A,
        0x93D,
@@ -6871,6 +7011,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -6957,7 +7099,7 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC64,
@@ -7012,7 +7154,7 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD64,
        0xD66,
@@ -7192,7 +7334,9 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166E,
@@ -7267,8 +7411,6 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x1980,
        0x19AC,
        0x19B0,
-       0x19C1,
-       0x19C8,
        0x19CA,
        0x19D0,
        0x19DA,
@@ -7955,7 +8097,7 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -8049,7 +8191,6 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0xA69A,
        0xA69B,
        0xA69E,
-       0xA69F,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -8183,7 +8324,10 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0xA7AA,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
+       0xA7B8,
        0xA7F7,
        0xA7F8,
        0xA7FB,
@@ -8211,6 +8355,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA90A,
        0xA926,
@@ -8284,9 +8430,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
        0xABC0,
        0xABE3,
        0xABEB,
@@ -8341,7 +8486,7 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0xFE17,
        0xFE19,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE31,
        0xFE33,
        0xFE35,
@@ -8475,6 +8620,10 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -8520,6 +8669,10 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11003,
        0x11038,
@@ -8557,11 +8710,16 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x111C1,
        0x111C5,
        0x111C7,
+       0x111CA,
        0x111CD,
        0x111CE,
        0x111D0,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
+       0x111DE,
+       0x111E0,
        0x11200,
        0x11212,
        0x11213,
@@ -8570,12 +8728,23 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x1123A,
        0x1123B,
        0x1123D,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
+       0x112AA,
        0x112B0,
        0x112DF,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -8597,6 +8766,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -8622,7 +8793,9 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x115C2,
        0x115C4,
        0x115C9,
-       0x115CA,
+       0x115D8,
+       0x115DC,
+       0x115DE,
        0x11600,
        0x11630,
        0x11641,
@@ -8636,6 +8809,14 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
+       0x1173C,
+       0x1173F,
        0x118A0,
        0x118C0,
        0x118E0,
@@ -8645,11 +8826,15 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -8801,6 +8986,20 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA88,
+       0x1DA89,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -8885,6 +9084,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -9734,6 +9935,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Other,
        SB_Numeric,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Extend,
        SB_Other,
        SB_OLetter,
@@ -10054,7 +10257,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Other,
        SB_OLetter,
        SB_Other,
-       SB_OLetter,
+       SB_Upper,
+       SB_Other,
+       SB_Lower,
        SB_Other,
        SB_OLetter,
        SB_Other,
@@ -10129,9 +10334,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Other,
        SB_OLetter,
        SB_Other,
-       SB_Extend,
        SB_OLetter,
-       SB_Extend,
        SB_Other,
        SB_Numeric,
        SB_Other,
@@ -10911,7 +11114,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Lower,
        SB_Upper,
        SB_Lower,
-       SB_Other,
        SB_Extend,
        SB_OLetter,
        SB_Extend,
@@ -11018,7 +11220,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Lower,
        SB_Upper,
        SB_Lower,
-       SB_Other,
+       SB_OLetter,
        SB_Upper,
        SB_Lower,
        SB_Upper,
@@ -11046,6 +11248,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Upper,
        SB_Other,
        SB_Upper,
+       SB_Lower,
+       SB_Upper,
+       SB_Lower,
        SB_Other,
        SB_OLetter,
        SB_Lower,
@@ -11074,6 +11279,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Numeric,
        SB_OLetter,
        SB_Extend,
@@ -11149,7 +11356,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Lower,
        SB_Other,
        SB_Lower,
-       SB_Other,
        SB_OLetter,
        SB_Extend,
        SB_STerm,
@@ -11347,6 +11553,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_OLetter,
        SB_Other,
        SB_OLetter,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
+       SB_OLetter,
        SB_Extend,
        SB_Other,
        SB_Extend,
@@ -11383,6 +11593,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_Upper,
+       SB_Other,
+       SB_Lower,
+       SB_Other,
        SB_Extend,
        SB_OLetter,
        SB_Extend,
@@ -11420,6 +11634,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_OLetter,
        SB_STerm,
        SB_Other,
+       SB_Extend,
        SB_STerm,
        SB_Other,
        SB_Numeric,
@@ -11427,6 +11642,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_STerm,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_OLetter,
        SB_Extend,
        SB_STerm,
@@ -11434,6 +11653,17 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_STerm,
        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,
@@ -11460,6 +11690,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Other,
        SB_Extend,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Extend,
        SB_Other,
        SB_OLetter,
@@ -11485,6 +11717,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_STerm,
        SB_Other,
        SB_STerm,
+       SB_OLetter,
+       SB_Extend,
        SB_Other,
        SB_OLetter,
        SB_Extend,
@@ -11499,6 +11733,14 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        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,
@@ -11517,6 +11759,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Numeric,
        SB_Other,
        SB_STerm,
@@ -11664,6 +11910,20 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        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_OLetter,
        SB_Other,
        SB_Extend,
@@ -11750,6 +12010,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Format,
        SB_Other,
        SB_Format,
@@ -11791,7 +12053,7 @@ static const UV VertSpace_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
-       1480,   /* Number of elements */
+       1524,   /* 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 */
@@ -11960,8 +12222,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x859,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x904,
        0x93A,
        0x93D,
@@ -12071,6 +12333,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -12157,7 +12421,7 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC64,
@@ -12212,7 +12476,7 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD64,
        0xD66,
@@ -12353,7 +12617,9 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -12408,10 +12674,6 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x193C,
        0x1946,
        0x1950,
-       0x19B0,
-       0x19C1,
-       0x19C8,
-       0x19CA,
        0x19D0,
        0x19DA,
        0x1A00,
@@ -12653,7 +12915,6 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0xA67E,
        0xA67F,
        0xA69E,
-       0xA69F,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -12662,11 +12923,9 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -12689,6 +12948,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA90A,
        0xA926,
@@ -12750,10 +13011,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABE3,
        0xABEB,
        0xABEC,
@@ -12802,7 +13061,7 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0xFE14,
        0xFE15,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -12917,6 +13176,10 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -12960,6 +13223,10 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11003,
        0x11038,
@@ -12992,20 +13259,34 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x111B3,
        0x111C1,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x1122C,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112DF,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -13027,6 +13308,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -13049,6 +13332,9 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DC,
+       0x115DE,
        0x11600,
        0x11630,
        0x11641,
@@ -13061,6 +13347,10 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118E0,
        0x118EA,
@@ -13069,11 +13359,15 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -13191,6 +13485,18 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -13582,6 +13888,8 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_Other,
        WB_Numeric,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -13878,6 +14186,8 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
+       WB_Other,
+       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -13919,10 +14229,6 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_Other,
        WB_Numeric,
        WB_Other,
-       WB_Extend,
-       WB_Other,
-       WB_Extend,
-       WB_Other,
        WB_Numeric,
        WB_Other,
        WB_ALetter,
@@ -14163,7 +14469,6 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_Extend,
        WB_Other,
        WB_ALetter,
-       WB_Other,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -14177,8 +14482,6 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
-       WB_Other,
-       WB_ALetter,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -14200,6 +14503,8 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Numeric,
        WB_ALetter,
        WB_Extend,
@@ -14263,8 +14568,6 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
-       WB_Other,
-       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_Extend,
@@ -14437,6 +14740,10 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_Extend,
@@ -14471,6 +14778,10 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -14503,15 +14814,29 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        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_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,
@@ -14538,6 +14863,8 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_Other,
        WB_Extend,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -14564,6 +14891,9 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_Extend,
        WB_Other,
        WB_ALetter,
+       WB_Extend,
+       WB_Other,
+       WB_ALetter,
        WB_Other,
        WB_Numeric,
        WB_Other,
@@ -14572,6 +14902,10 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_Other,
        WB_Numeric,
        WB_Other,
+       WB_Extend,
+       WB_Other,
+       WB_Numeric,
+       WB_Other,
        WB_ALetter,
        WB_Numeric,
        WB_Other,
@@ -14589,6 +14923,10 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Numeric,
        WB_Other,
        WB_ALetter,
@@ -14702,6 +15040,18 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */
        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_Other,
        WB_Extend,
@@ -14821,7 +15171,7 @@ static const UV XPerlSpace_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
-       1261,   /* Number of elements */
+       1297,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -14929,8 +15279,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x8EA,
        0x8F0,
        0x93C,
@@ -15028,6 +15378,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -15109,7 +15461,7 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -15160,7 +15512,7 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -15309,7 +15661,9 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -15553,7 +15907,7 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -15567,19 +15921,15 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0xA674,
        0xA67C,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F0,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -15598,6 +15948,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92B,
        0xA930,
@@ -15649,10 +16001,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABF0,
        0xABFA,
@@ -15776,6 +16126,10 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -15812,6 +16166,10 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11046,
        0x11066,
@@ -15836,17 +16194,29 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x111C5,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11235,
        0x11237,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112E9,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -15866,6 +16236,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x11349,
        0x1134B,
        0x1134D,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -15882,6 +16254,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x115B6,
        0x115B8,
        0x115BF,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x1163F,
        0x11640,
@@ -15894,6 +16268,12 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x116B6,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172B,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -15901,11 +16281,15 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -16084,12 +16468,14 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
 
 static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
-       1201,   /* Number of elements */
+       1235,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -16197,8 +16583,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x8EA,
        0x8F0,
        0x93C,
@@ -16292,6 +16678,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0xAD1,
        0xAE0,
        0xAE4,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -16369,7 +16757,7 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC81,
@@ -16416,7 +16804,7 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD7A,
        0xD80,
@@ -16553,7 +16941,9 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -16787,7 +17177,7 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -16803,19 +17193,15 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0xA674,
        0xA67C,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F0,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -16832,6 +17218,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA90A,
        0xA92B,
        0xA930,
@@ -16883,10 +17271,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xAC00,
        0xD7A4,
@@ -17004,6 +17390,10 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -17040,6 +17430,10 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11046,
        0x11082,
@@ -17058,15 +17452,27 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x111C5,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11235,
        0x11237,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112E9,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -17086,6 +17492,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x11349,
        0x1134B,
        0x1134D,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -17100,6 +17508,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x115B6,
        0x115B8,
        0x115BF,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x1163F,
        0x11640,
@@ -17108,6 +17518,10 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x11645,
        0x11680,
        0x116B6,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172B,
        0x118A0,
        0x118E0,
        0x118FF,
@@ -17115,11 +17529,15 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -17292,6 +17710,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
@@ -17332,7 +17752,7 @@ static const UV XPosixCntrl_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV XPosixDigit_invlist[] = { /* for ASCII/Latin1 */
-       101,    /* Number of elements */
+       103,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -17429,6 +17849,8 @@ static const UV XPosixDigit_invlist[] = { /* for ASCII/Latin1 */
        0x1165A,
        0x116C0,
        0x116CA,
+       0x11730,
+       0x1173A,
        0x118E0,
        0x118EA,
        0x16A60,
@@ -17440,7 +17862,7 @@ static const UV XPosixDigit_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
-       1211,   /* Number of elements */
+       1237,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -17494,8 +17916,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x85E,
        0x85F,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x984,
        0x985,
        0x98D,
@@ -17581,6 +18003,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0xAE4,
        0xAE6,
        0xAF2,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -17660,7 +18084,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -17711,7 +18135,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD76,
@@ -17836,7 +18260,9 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x1380,
        0x139A,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1400,
        0x1680,
        0x1681,
@@ -17972,11 +18398,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x2090,
        0x209D,
        0x20A0,
-       0x20BE,
+       0x20BF,
        0x20D0,
        0x20F1,
        0x2100,
-       0x218A,
+       0x218C,
        0x2190,
        0x23FB,
        0x2400,
@@ -17993,6 +18419,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x2BC9,
        0x2BCA,
        0x2BD2,
+       0x2BEC,
+       0x2BF0,
        0x2C00,
        0x2C2F,
        0x2C30,
@@ -18058,7 +18486,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x3300,
        0x4DB6,
        0x4DC0,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA490,
@@ -18066,15 +18494,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0xA4D0,
        0xA62C,
        0xA640,
-       0xA69E,
-       0xA69F,
        0xA6F8,
        0xA700,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA82C,
        0xA830,
@@ -18086,7 +18510,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0xA8CE,
        0xA8DA,
        0xA8E0,
-       0xA8FC,
+       0xA8FE,
        0xA900,
        0xA954,
        0xA95F,
@@ -18118,10 +18542,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0xAB28,
        0xAB2F,
        0xAB30,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEE,
        0xABF0,
        0xABFA,
@@ -18162,8 +18584,6 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0xFE00,
        0xFE1A,
        0xFE20,
-       0xFE2E,
-       0xFE30,
        0xFE53,
        0xFE54,
        0xFE67,
@@ -18267,7 +18687,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x1089F,
        0x108A7,
        0x108B0,
-       0x10900,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
+       0x108FB,
        0x1091C,
        0x1091F,
        0x1093A,
@@ -18275,9 +18699,9 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x10940,
        0x10980,
        0x109B8,
-       0x109BE,
-       0x109C0,
-       0x10A00,
+       0x109BC,
+       0x109D0,
+       0x109D2,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -18313,6 +18737,12 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x10BB0,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x10CFA,
+       0x10D00,
        0x10E60,
        0x10E7F,
        0x11000,
@@ -18332,22 +18762,30 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x11150,
        0x11177,
        0x11180,
-       0x111C9,
-       0x111CD,
        0x111CE,
        0x111D0,
-       0x111DB,
+       0x111E0,
        0x111E1,
        0x111F5,
        0x11200,
        0x11212,
        0x11213,
        0x1123E,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112AA,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -18367,6 +18805,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -18382,7 +18822,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x11580,
        0x115B6,
        0x115B8,
-       0x115CA,
+       0x115DE,
        0x11600,
        0x11645,
        0x11650,
@@ -18391,6 +18831,12 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x11740,
        0x118A0,
        0x118F3,
        0x118FF,
@@ -18398,13 +18844,17 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
        0x12470,
        0x12475,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -18450,7 +18900,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x1D100,
        0x1D127,
        0x1D129,
-       0x1D1DE,
+       0x1D1E9,
        0x1D200,
        0x1D246,
        0x1D300,
@@ -18498,7 +18948,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x1D6A8,
        0x1D7CC,
        0x1D7CE,
-       0x1D800,
+       0x1DA8C,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8C7,
@@ -18600,25 +19054,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x1F250,
        0x1F252,
        0x1F300,
-       0x1F32D,
-       0x1F330,
-       0x1F37E,
-       0x1F380,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3F8,
-       0x1F400,
-       0x1F4FF,
-       0x1F500,
-       0x1F54B,
-       0x1F550,
        0x1F57A,
        0x1F57B,
        0x1F5A4,
        0x1F5A5,
-       0x1F643,
-       0x1F645,
-       0x1F6D0,
+       0x1F6D1,
        0x1F6E0,
        0x1F6ED,
        0x1F6F0,
@@ -18637,12 +19077,20 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        0x1F888,
        0x1F890,
        0x1F8AE,
+       0x1F910,
+       0x1F919,
+       0x1F980,
+       0x1F985,
+       0x1F9C0,
+       0x1F9C1,
        0x20000,
        0x2A6D7,
        0x2A700,
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -18658,7 +19106,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */
-       1267,   /* Number of elements */
+       1275,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -19213,6 +19661,8 @@ static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */
        0x530,
        0x561,
        0x588,
+       0x13F8,
+       0x13FE,
        0x1D00,
        0x1DC0,
        0x1E01,
@@ -19855,14 +20305,18 @@ static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */
        0xA7A8,
        0xA7A9,
        0xA7AA,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
+       0xA7B8,
        0xA7F8,
        0xA7FB,
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -19871,6 +20325,8 @@ static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */
        0xFF5B,
        0x10428,
        0x10450,
+       0x10CC0,
+       0x10CF3,
        0x118C0,
        0x118E0,
        0x1D41A,
@@ -19932,7 +20388,7 @@ static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
-       1205,   /* Number of elements */
+       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 */
@@ -19986,8 +20442,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x85E,
        0x85F,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x984,
        0x985,
        0x98D,
@@ -20073,6 +20529,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0xAE4,
        0xAE6,
        0xAF2,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -20152,7 +20610,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -20203,7 +20661,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD76,
@@ -20328,7 +20786,9 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x1380,
        0x139A,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1400,
        0x169D,
        0x16A0,
@@ -20458,11 +20918,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x2090,
        0x209D,
        0x20A0,
-       0x20BE,
+       0x20BF,
        0x20D0,
        0x20F1,
        0x2100,
-       0x218A,
+       0x218C,
        0x2190,
        0x23FB,
        0x2400,
@@ -20479,6 +20939,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x2BC9,
        0x2BCA,
        0x2BD2,
+       0x2BEC,
+       0x2BF0,
        0x2C00,
        0x2C2F,
        0x2C30,
@@ -20544,7 +21006,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x3300,
        0x4DB6,
        0x4DC0,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA490,
@@ -20552,15 +21014,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0xA4D0,
        0xA62C,
        0xA640,
-       0xA69E,
-       0xA69F,
        0xA6F8,
        0xA700,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA82C,
        0xA830,
@@ -20572,7 +21030,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0xA8CE,
        0xA8DA,
        0xA8E0,
-       0xA8FC,
+       0xA8FE,
        0xA900,
        0xA954,
        0xA95F,
@@ -20604,10 +21062,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0xAB28,
        0xAB2F,
        0xAB30,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEE,
        0xABF0,
        0xABFA,
@@ -20648,8 +21104,6 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0xFE00,
        0xFE1A,
        0xFE20,
-       0xFE2E,
-       0xFE30,
        0xFE53,
        0xFE54,
        0xFE67,
@@ -20753,7 +21207,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x1089F,
        0x108A7,
        0x108B0,
-       0x10900,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
+       0x108FB,
        0x1091C,
        0x1091F,
        0x1093A,
@@ -20761,9 +21219,9 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x10940,
        0x10980,
        0x109B8,
-       0x109BE,
-       0x109C0,
-       0x10A00,
+       0x109BC,
+       0x109D0,
+       0x109D2,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -20799,6 +21257,12 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x10BB0,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x10CFA,
+       0x10D00,
        0x10E60,
        0x10E7F,
        0x11000,
@@ -20818,22 +21282,30 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x11150,
        0x11177,
        0x11180,
-       0x111C9,
-       0x111CD,
        0x111CE,
        0x111D0,
-       0x111DB,
+       0x111E0,
        0x111E1,
        0x111F5,
        0x11200,
        0x11212,
        0x11213,
        0x1123E,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112AA,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -20853,6 +21325,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -20868,7 +21342,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x11580,
        0x115B6,
        0x115B8,
-       0x115CA,
+       0x115DE,
        0x11600,
        0x11645,
        0x11650,
@@ -20877,6 +21351,12 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x11740,
        0x118A0,
        0x118F3,
        0x118FF,
@@ -20884,13 +21364,17 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
        0x12470,
        0x12475,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -20936,7 +21420,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x1D100,
        0x1D127,
        0x1D129,
-       0x1D1DE,
+       0x1D1E9,
        0x1D200,
        0x1D246,
        0x1D300,
@@ -20984,7 +21468,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x1D6A8,
        0x1D7CC,
        0x1D7CE,
-       0x1D800,
+       0x1DA8C,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8C7,
@@ -21086,25 +21574,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x1F250,
        0x1F252,
        0x1F300,
-       0x1F32D,
-       0x1F330,
-       0x1F37E,
-       0x1F380,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3F8,
-       0x1F400,
-       0x1F4FF,
-       0x1F500,
-       0x1F54B,
-       0x1F550,
        0x1F57A,
        0x1F57B,
        0x1F5A4,
        0x1F5A5,
-       0x1F643,
-       0x1F645,
-       0x1F6D0,
+       0x1F6D1,
        0x1F6E0,
        0x1F6ED,
        0x1F6F0,
@@ -21123,12 +21597,20 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        0x1F888,
        0x1F890,
        0x1F8AE,
+       0x1F910,
+       0x1F919,
+       0x1F980,
+       0x1F985,
+       0x1F9C0,
+       0x1F9C1,
        0x20000,
        0x2A6D7,
        0x2A700,
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -21144,7 +21626,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */
-       301,    /* Number of elements */
+       313,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -21341,6 +21823,8 @@ static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */
        0xA8D0,
        0xA8F8,
        0xA8FB,
+       0xA8FC,
+       0xA8FD,
        0xA92E,
        0xA930,
        0xA95F,
@@ -21426,17 +21910,25 @@ static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */
        0x11174,
        0x11176,
        0x111C5,
-       0x111C9,
+       0x111CA,
        0x111CD,
        0x111CE,
+       0x111DB,
+       0x111DC,
+       0x111DD,
+       0x111E0,
        0x11238,
        0x1123E,
+       0x112A9,
+       0x112AA,
        0x114C6,
        0x114C7,
        0x115C1,
-       0x115CA,
+       0x115D8,
        0x11641,
        0x11644,
+       0x1173C,
+       0x1173F,
        0x12470,
        0x12475,
        0x16A6E,
@@ -21448,7 +21940,9 @@ static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */
        0x16B44,
        0x16B45,
        0x1BC9F,
-       0x1BCA0
+       0x1BCA0,
+       0x1DA87,
+       0x1DA8C
 };
 
 static const UV XPosixSpace_invlist[] = { /* for ASCII/Latin1 */
@@ -21480,7 +21974,7 @@ static const UV XPosixSpace_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */
-       1255,   /* Number of elements */
+       1261,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -22035,6 +22529,8 @@ static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
        0x1E00,
        0x1E01,
        0x1E02,
@@ -22664,11 +23160,15 @@ static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */
        0xA7AA,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
        0xFF21,
        0xFF3B,
        0x10400,
        0x10428,
+       0x10C80,
+       0x10CB3,
        0x118A0,
        0x118C0,
        0x1D400,
@@ -22742,7 +23242,7 @@ static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */
 };
 
 static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
-       1261,   /* Number of elements */
+       1311,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -22844,8 +23344,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x840,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x964,
        0x966,
        0x970,
@@ -22935,6 +23435,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -23016,7 +23518,7 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -23065,7 +23567,7 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -23210,7 +23712,9 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -23456,7 +23960,7 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -23470,19 +23974,15 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0xA674,
        0xA67E,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F2,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA828,
        0xA840,
@@ -23495,6 +23995,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92E,
        0xA930,
@@ -23536,10 +24038,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABEC,
        0xABEE,
@@ -23584,7 +24084,7 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -23679,6 +24179,10 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -23719,6 +24223,10 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11047,
        0x11066,
@@ -23739,17 +24247,31 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x11177,
        0x11180,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -23769,6 +24291,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -23787,6 +24311,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x11641,
        0x11644,
@@ -23797,6 +24323,12 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -23804,11 +24336,15 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -23921,6 +24457,18 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -24003,6 +24551,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0100,
@@ -24102,7 +24652,7 @@ static const UV ASCII_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV Cased_invlist[] = { /* for EBCDIC 1047 */
-       281,    /* Number of elements */
+       289,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -24193,6 +24743,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC 1047 */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1D00,
        0x1DC0,
        0x1E00,
@@ -24300,15 +24854,15 @@ static const UV Cased_invlist[] = { /* for EBCDIC 1047 */
        0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F8,
        0xA7FB,
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -24319,6 +24873,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC 1047 */
        0xFF5B,
        0x10400,
        0x10450,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x118A0,
        0x118E0,
        0x1D400,
@@ -24390,7 +24948,7 @@ static const UV Cased_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
-       1484,   /* Number of elements */
+       1502,   /* 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 */
@@ -24457,7 +25015,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
        0x82E,
        0x859,
        0x85C,
-       0x8E4,
+       0x8E3,
        0x903,
        0x904,
        0x93A,
@@ -24725,10 +25283,6 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
        0x1933,
        0x1939,
        0x193C,
-       0x19B5,
-       0x19B8,
-       0x19BA,
-       0x19BB,
        0x1A17,
        0x1A19,
        0x1A1B,
@@ -24829,7 +25383,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
        0xA673,
        0xA674,
        0xA67E,
-       0xA69F,
+       0xA69E,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -25718,7 +26272,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFEFF,
        0xFF00,
        0xFF9E,
@@ -25774,6 +26328,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
        0x111B6,
        0x111BF,
        0x111C1,
+       0x111CA,
+       0x111CD,
        0x1122C,
        0x1122F,
        0x11232,
@@ -25785,7 +26341,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
        0x112E0,
        0x112E3,
        0x112EB,
-       0x11301,
+       0x11300,
        0x11302,
        0x11304,
        0x1133C,
@@ -25828,6 +26384,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
        0x115BE,
        0x115BF,
        0x115C1,
+       0x115DC,
+       0x115DE,
        0x11630,
        0x11633,
        0x1163B,
@@ -25843,6 +26401,12 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
        0x116B6,
        0x116B7,
        0x116B8,
+       0x1171D,
+       0x11720,
+       0x11722,
+       0x11726,
+       0x11727,
+       0x1172C,
        0x16AF0,
        0x16AF5,
        0x16B30,
@@ -25870,6 +26434,18 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */
        0x1D1AE,
        0x1D242,
        0x1D245,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E8D0,
        0x1E8D7,
        0x1F1E6,
@@ -26235,10 +26811,6 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */
        GCB_SpacingMark,
        GCB_Extend,
        GCB_Other,
-       GCB_SpacingMark,
-       GCB_Other,
-       GCB_SpacingMark,
-       GCB_Other,
        GCB_Extend,
        GCB_SpacingMark,
        GCB_Extend,
@@ -27284,6 +27856,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */
        GCB_Extend,
        GCB_SpacingMark,
        GCB_Other,
+       GCB_Extend,
+       GCB_Other,
        GCB_SpacingMark,
        GCB_Extend,
        GCB_SpacingMark,
@@ -27338,6 +27912,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */
        GCB_SpacingMark,
        GCB_Extend,
        GCB_Other,
+       GCB_Extend,
+       GCB_Other,
        GCB_SpacingMark,
        GCB_Extend,
        GCB_SpacingMark,
@@ -27354,6 +27930,12 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */
        GCB_Extend,
        GCB_Other,
        GCB_Extend,
+       GCB_SpacingMark,
+       GCB_Extend,
+       GCB_SpacingMark,
+       GCB_Extend,
+       GCB_Other,
+       GCB_Extend,
        GCB_Other,
        GCB_Extend,
        GCB_Other,
@@ -27382,6 +27964,18 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */
        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_Control,
@@ -27447,7 +28041,7 @@ static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */
-       267,    /* Number of elements */
+       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 */
@@ -27548,7 +28142,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */
        0x28D,
        0x292,
        0x293,
-       0x29E,
+       0x29D,
        0x29F,
        0x2BC,
        0x2BD,
@@ -27606,6 +28200,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1D79,
        0x1D7A,
        0x1D7D,
@@ -27705,7 +28303,11 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */
        0xA796,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
+       0xAB53,
+       0xAB54,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -27716,6 +28318,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */
        0xFF5B,
        0x10400,
        0x10450,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x118A0,
        0x118E0
 };
@@ -27791,7 +28397,7 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC 1047 */
 #if defined(PERL_IN_UTF8_C)
 
 static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
-       1291,   /* Number of elements */
+       1341,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -27919,8 +28525,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x840,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x964,
        0x966,
        0x970,
@@ -28010,6 +28616,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -28091,7 +28699,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -28140,7 +28748,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -28285,7 +28893,9 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -28529,7 +29139,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -28543,19 +29153,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0xA674,
        0xA67E,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F2,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA828,
        0xA840,
@@ -28568,6 +29174,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92E,
        0xA930,
@@ -28609,10 +29217,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABEC,
        0xABEE,
@@ -28659,7 +29265,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -28764,6 +29370,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -28804,6 +29414,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11047,
        0x11066,
@@ -28824,17 +29438,31 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x11177,
        0x11180,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -28854,6 +29482,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -28872,6 +29502,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x11641,
        0x11644,
@@ -28882,6 +29514,12 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -28889,11 +29527,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -29006,6 +29648,18 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -29082,6 +29736,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0100,
@@ -29089,7 +29745,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
-       1121,   /* Number of elements */
+       1155,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -29219,7 +29875,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
+       0x8B5,
        0x904,
        0x93A,
        0x93D,
@@ -29290,6 +29946,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0xAD1,
        0xAE0,
        0xAE2,
+       0xAF9,
+       0xAFA,
        0xB05,
        0xB0D,
        0xB0F,
@@ -29343,7 +30001,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0xC3D,
        0xC3E,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC85,
@@ -29374,7 +30032,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0xD3E,
        0xD4E,
        0xD4F,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD7A,
        0xD80,
@@ -29497,7 +30155,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -29542,8 +30202,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x1975,
        0x1980,
        0x19AC,
-       0x19C1,
-       0x19C8,
+       0x19B0,
+       0x19CA,
        0x1A00,
        0x1A17,
        0x1A20,
@@ -29711,7 +30371,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -29733,11 +30393,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -29754,6 +30412,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA90A,
        0xA926,
        0xA930,
@@ -29811,10 +30471,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABE3,
        0xAC00,
        0xD7A4,
@@ -29948,6 +30606,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -29982,6 +30644,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11003,
        0x11038,
        0x11083,
@@ -30000,10 +30666,22 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x111C5,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x1122C,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112DF,
        0x11305,
@@ -30020,6 +30698,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x1133A,
        0x1133D,
        0x1133E,
+       0x11350,
+       0x11351,
        0x1135D,
        0x11362,
        0x11480,
@@ -30030,12 +30710,16 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x114C8,
        0x11580,
        0x115AF,
+       0x115D8,
+       0x115DC,
        0x11600,
        0x11630,
        0x11644,
        0x11645,
        0x11680,
        0x116AB,
+       0x11700,
+       0x1171A,
        0x118A0,
        0x118E0,
        0x118FF,
@@ -30043,11 +30727,15 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -30212,6 +30900,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
@@ -30221,7 +30911,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
 #if defined(PERL_IN_PERL_C)
 
 static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
-       2859,   /* Number of elements */
+       2920,   /* 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 */
@@ -30951,8 +31641,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x859,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x904,
        0x93A,
        0x93D,
@@ -31062,6 +31752,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -31148,7 +31840,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC64,
@@ -31203,7 +31895,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD64,
        0xD66,
@@ -31383,7 +32075,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166E,
@@ -31458,8 +32152,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x1980,
        0x19AC,
        0x19B0,
-       0x19C1,
-       0x19C8,
        0x19CA,
        0x19D0,
        0x19DA,
@@ -32146,7 +32838,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -32240,7 +32932,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0xA69A,
        0xA69B,
        0xA69E,
-       0xA69F,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -32374,7 +33065,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0xA7AA,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
+       0xA7B8,
        0xA7F7,
        0xA7F8,
        0xA7FB,
@@ -32402,6 +33096,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA90A,
        0xA926,
@@ -32475,9 +33171,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
        0xABC0,
        0xABE3,
        0xABEB,
@@ -32532,7 +33227,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0xFE17,
        0xFE19,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE31,
        0xFE33,
        0xFE35,
@@ -32666,6 +33361,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -32711,6 +33410,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11003,
        0x11038,
@@ -32748,11 +33451,16 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x111C1,
        0x111C5,
        0x111C7,
+       0x111CA,
        0x111CD,
        0x111CE,
        0x111D0,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
+       0x111DE,
+       0x111E0,
        0x11200,
        0x11212,
        0x11213,
@@ -32761,12 +33469,23 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x1123A,
        0x1123B,
        0x1123D,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
+       0x112AA,
        0x112B0,
        0x112DF,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -32788,6 +33507,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -32813,7 +33534,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x115C2,
        0x115C4,
        0x115C9,
-       0x115CA,
+       0x115D8,
+       0x115DC,
+       0x115DE,
        0x11600,
        0x11630,
        0x11641,
@@ -32827,6 +33550,14 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
+       0x1173C,
+       0x1173F,
        0x118A0,
        0x118C0,
        0x118E0,
@@ -32836,11 +33567,15 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -32992,6 +33727,20 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA88,
+       0x1DA89,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -33076,6 +33825,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -33949,6 +34700,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Other,
        SB_Numeric,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Extend,
        SB_Other,
        SB_OLetter,
@@ -34269,7 +35022,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Other,
        SB_OLetter,
        SB_Other,
-       SB_OLetter,
+       SB_Upper,
+       SB_Other,
+       SB_Lower,
        SB_Other,
        SB_OLetter,
        SB_Other,
@@ -34344,9 +35099,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Other,
        SB_OLetter,
        SB_Other,
-       SB_Extend,
        SB_OLetter,
-       SB_Extend,
        SB_Other,
        SB_Numeric,
        SB_Other,
@@ -35126,7 +35879,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Lower,
        SB_Upper,
        SB_Lower,
-       SB_Other,
        SB_Extend,
        SB_OLetter,
        SB_Extend,
@@ -35233,7 +35985,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Lower,
        SB_Upper,
        SB_Lower,
-       SB_Other,
+       SB_OLetter,
        SB_Upper,
        SB_Lower,
        SB_Upper,
@@ -35261,6 +36013,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Upper,
        SB_Other,
        SB_Upper,
+       SB_Lower,
+       SB_Upper,
+       SB_Lower,
        SB_Other,
        SB_OLetter,
        SB_Lower,
@@ -35289,6 +36044,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Numeric,
        SB_OLetter,
        SB_Extend,
@@ -35364,7 +36121,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Lower,
        SB_Other,
        SB_Lower,
-       SB_Other,
        SB_OLetter,
        SB_Extend,
        SB_STerm,
@@ -35562,6 +36318,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_OLetter,
        SB_Other,
        SB_OLetter,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
+       SB_OLetter,
        SB_Extend,
        SB_Other,
        SB_Extend,
@@ -35598,6 +36358,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_Upper,
+       SB_Other,
+       SB_Lower,
+       SB_Other,
        SB_Extend,
        SB_OLetter,
        SB_Extend,
@@ -35635,6 +36399,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_OLetter,
        SB_STerm,
        SB_Other,
+       SB_Extend,
        SB_STerm,
        SB_Other,
        SB_Numeric,
@@ -35642,6 +36407,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_STerm,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_OLetter,
        SB_Extend,
        SB_STerm,
@@ -35649,6 +36418,17 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_STerm,
        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,
@@ -35675,6 +36455,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Other,
        SB_Extend,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Extend,
        SB_Other,
        SB_OLetter,
@@ -35700,6 +36482,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_STerm,
        SB_Other,
        SB_STerm,
+       SB_OLetter,
+       SB_Extend,
        SB_Other,
        SB_OLetter,
        SB_Extend,
@@ -35714,6 +36498,14 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        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,
@@ -35732,6 +36524,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Numeric,
        SB_Other,
        SB_STerm,
@@ -35879,6 +36675,20 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        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_OLetter,
        SB_Other,
        SB_Extend,
@@ -35965,6 +36775,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Format,
        SB_Other,
        SB_Format,
@@ -36060,7 +36872,7 @@ static const UV VertSpace_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
-       1505,   /* Number of elements */
+       1549,   /* 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 */
@@ -36254,8 +37066,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x859,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x904,
        0x93A,
        0x93D,
@@ -36365,6 +37177,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -36451,7 +37265,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC64,
@@ -36506,7 +37320,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD64,
        0xD66,
@@ -36647,7 +37461,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -36702,10 +37518,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x193C,
        0x1946,
        0x1950,
-       0x19B0,
-       0x19C1,
-       0x19C8,
-       0x19CA,
        0x19D0,
        0x19DA,
        0x1A00,
@@ -36947,7 +37759,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0xA67E,
        0xA67F,
        0xA69E,
-       0xA69F,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -36956,11 +37767,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -36983,6 +37792,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA90A,
        0xA926,
@@ -37044,10 +37855,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABE3,
        0xABEB,
        0xABEC,
@@ -37096,7 +37905,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0xFE14,
        0xFE15,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -37211,6 +38020,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -37254,6 +38067,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11003,
        0x11038,
@@ -37286,20 +38103,34 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x111B3,
        0x111C1,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x1122C,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112DF,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -37321,6 +38152,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -37343,6 +38176,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DC,
+       0x115DE,
        0x11600,
        0x11630,
        0x11641,
@@ -37355,6 +38191,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118E0,
        0x118EA,
@@ -37363,11 +38203,15 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -37485,6 +38329,18 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -37901,6 +38757,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_Other,
        WB_Numeric,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -38197,6 +39055,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
+       WB_Other,
+       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -38238,10 +39098,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_Other,
        WB_Numeric,
        WB_Other,
-       WB_Extend,
-       WB_Other,
-       WB_Extend,
-       WB_Other,
        WB_Numeric,
        WB_Other,
        WB_ALetter,
@@ -38482,7 +39338,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_Extend,
        WB_Other,
        WB_ALetter,
-       WB_Other,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -38496,8 +39351,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
-       WB_Other,
-       WB_ALetter,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -38519,6 +39372,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Numeric,
        WB_ALetter,
        WB_Extend,
@@ -38582,8 +39437,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
-       WB_Other,
-       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_Extend,
@@ -38756,6 +39609,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_Extend,
@@ -38790,6 +39647,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -38822,15 +39683,29 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        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_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,
@@ -38857,6 +39732,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_Other,
        WB_Extend,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -38883,6 +39760,9 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_Extend,
        WB_Other,
        WB_ALetter,
+       WB_Extend,
+       WB_Other,
+       WB_ALetter,
        WB_Other,
        WB_Numeric,
        WB_Other,
@@ -38891,6 +39771,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_Other,
        WB_Numeric,
        WB_Other,
+       WB_Extend,
+       WB_Other,
+       WB_Numeric,
+       WB_Other,
        WB_ALetter,
        WB_Numeric,
        WB_Other,
@@ -38908,6 +39792,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Numeric,
        WB_Other,
        WB_ALetter,
@@ -39021,6 +39909,18 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */
        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_Other,
        WB_Extend,
@@ -39142,7 +40042,7 @@ static const UV XPerlSpace_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
-       1285,   /* Number of elements */
+       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 */
@@ -39274,8 +40174,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x8EA,
        0x8F0,
        0x93C,
@@ -39373,6 +40273,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -39454,7 +40356,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -39505,7 +40407,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -39654,7 +40556,9 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -39898,7 +40802,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -39912,19 +40816,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0xA674,
        0xA67C,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F0,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -39943,6 +40843,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92B,
        0xA930,
@@ -39994,10 +40896,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABF0,
        0xABFA,
@@ -40121,6 +41021,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -40157,6 +41061,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11046,
        0x11066,
@@ -40181,17 +41089,29 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x111C5,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11235,
        0x11237,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112E9,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -40211,6 +41131,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x11349,
        0x1134B,
        0x1134D,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -40227,6 +41149,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x115B6,
        0x115B8,
        0x115BF,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x1163F,
        0x11640,
@@ -40239,6 +41163,12 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x116B6,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172B,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -40246,11 +41176,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -40429,12 +41363,14 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
 
 static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
-       1227,   /* Number of elements */
+       1261,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -40568,8 +41504,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x8EA,
        0x8F0,
        0x93C,
@@ -40663,6 +41599,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0xAD1,
        0xAE0,
        0xAE4,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -40740,7 +41678,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC81,
@@ -40787,7 +41725,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD7A,
        0xD80,
@@ -40924,7 +41862,9 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -41158,7 +42098,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -41174,19 +42114,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0xA674,
        0xA67C,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F0,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -41203,6 +42139,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA90A,
        0xA92B,
        0xA930,
@@ -41254,10 +42192,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xAC00,
        0xD7A4,
@@ -41375,6 +42311,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -41411,6 +42351,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11046,
        0x11082,
@@ -41429,15 +42373,27 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x111C5,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11235,
        0x11237,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112E9,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -41457,6 +42413,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x11349,
        0x1134B,
        0x1134D,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -41471,6 +42429,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x115B6,
        0x115B8,
        0x115BF,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x1163F,
        0x11640,
@@ -41479,6 +42439,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x11645,
        0x11680,
        0x116B6,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172B,
        0x118A0,
        0x118E0,
        0x118FF,
@@ -41486,11 +42450,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -41663,6 +42631,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
@@ -41701,7 +42671,7 @@ static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV XPosixDigit_invlist[] = { /* for EBCDIC 1047 */
-       101,    /* Number of elements */
+       103,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -41798,6 +42768,8 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 1047 */
        0x1165A,
        0x116C0,
        0x116CA,
+       0x11730,
+       0x1173A,
        0x118E0,
        0x118EA,
        0x16A60,
@@ -41809,7 +42781,7 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
-       1211,   /* Number of elements */
+       1237,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -41863,8 +42835,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x85E,
        0x85F,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x984,
        0x985,
        0x98D,
@@ -41950,6 +42922,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0xAE4,
        0xAE6,
        0xAF2,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -42029,7 +43003,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -42080,7 +43054,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD76,
@@ -42205,7 +43179,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x1380,
        0x139A,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1400,
        0x1680,
        0x1681,
@@ -42341,11 +43317,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x2090,
        0x209D,
        0x20A0,
-       0x20BE,
+       0x20BF,
        0x20D0,
        0x20F1,
        0x2100,
-       0x218A,
+       0x218C,
        0x2190,
        0x23FB,
        0x2400,
@@ -42362,6 +43338,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x2BC9,
        0x2BCA,
        0x2BD2,
+       0x2BEC,
+       0x2BF0,
        0x2C00,
        0x2C2F,
        0x2C30,
@@ -42427,7 +43405,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x3300,
        0x4DB6,
        0x4DC0,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA490,
@@ -42435,15 +43413,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0xA4D0,
        0xA62C,
        0xA640,
-       0xA69E,
-       0xA69F,
        0xA6F8,
        0xA700,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA82C,
        0xA830,
@@ -42455,7 +43429,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0xA8CE,
        0xA8DA,
        0xA8E0,
-       0xA8FC,
+       0xA8FE,
        0xA900,
        0xA954,
        0xA95F,
@@ -42487,10 +43461,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0xAB28,
        0xAB2F,
        0xAB30,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEE,
        0xABF0,
        0xABFA,
@@ -42531,8 +43503,6 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0xFE00,
        0xFE1A,
        0xFE20,
-       0xFE2E,
-       0xFE30,
        0xFE53,
        0xFE54,
        0xFE67,
@@ -42636,7 +43606,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x1089F,
        0x108A7,
        0x108B0,
-       0x10900,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
+       0x108FB,
        0x1091C,
        0x1091F,
        0x1093A,
@@ -42644,9 +43618,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x10940,
        0x10980,
        0x109B8,
-       0x109BE,
-       0x109C0,
-       0x10A00,
+       0x109BC,
+       0x109D0,
+       0x109D2,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -42682,6 +43656,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x10BB0,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x10CFA,
+       0x10D00,
        0x10E60,
        0x10E7F,
        0x11000,
@@ -42701,22 +43681,30 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x11150,
        0x11177,
        0x11180,
-       0x111C9,
-       0x111CD,
        0x111CE,
        0x111D0,
-       0x111DB,
+       0x111E0,
        0x111E1,
        0x111F5,
        0x11200,
        0x11212,
        0x11213,
        0x1123E,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112AA,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -42736,6 +43724,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -42751,7 +43741,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x11580,
        0x115B6,
        0x115B8,
-       0x115CA,
+       0x115DE,
        0x11600,
        0x11645,
        0x11650,
@@ -42760,6 +43750,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x11740,
        0x118A0,
        0x118F3,
        0x118FF,
@@ -42767,13 +43763,17 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
        0x12470,
        0x12475,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -42819,7 +43819,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x1D100,
        0x1D127,
        0x1D129,
-       0x1D1DE,
+       0x1D1E9,
        0x1D200,
        0x1D246,
        0x1D300,
@@ -42867,7 +43867,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x1D6A8,
        0x1D7CC,
        0x1D7CE,
-       0x1D800,
+       0x1DA8C,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8C7,
@@ -42969,25 +43973,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x1F250,
        0x1F252,
        0x1F300,
-       0x1F32D,
-       0x1F330,
-       0x1F37E,
-       0x1F380,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3F8,
-       0x1F400,
-       0x1F4FF,
-       0x1F500,
-       0x1F54B,
-       0x1F550,
        0x1F57A,
        0x1F57B,
        0x1F5A4,
        0x1F5A5,
-       0x1F643,
-       0x1F645,
-       0x1F6D0,
+       0x1F6D1,
        0x1F6E0,
        0x1F6ED,
        0x1F6F0,
@@ -43006,12 +43996,20 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        0x1F888,
        0x1F890,
        0x1F8AE,
+       0x1F910,
+       0x1F919,
+       0x1F980,
+       0x1F985,
+       0x1F9C0,
+       0x1F9C1,
        0x20000,
        0x2A6D7,
        0x2A700,
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -43027,7 +44025,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */
-       1275,   /* Number of elements */
+       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 */
@@ -43590,6 +44588,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */
        0x530,
        0x561,
        0x588,
+       0x13F8,
+       0x13FE,
        0x1D00,
        0x1DC0,
        0x1E01,
@@ -44232,14 +45232,18 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */
        0xA7A8,
        0xA7A9,
        0xA7AA,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
+       0xA7B8,
        0xA7F8,
        0xA7FB,
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -44248,6 +45252,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */
        0xFF5B,
        0x10428,
        0x10450,
+       0x10CC0,
+       0x10CF3,
        0x118C0,
        0x118E0,
        0x1D41A,
@@ -44309,7 +45315,7 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
-       1205,   /* Number of elements */
+       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 */
@@ -44363,8 +45369,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x85E,
        0x85F,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x984,
        0x985,
        0x98D,
@@ -44450,6 +45456,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0xAE4,
        0xAE6,
        0xAF2,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -44529,7 +45537,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -44580,7 +45588,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD76,
@@ -44705,7 +45713,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x1380,
        0x139A,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1400,
        0x169D,
        0x16A0,
@@ -44835,11 +45845,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x2090,
        0x209D,
        0x20A0,
-       0x20BE,
+       0x20BF,
        0x20D0,
        0x20F1,
        0x2100,
-       0x218A,
+       0x218C,
        0x2190,
        0x23FB,
        0x2400,
@@ -44856,6 +45866,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x2BC9,
        0x2BCA,
        0x2BD2,
+       0x2BEC,
+       0x2BF0,
        0x2C00,
        0x2C2F,
        0x2C30,
@@ -44921,7 +45933,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x3300,
        0x4DB6,
        0x4DC0,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA490,
@@ -44929,15 +45941,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0xA4D0,
        0xA62C,
        0xA640,
-       0xA69E,
-       0xA69F,
        0xA6F8,
        0xA700,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA82C,
        0xA830,
@@ -44949,7 +45957,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0xA8CE,
        0xA8DA,
        0xA8E0,
-       0xA8FC,
+       0xA8FE,
        0xA900,
        0xA954,
        0xA95F,
@@ -44981,10 +45989,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0xAB28,
        0xAB2F,
        0xAB30,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEE,
        0xABF0,
        0xABFA,
@@ -45025,8 +46031,6 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0xFE00,
        0xFE1A,
        0xFE20,
-       0xFE2E,
-       0xFE30,
        0xFE53,
        0xFE54,
        0xFE67,
@@ -45130,7 +46134,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x1089F,
        0x108A7,
        0x108B0,
-       0x10900,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
+       0x108FB,
        0x1091C,
        0x1091F,
        0x1093A,
@@ -45138,9 +46146,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x10940,
        0x10980,
        0x109B8,
-       0x109BE,
-       0x109C0,
-       0x10A00,
+       0x109BC,
+       0x109D0,
+       0x109D2,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -45176,6 +46184,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x10BB0,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x10CFA,
+       0x10D00,
        0x10E60,
        0x10E7F,
        0x11000,
@@ -45195,22 +46209,30 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x11150,
        0x11177,
        0x11180,
-       0x111C9,
-       0x111CD,
        0x111CE,
        0x111D0,
-       0x111DB,
+       0x111E0,
        0x111E1,
        0x111F5,
        0x11200,
        0x11212,
        0x11213,
        0x1123E,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112AA,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -45230,6 +46252,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -45245,7 +46269,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x11580,
        0x115B6,
        0x115B8,
-       0x115CA,
+       0x115DE,
        0x11600,
        0x11645,
        0x11650,
@@ -45254,6 +46278,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x11740,
        0x118A0,
        0x118F3,
        0x118FF,
@@ -45261,13 +46291,17 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
        0x12470,
        0x12475,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -45313,7 +46347,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x1D100,
        0x1D127,
        0x1D129,
-       0x1D1DE,
+       0x1D1E9,
        0x1D200,
        0x1D246,
        0x1D300,
@@ -45361,7 +46395,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x1D6A8,
        0x1D7CC,
        0x1D7CE,
-       0x1D800,
+       0x1DA8C,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8C7,
@@ -45463,25 +46501,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x1F250,
        0x1F252,
        0x1F300,
-       0x1F32D,
-       0x1F330,
-       0x1F37E,
-       0x1F380,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3F8,
-       0x1F400,
-       0x1F4FF,
-       0x1F500,
-       0x1F54B,
-       0x1F550,
        0x1F57A,
        0x1F57B,
        0x1F5A4,
        0x1F5A5,
-       0x1F643,
-       0x1F645,
-       0x1F6D0,
+       0x1F6D1,
        0x1F6E0,
        0x1F6ED,
        0x1F6F0,
@@ -45500,12 +46524,20 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        0x1F888,
        0x1F890,
        0x1F8AE,
+       0x1F910,
+       0x1F919,
+       0x1F980,
+       0x1F985,
+       0x1F9C0,
+       0x1F9C1,
        0x20000,
        0x2A6D7,
        0x2A700,
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -45521,7 +46553,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */
-       309,    /* Number of elements */
+       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 */
@@ -45726,6 +46758,8 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */
        0xA8D0,
        0xA8F8,
        0xA8FB,
+       0xA8FC,
+       0xA8FD,
        0xA92E,
        0xA930,
        0xA95F,
@@ -45811,17 +46845,25 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */
        0x11174,
        0x11176,
        0x111C5,
-       0x111C9,
+       0x111CA,
        0x111CD,
        0x111CE,
+       0x111DB,
+       0x111DC,
+       0x111DD,
+       0x111E0,
        0x11238,
        0x1123E,
+       0x112A9,
+       0x112AA,
        0x114C6,
        0x114C7,
        0x115C1,
-       0x115CA,
+       0x115D8,
        0x11641,
        0x11644,
+       0x1173C,
+       0x1173F,
        0x12470,
        0x12475,
        0x16A6E,
@@ -45833,7 +46875,9 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */
        0x16B44,
        0x16B45,
        0x1BC9F,
-       0x1BCA0
+       0x1BCA0,
+       0x1DA87,
+       0x1DA8C
 };
 
 static const UV XPosixSpace_invlist[] = { /* for EBCDIC 1047 */
@@ -45867,7 +46911,7 @@ static const UV XPosixSpace_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */
-       1273,   /* Number of elements */
+       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 */
@@ -46440,6 +47484,8 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
        0x1E00,
        0x1E01,
        0x1E02,
@@ -47069,11 +48115,15 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */
        0xA7AA,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
        0xFF21,
        0xFF3B,
        0x10400,
        0x10428,
+       0x10C80,
+       0x10CB3,
        0x118A0,
        0x118C0,
        0x1D400,
@@ -47147,7 +48197,7 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */
 };
 
 static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
-       1285,   /* Number of elements */
+       1335,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -47273,8 +48323,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x840,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x964,
        0x966,
        0x970,
@@ -47364,6 +48414,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -47445,7 +48497,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -47494,7 +48546,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -47639,7 +48691,9 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -47885,7 +48939,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -47899,19 +48953,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0xA674,
        0xA67E,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F2,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA828,
        0xA840,
@@ -47924,6 +48974,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92E,
        0xA930,
@@ -47965,10 +49017,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABEC,
        0xABEE,
@@ -48013,7 +49063,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -48108,6 +49158,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -48148,6 +49202,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11047,
        0x11066,
@@ -48168,17 +49226,31 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x11177,
        0x11180,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -48198,6 +49270,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -48216,6 +49290,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x11641,
        0x11644,
@@ -48226,6 +49302,12 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -48233,11 +49315,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -48350,6 +49436,18 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -48432,6 +49530,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0100,
@@ -48533,7 +49633,7 @@ static const UV ASCII_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV Cased_invlist[] = { /* for EBCDIC 037 */
-       277,    /* Number of elements */
+       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 */
@@ -48620,6 +49720,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC 037 */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1D00,
        0x1DC0,
        0x1E00,
@@ -48727,15 +49831,15 @@ static const UV Cased_invlist[] = { /* for EBCDIC 037 */
        0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F8,
        0xA7FB,
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -48746,6 +49850,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC 037 */
        0xFF5B,
        0x10400,
        0x10450,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x118A0,
        0x118E0,
        0x1D400,
@@ -48817,7 +49925,7 @@ static const UV Cased_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
-       1484,   /* Number of elements */
+       1502,   /* 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 */
@@ -48884,7 +49992,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
        0x82E,
        0x859,
        0x85C,
-       0x8E4,
+       0x8E3,
        0x903,
        0x904,
        0x93A,
@@ -49152,10 +50260,6 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
        0x1933,
        0x1939,
        0x193C,
-       0x19B5,
-       0x19B8,
-       0x19BA,
-       0x19BB,
        0x1A17,
        0x1A19,
        0x1A1B,
@@ -49256,7 +50360,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
        0xA673,
        0xA674,
        0xA67E,
-       0xA69F,
+       0xA69E,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -50145,7 +51249,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFEFF,
        0xFF00,
        0xFF9E,
@@ -50201,6 +51305,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
        0x111B6,
        0x111BF,
        0x111C1,
+       0x111CA,
+       0x111CD,
        0x1122C,
        0x1122F,
        0x11232,
@@ -50212,7 +51318,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
        0x112E0,
        0x112E3,
        0x112EB,
-       0x11301,
+       0x11300,
        0x11302,
        0x11304,
        0x1133C,
@@ -50255,6 +51361,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
        0x115BE,
        0x115BF,
        0x115C1,
+       0x115DC,
+       0x115DE,
        0x11630,
        0x11633,
        0x1163B,
@@ -50270,6 +51378,12 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
        0x116B6,
        0x116B7,
        0x116B8,
+       0x1171D,
+       0x11720,
+       0x11722,
+       0x11726,
+       0x11727,
+       0x1172C,
        0x16AF0,
        0x16AF5,
        0x16B30,
@@ -50297,6 +51411,18 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */
        0x1D1AE,
        0x1D242,
        0x1D245,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E8D0,
        0x1E8D7,
        0x1F1E6,
@@ -50662,10 +51788,6 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */
        GCB_SpacingMark,
        GCB_Extend,
        GCB_Other,
-       GCB_SpacingMark,
-       GCB_Other,
-       GCB_SpacingMark,
-       GCB_Other,
        GCB_Extend,
        GCB_SpacingMark,
        GCB_Extend,
@@ -51711,6 +52833,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */
        GCB_Extend,
        GCB_SpacingMark,
        GCB_Other,
+       GCB_Extend,
+       GCB_Other,
        GCB_SpacingMark,
        GCB_Extend,
        GCB_SpacingMark,
@@ -51765,6 +52889,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */
        GCB_SpacingMark,
        GCB_Extend,
        GCB_Other,
+       GCB_Extend,
+       GCB_Other,
        GCB_SpacingMark,
        GCB_Extend,
        GCB_SpacingMark,
@@ -51781,6 +52907,12 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */
        GCB_Extend,
        GCB_Other,
        GCB_Extend,
+       GCB_SpacingMark,
+       GCB_Extend,
+       GCB_SpacingMark,
+       GCB_Extend,
+       GCB_Other,
+       GCB_Extend,
        GCB_Other,
        GCB_Extend,
        GCB_Other,
@@ -51809,6 +52941,18 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */
        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_Control,
@@ -51874,7 +53018,7 @@ static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */
-       263,    /* Number of elements */
+       275,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -51971,7 +53115,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */
        0x28D,
        0x292,
        0x293,
-       0x29E,
+       0x29D,
        0x29F,
        0x2BC,
        0x2BD,
@@ -52029,6 +53173,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1D79,
        0x1D7A,
        0x1D7D,
@@ -52128,7 +53276,11 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */
        0xA796,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
+       0xAB53,
+       0xAB54,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -52139,6 +53291,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */
        0xFF5B,
        0x10400,
        0x10450,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x118A0,
        0x118E0
 };
@@ -52214,7 +53370,7 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC 037 */
 #if defined(PERL_IN_UTF8_C)
 
 static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
-       1287,   /* Number of elements */
+       1337,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -52338,8 +53494,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x840,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x964,
        0x966,
        0x970,
@@ -52429,6 +53585,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -52510,7 +53668,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -52559,7 +53717,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -52704,7 +53862,9 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -52948,7 +54108,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -52962,19 +54122,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0xA674,
        0xA67E,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F2,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA828,
        0xA840,
@@ -52987,6 +54143,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92E,
        0xA930,
@@ -53028,10 +54186,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABEC,
        0xABEE,
@@ -53078,7 +54234,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -53183,6 +54339,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -53223,6 +54383,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11047,
        0x11066,
@@ -53243,17 +54407,31 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x11177,
        0x11180,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -53273,6 +54451,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -53291,6 +54471,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x11641,
        0x11644,
@@ -53301,6 +54483,12 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -53308,11 +54496,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -53425,6 +54617,18 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -53501,6 +54705,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0100,
@@ -53508,7 +54714,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
-       1117,   /* Number of elements */
+       1151,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -53634,7 +54840,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
+       0x8B5,
        0x904,
        0x93A,
        0x93D,
@@ -53705,6 +54911,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0xAD1,
        0xAE0,
        0xAE2,
+       0xAF9,
+       0xAFA,
        0xB05,
        0xB0D,
        0xB0F,
@@ -53758,7 +54966,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0xC3D,
        0xC3E,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC85,
@@ -53789,7 +54997,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0xD3E,
        0xD4E,
        0xD4F,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD7A,
        0xD80,
@@ -53912,7 +55120,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -53957,8 +55167,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x1975,
        0x1980,
        0x19AC,
-       0x19C1,
-       0x19C8,
+       0x19B0,
+       0x19CA,
        0x1A00,
        0x1A17,
        0x1A20,
@@ -54126,7 +55336,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -54148,11 +55358,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -54169,6 +55377,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA90A,
        0xA926,
        0xA930,
@@ -54226,10 +55436,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABE3,
        0xAC00,
        0xD7A4,
@@ -54363,6 +55571,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -54397,6 +55609,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11003,
        0x11038,
        0x11083,
@@ -54415,10 +55631,22 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x111C5,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x1122C,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112DF,
        0x11305,
@@ -54435,6 +55663,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x1133A,
        0x1133D,
        0x1133E,
+       0x11350,
+       0x11351,
        0x1135D,
        0x11362,
        0x11480,
@@ -54445,12 +55675,16 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x114C8,
        0x11580,
        0x115AF,
+       0x115D8,
+       0x115DC,
        0x11600,
        0x11630,
        0x11644,
        0x11645,
        0x11680,
        0x116AB,
+       0x11700,
+       0x1171A,
        0x118A0,
        0x118E0,
        0x118FF,
@@ -54458,11 +55692,15 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -54627,6 +55865,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
@@ -54636,7 +55876,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
 #if defined(PERL_IN_PERL_C)
 
 static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
-       2855,   /* Number of elements */
+       2916,   /* 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 */
@@ -55362,8 +56602,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x859,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x904,
        0x93A,
        0x93D,
@@ -55473,6 +56713,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -55559,7 +56801,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC64,
@@ -55614,7 +56856,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD64,
        0xD66,
@@ -55794,7 +57036,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166E,
@@ -55869,8 +57113,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x1980,
        0x19AC,
        0x19B0,
-       0x19C1,
-       0x19C8,
        0x19CA,
        0x19D0,
        0x19DA,
@@ -56557,7 +57799,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -56651,7 +57893,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0xA69A,
        0xA69B,
        0xA69E,
-       0xA69F,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -56785,7 +58026,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0xA7AA,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
+       0xA7B8,
        0xA7F7,
        0xA7F8,
        0xA7FB,
@@ -56813,6 +58057,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA90A,
        0xA926,
@@ -56886,9 +58132,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
        0xABC0,
        0xABE3,
        0xABEB,
@@ -56943,7 +58188,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0xFE17,
        0xFE19,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE31,
        0xFE33,
        0xFE35,
@@ -57077,6 +58322,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -57122,6 +58371,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11003,
        0x11038,
@@ -57159,11 +58412,16 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x111C1,
        0x111C5,
        0x111C7,
+       0x111CA,
        0x111CD,
        0x111CE,
        0x111D0,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
+       0x111DE,
+       0x111E0,
        0x11200,
        0x11212,
        0x11213,
@@ -57172,12 +58430,23 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x1123A,
        0x1123B,
        0x1123D,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
+       0x112AA,
        0x112B0,
        0x112DF,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -57199,6 +58468,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -57224,7 +58495,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x115C2,
        0x115C4,
        0x115C9,
-       0x115CA,
+       0x115D8,
+       0x115DC,
+       0x115DE,
        0x11600,
        0x11630,
        0x11641,
@@ -57238,6 +58511,14 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
+       0x1173C,
+       0x1173F,
        0x118A0,
        0x118C0,
        0x118E0,
@@ -57247,11 +58528,15 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -57403,6 +58688,20 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA88,
+       0x1DA89,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -57487,6 +58786,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -58356,6 +59657,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Other,
        SB_Numeric,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Extend,
        SB_Other,
        SB_OLetter,
@@ -58676,7 +59979,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Other,
        SB_OLetter,
        SB_Other,
-       SB_OLetter,
+       SB_Upper,
+       SB_Other,
+       SB_Lower,
        SB_Other,
        SB_OLetter,
        SB_Other,
@@ -58751,9 +60056,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Other,
        SB_OLetter,
        SB_Other,
-       SB_Extend,
        SB_OLetter,
-       SB_Extend,
        SB_Other,
        SB_Numeric,
        SB_Other,
@@ -59533,7 +60836,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Lower,
        SB_Upper,
        SB_Lower,
-       SB_Other,
        SB_Extend,
        SB_OLetter,
        SB_Extend,
@@ -59640,7 +60942,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Lower,
        SB_Upper,
        SB_Lower,
-       SB_Other,
+       SB_OLetter,
        SB_Upper,
        SB_Lower,
        SB_Upper,
@@ -59668,6 +60970,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Upper,
        SB_Other,
        SB_Upper,
+       SB_Lower,
+       SB_Upper,
+       SB_Lower,
        SB_Other,
        SB_OLetter,
        SB_Lower,
@@ -59696,6 +61001,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Numeric,
        SB_OLetter,
        SB_Extend,
@@ -59771,7 +61078,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Lower,
        SB_Other,
        SB_Lower,
-       SB_Other,
        SB_OLetter,
        SB_Extend,
        SB_STerm,
@@ -59969,6 +61275,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_OLetter,
        SB_Other,
        SB_OLetter,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
+       SB_OLetter,
        SB_Extend,
        SB_Other,
        SB_Extend,
@@ -60005,6 +61315,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_Upper,
+       SB_Other,
+       SB_Lower,
+       SB_Other,
        SB_Extend,
        SB_OLetter,
        SB_Extend,
@@ -60042,6 +61356,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_OLetter,
        SB_STerm,
        SB_Other,
+       SB_Extend,
        SB_STerm,
        SB_Other,
        SB_Numeric,
@@ -60049,6 +61364,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_STerm,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_OLetter,
        SB_Extend,
        SB_STerm,
@@ -60056,6 +61375,17 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_STerm,
        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,
@@ -60082,6 +61412,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Other,
        SB_Extend,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Extend,
        SB_Other,
        SB_OLetter,
@@ -60107,6 +61439,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_STerm,
        SB_Other,
        SB_STerm,
+       SB_OLetter,
+       SB_Extend,
        SB_Other,
        SB_OLetter,
        SB_Extend,
@@ -60121,6 +61455,14 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        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,
@@ -60139,6 +61481,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Numeric,
        SB_Other,
        SB_STerm,
@@ -60286,6 +61632,20 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        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_OLetter,
        SB_Other,
        SB_Extend,
@@ -60372,6 +61732,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Format,
        SB_Other,
        SB_Format,
@@ -60469,7 +61831,7 @@ static const UV VertSpace_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
-       1501,   /* Number of elements */
+       1545,   /* 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 */
@@ -60659,8 +62021,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x859,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x904,
        0x93A,
        0x93D,
@@ -60770,6 +62132,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -60856,7 +62220,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC64,
@@ -60911,7 +62275,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD64,
        0xD66,
@@ -61052,7 +62416,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -61107,10 +62473,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x193C,
        0x1946,
        0x1950,
-       0x19B0,
-       0x19C1,
-       0x19C8,
-       0x19CA,
        0x19D0,
        0x19DA,
        0x1A00,
@@ -61352,7 +62714,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0xA67E,
        0xA67F,
        0xA69E,
-       0xA69F,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -61361,11 +62722,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -61388,6 +62747,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA90A,
        0xA926,
@@ -61449,10 +62810,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABE3,
        0xABEB,
        0xABEC,
@@ -61501,7 +62860,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0xFE14,
        0xFE15,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -61616,6 +62975,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -61659,6 +63022,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11003,
        0x11038,
@@ -61691,20 +63058,34 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x111B3,
        0x111C1,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x1122C,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112DF,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -61726,6 +63107,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -61748,6 +63131,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DC,
+       0x115DE,
        0x11600,
        0x11630,
        0x11641,
@@ -61760,6 +63146,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118E0,
        0x118EA,
@@ -61768,11 +63158,15 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -61890,6 +63284,18 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -62302,6 +63708,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_Other,
        WB_Numeric,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -62598,6 +64006,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
+       WB_Other,
+       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -62639,10 +64049,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_Other,
        WB_Numeric,
        WB_Other,
-       WB_Extend,
-       WB_Other,
-       WB_Extend,
-       WB_Other,
        WB_Numeric,
        WB_Other,
        WB_ALetter,
@@ -62883,7 +64289,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_Extend,
        WB_Other,
        WB_ALetter,
-       WB_Other,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -62897,8 +64302,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
-       WB_Other,
-       WB_ALetter,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -62920,6 +64323,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Numeric,
        WB_ALetter,
        WB_Extend,
@@ -62983,8 +64388,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
-       WB_Other,
-       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_Extend,
@@ -63157,6 +64560,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_Extend,
@@ -63191,6 +64598,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -63223,15 +64634,29 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        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_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,
@@ -63258,6 +64683,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_Other,
        WB_Extend,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -63284,6 +64711,9 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_Extend,
        WB_Other,
        WB_ALetter,
+       WB_Extend,
+       WB_Other,
+       WB_ALetter,
        WB_Other,
        WB_Numeric,
        WB_Other,
@@ -63292,6 +64722,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_Other,
        WB_Numeric,
        WB_Other,
+       WB_Extend,
+       WB_Other,
+       WB_Numeric,
+       WB_Other,
        WB_ALetter,
        WB_Numeric,
        WB_Other,
@@ -63309,6 +64743,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Numeric,
        WB_Other,
        WB_ALetter,
@@ -63422,6 +64860,18 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */
        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_Other,
        WB_Extend,
@@ -63543,7 +64993,7 @@ static const UV XPerlSpace_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
-       1281,   /* Number of elements */
+       1317,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -63671,8 +65121,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x8EA,
        0x8F0,
        0x93C,
@@ -63770,6 +65220,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -63851,7 +65303,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -63902,7 +65354,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -64051,7 +65503,9 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -64295,7 +65749,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -64309,19 +65763,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0xA674,
        0xA67C,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F0,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -64340,6 +65790,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92B,
        0xA930,
@@ -64391,10 +65843,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABF0,
        0xABFA,
@@ -64518,6 +65968,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -64554,6 +66008,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11046,
        0x11066,
@@ -64578,17 +66036,29 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x111C5,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11235,
        0x11237,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112E9,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -64608,6 +66078,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x11349,
        0x1134B,
        0x1134D,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -64624,6 +66096,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x115B6,
        0x115B8,
        0x115BF,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x1163F,
        0x11640,
@@ -64636,6 +66110,12 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x116B6,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172B,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -64643,11 +66123,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -64826,12 +66310,14 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
 
 static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
-       1223,   /* Number of elements */
+       1257,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -64961,8 +66447,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x8EA,
        0x8F0,
        0x93C,
@@ -65056,6 +66542,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0xAD1,
        0xAE0,
        0xAE4,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -65133,7 +66621,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC81,
@@ -65180,7 +66668,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD7A,
        0xD80,
@@ -65317,7 +66805,9 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -65551,7 +67041,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -65567,19 +67057,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0xA674,
        0xA67C,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F0,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -65596,6 +67082,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA90A,
        0xA92B,
        0xA930,
@@ -65647,10 +67135,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xAC00,
        0xD7A4,
@@ -65768,6 +67254,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -65804,6 +67294,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11046,
        0x11082,
@@ -65822,15 +67316,27 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x111C5,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11235,
        0x11237,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112E9,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -65850,6 +67356,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x11349,
        0x1134B,
        0x1134D,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -65864,6 +67372,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x115B6,
        0x115B8,
        0x115BF,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x1163F,
        0x11640,
@@ -65872,6 +67382,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x11645,
        0x11680,
        0x116B6,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172B,
        0x118A0,
        0x118E0,
        0x118FF,
@@ -65879,11 +67393,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -66056,6 +67574,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
@@ -66094,7 +67614,7 @@ static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV XPosixDigit_invlist[] = { /* for EBCDIC 037 */
-       101,    /* Number of elements */
+       103,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -66191,6 +67711,8 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 037 */
        0x1165A,
        0x116C0,
        0x116CA,
+       0x11730,
+       0x1173A,
        0x118E0,
        0x118EA,
        0x16A60,
@@ -66202,7 +67724,7 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
-       1211,   /* Number of elements */
+       1237,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -66256,8 +67778,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x85E,
        0x85F,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x984,
        0x985,
        0x98D,
@@ -66343,6 +67865,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0xAE4,
        0xAE6,
        0xAF2,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -66422,7 +67946,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -66473,7 +67997,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD76,
@@ -66598,7 +68122,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x1380,
        0x139A,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1400,
        0x1680,
        0x1681,
@@ -66734,11 +68260,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x2090,
        0x209D,
        0x20A0,
-       0x20BE,
+       0x20BF,
        0x20D0,
        0x20F1,
        0x2100,
-       0x218A,
+       0x218C,
        0x2190,
        0x23FB,
        0x2400,
@@ -66755,6 +68281,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x2BC9,
        0x2BCA,
        0x2BD2,
+       0x2BEC,
+       0x2BF0,
        0x2C00,
        0x2C2F,
        0x2C30,
@@ -66820,7 +68348,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x3300,
        0x4DB6,
        0x4DC0,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA490,
@@ -66828,15 +68356,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0xA4D0,
        0xA62C,
        0xA640,
-       0xA69E,
-       0xA69F,
        0xA6F8,
        0xA700,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA82C,
        0xA830,
@@ -66848,7 +68372,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0xA8CE,
        0xA8DA,
        0xA8E0,
-       0xA8FC,
+       0xA8FE,
        0xA900,
        0xA954,
        0xA95F,
@@ -66880,10 +68404,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0xAB28,
        0xAB2F,
        0xAB30,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEE,
        0xABF0,
        0xABFA,
@@ -66924,8 +68446,6 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0xFE00,
        0xFE1A,
        0xFE20,
-       0xFE2E,
-       0xFE30,
        0xFE53,
        0xFE54,
        0xFE67,
@@ -67029,7 +68549,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x1089F,
        0x108A7,
        0x108B0,
-       0x10900,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
+       0x108FB,
        0x1091C,
        0x1091F,
        0x1093A,
@@ -67037,9 +68561,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x10940,
        0x10980,
        0x109B8,
-       0x109BE,
-       0x109C0,
-       0x10A00,
+       0x109BC,
+       0x109D0,
+       0x109D2,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -67075,6 +68599,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x10BB0,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x10CFA,
+       0x10D00,
        0x10E60,
        0x10E7F,
        0x11000,
@@ -67094,22 +68624,30 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x11150,
        0x11177,
        0x11180,
-       0x111C9,
-       0x111CD,
        0x111CE,
        0x111D0,
-       0x111DB,
+       0x111E0,
        0x111E1,
        0x111F5,
        0x11200,
        0x11212,
        0x11213,
        0x1123E,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112AA,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -67129,6 +68667,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -67144,7 +68684,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x11580,
        0x115B6,
        0x115B8,
-       0x115CA,
+       0x115DE,
        0x11600,
        0x11645,
        0x11650,
@@ -67153,6 +68693,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x11740,
        0x118A0,
        0x118F3,
        0x118FF,
@@ -67160,13 +68706,17 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
        0x12470,
        0x12475,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -67212,7 +68762,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x1D100,
        0x1D127,
        0x1D129,
-       0x1D1DE,
+       0x1D1E9,
        0x1D200,
        0x1D246,
        0x1D300,
@@ -67260,7 +68810,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x1D6A8,
        0x1D7CC,
        0x1D7CE,
-       0x1D800,
+       0x1DA8C,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8C7,
@@ -67362,25 +68916,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x1F250,
        0x1F252,
        0x1F300,
-       0x1F32D,
-       0x1F330,
-       0x1F37E,
-       0x1F380,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3F8,
-       0x1F400,
-       0x1F4FF,
-       0x1F500,
-       0x1F54B,
-       0x1F550,
        0x1F57A,
        0x1F57B,
        0x1F5A4,
        0x1F5A5,
-       0x1F643,
-       0x1F645,
-       0x1F6D0,
+       0x1F6D1,
        0x1F6E0,
        0x1F6ED,
        0x1F6F0,
@@ -67399,12 +68939,20 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        0x1F888,
        0x1F890,
        0x1F8AE,
+       0x1F910,
+       0x1F919,
+       0x1F980,
+       0x1F985,
+       0x1F9C0,
+       0x1F9C1,
        0x20000,
        0x2A6D7,
        0x2A700,
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -67420,7 +68968,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */
-       1275,   /* Number of elements */
+       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 */
@@ -67983,6 +69531,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */
        0x530,
        0x561,
        0x588,
+       0x13F8,
+       0x13FE,
        0x1D00,
        0x1DC0,
        0x1E01,
@@ -68625,14 +70175,18 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */
        0xA7A8,
        0xA7A9,
        0xA7AA,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
+       0xA7B8,
        0xA7F8,
        0xA7FB,
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -68641,6 +70195,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */
        0xFF5B,
        0x10428,
        0x10450,
+       0x10CC0,
+       0x10CF3,
        0x118C0,
        0x118E0,
        0x1D41A,
@@ -68702,7 +70258,7 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
-       1205,   /* Number of elements */
+       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 */
@@ -68756,8 +70312,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x85E,
        0x85F,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x984,
        0x985,
        0x98D,
@@ -68843,6 +70399,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0xAE4,
        0xAE6,
        0xAF2,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -68922,7 +70480,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -68973,7 +70531,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD76,
@@ -69098,7 +70656,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x1380,
        0x139A,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1400,
        0x169D,
        0x16A0,
@@ -69228,11 +70788,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x2090,
        0x209D,
        0x20A0,
-       0x20BE,
+       0x20BF,
        0x20D0,
        0x20F1,
        0x2100,
-       0x218A,
+       0x218C,
        0x2190,
        0x23FB,
        0x2400,
@@ -69249,6 +70809,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x2BC9,
        0x2BCA,
        0x2BD2,
+       0x2BEC,
+       0x2BF0,
        0x2C00,
        0x2C2F,
        0x2C30,
@@ -69314,7 +70876,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x3300,
        0x4DB6,
        0x4DC0,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA490,
@@ -69322,15 +70884,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0xA4D0,
        0xA62C,
        0xA640,
-       0xA69E,
-       0xA69F,
        0xA6F8,
        0xA700,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA82C,
        0xA830,
@@ -69342,7 +70900,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0xA8CE,
        0xA8DA,
        0xA8E0,
-       0xA8FC,
+       0xA8FE,
        0xA900,
        0xA954,
        0xA95F,
@@ -69374,10 +70932,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0xAB28,
        0xAB2F,
        0xAB30,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEE,
        0xABF0,
        0xABFA,
@@ -69418,8 +70974,6 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0xFE00,
        0xFE1A,
        0xFE20,
-       0xFE2E,
-       0xFE30,
        0xFE53,
        0xFE54,
        0xFE67,
@@ -69523,7 +71077,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x1089F,
        0x108A7,
        0x108B0,
-       0x10900,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
+       0x108FB,
        0x1091C,
        0x1091F,
        0x1093A,
@@ -69531,9 +71089,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x10940,
        0x10980,
        0x109B8,
-       0x109BE,
-       0x109C0,
-       0x10A00,
+       0x109BC,
+       0x109D0,
+       0x109D2,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -69569,6 +71127,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x10BB0,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x10CFA,
+       0x10D00,
        0x10E60,
        0x10E7F,
        0x11000,
@@ -69588,22 +71152,30 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x11150,
        0x11177,
        0x11180,
-       0x111C9,
-       0x111CD,
        0x111CE,
        0x111D0,
-       0x111DB,
+       0x111E0,
        0x111E1,
        0x111F5,
        0x11200,
        0x11212,
        0x11213,
        0x1123E,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112AA,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -69623,6 +71195,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -69638,7 +71212,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x11580,
        0x115B6,
        0x115B8,
-       0x115CA,
+       0x115DE,
        0x11600,
        0x11645,
        0x11650,
@@ -69647,6 +71221,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x11740,
        0x118A0,
        0x118F3,
        0x118FF,
@@ -69654,13 +71234,17 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
        0x12470,
        0x12475,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -69706,7 +71290,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x1D100,
        0x1D127,
        0x1D129,
-       0x1D1DE,
+       0x1D1E9,
        0x1D200,
        0x1D246,
        0x1D300,
@@ -69754,7 +71338,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x1D6A8,
        0x1D7CC,
        0x1D7CE,
-       0x1D800,
+       0x1DA8C,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8C7,
@@ -69856,25 +71444,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x1F250,
        0x1F252,
        0x1F300,
-       0x1F32D,
-       0x1F330,
-       0x1F37E,
-       0x1F380,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3F8,
-       0x1F400,
-       0x1F4FF,
-       0x1F500,
-       0x1F54B,
-       0x1F550,
        0x1F57A,
        0x1F57B,
        0x1F5A4,
        0x1F5A5,
-       0x1F643,
-       0x1F645,
-       0x1F6D0,
+       0x1F6D1,
        0x1F6E0,
        0x1F6ED,
        0x1F6F0,
@@ -69893,12 +71467,20 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        0x1F888,
        0x1F890,
        0x1F8AE,
+       0x1F910,
+       0x1F919,
+       0x1F980,
+       0x1F985,
+       0x1F9C0,
+       0x1F9C1,
        0x20000,
        0x2A6D7,
        0x2A700,
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -69914,7 +71496,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */
-       311,    /* Number of elements */
+       323,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -70121,6 +71703,8 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */
        0xA8D0,
        0xA8F8,
        0xA8FB,
+       0xA8FC,
+       0xA8FD,
        0xA92E,
        0xA930,
        0xA95F,
@@ -70206,17 +71790,25 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */
        0x11174,
        0x11176,
        0x111C5,
-       0x111C9,
+       0x111CA,
        0x111CD,
        0x111CE,
+       0x111DB,
+       0x111DC,
+       0x111DD,
+       0x111E0,
        0x11238,
        0x1123E,
+       0x112A9,
+       0x112AA,
        0x114C6,
        0x114C7,
        0x115C1,
-       0x115CA,
+       0x115D8,
        0x11641,
        0x11644,
+       0x1173C,
+       0x1173F,
        0x12470,
        0x12475,
        0x16A6E,
@@ -70228,7 +71820,9 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */
        0x16B44,
        0x16B45,
        0x1BC9F,
-       0x1BCA0
+       0x1BCA0,
+       0x1DA87,
+       0x1DA8C
 };
 
 static const UV XPosixSpace_invlist[] = { /* for EBCDIC 037 */
@@ -70262,7 +71856,7 @@ static const UV XPosixSpace_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */
-       1269,   /* Number of elements */
+       1275,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -70831,6 +72425,8 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
        0x1E00,
        0x1E01,
        0x1E02,
@@ -71460,11 +73056,15 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */
        0xA7AA,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
        0xFF21,
        0xFF3B,
        0x10400,
        0x10428,
+       0x10C80,
+       0x10CB3,
        0x118A0,
        0x118C0,
        0x1D400,
@@ -71538,7 +73138,7 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */
 };
 
 static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
-       1281,   /* Number of elements */
+       1331,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -71660,8 +73260,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x840,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x964,
        0x966,
        0x970,
@@ -71751,6 +73351,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -71832,7 +73434,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -71881,7 +73483,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -72026,7 +73628,9 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -72272,7 +73876,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -72286,19 +73890,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0xA674,
        0xA67E,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F2,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA828,
        0xA840,
@@ -72311,6 +73911,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92E,
        0xA930,
@@ -72352,10 +73954,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABEC,
        0xABEE,
@@ -72400,7 +74000,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -72495,6 +74095,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -72535,6 +74139,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11047,
        0x11066,
@@ -72555,17 +74163,31 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x11177,
        0x11180,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -72585,6 +74207,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -72603,6 +74227,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x11641,
        0x11644,
@@ -72613,6 +74239,12 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -72620,11 +74252,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -72737,6 +74373,18 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -72819,6 +74467,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0100,
@@ -72922,7 +74572,7 @@ static const UV ASCII_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */
-       279,    /* Number of elements */
+       287,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -73011,6 +74661,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1D00,
        0x1DC0,
        0x1E00,
@@ -73118,15 +74772,15 @@ static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F8,
        0xA7FB,
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -73137,6 +74791,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFF5B,
        0x10400,
        0x10450,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x118A0,
        0x118E0,
        0x1D400,
@@ -73208,7 +74866,7 @@ static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
-       1484,   /* Number of elements */
+       1502,   /* 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 */
@@ -73275,7 +74933,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x82E,
        0x859,
        0x85C,
-       0x8E4,
+       0x8E3,
        0x903,
        0x904,
        0x93A,
@@ -73543,10 +75201,6 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1933,
        0x1939,
        0x193C,
-       0x19B5,
-       0x19B8,
-       0x19BA,
-       0x19BB,
        0x1A17,
        0x1A19,
        0x1A1B,
@@ -73647,7 +75301,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA673,
        0xA674,
        0xA67E,
-       0xA69F,
+       0xA69E,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -74536,7 +76190,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFEFF,
        0xFF00,
        0xFF9E,
@@ -74592,6 +76246,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x111B6,
        0x111BF,
        0x111C1,
+       0x111CA,
+       0x111CD,
        0x1122C,
        0x1122F,
        0x11232,
@@ -74603,7 +76259,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x112E0,
        0x112E3,
        0x112EB,
-       0x11301,
+       0x11300,
        0x11302,
        0x11304,
        0x1133C,
@@ -74646,6 +76302,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x115BE,
        0x115BF,
        0x115C1,
+       0x115DC,
+       0x115DE,
        0x11630,
        0x11633,
        0x1163B,
@@ -74661,6 +76319,12 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x116B6,
        0x116B7,
        0x116B8,
+       0x1171D,
+       0x11720,
+       0x11722,
+       0x11726,
+       0x11727,
+       0x1172C,
        0x16AF0,
        0x16AF5,
        0x16B30,
@@ -74688,6 +76352,18 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1D1AE,
        0x1D242,
        0x1D245,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E8D0,
        0x1E8D7,
        0x1F1E6,
@@ -75053,10 +76729,6 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC
        GCB_SpacingMark,
        GCB_Extend,
        GCB_Other,
-       GCB_SpacingMark,
-       GCB_Other,
-       GCB_SpacingMark,
-       GCB_Other,
        GCB_Extend,
        GCB_SpacingMark,
        GCB_Extend,
@@ -76102,6 +77774,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC
        GCB_Extend,
        GCB_SpacingMark,
        GCB_Other,
+       GCB_Extend,
+       GCB_Other,
        GCB_SpacingMark,
        GCB_Extend,
        GCB_SpacingMark,
@@ -76156,6 +77830,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC
        GCB_SpacingMark,
        GCB_Extend,
        GCB_Other,
+       GCB_Extend,
+       GCB_Other,
        GCB_SpacingMark,
        GCB_Extend,
        GCB_SpacingMark,
@@ -76172,6 +77848,12 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC
        GCB_Extend,
        GCB_Other,
        GCB_Extend,
+       GCB_SpacingMark,
+       GCB_Extend,
+       GCB_SpacingMark,
+       GCB_Extend,
+       GCB_Other,
+       GCB_Extend,
        GCB_Other,
        GCB_Extend,
        GCB_Other,
@@ -76200,6 +77882,18 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC
        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_Control,
@@ -76265,7 +77959,7 @@ static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC POSIX-BC
 };
 
 static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */
-       265,    /* Number of elements */
+       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 */
@@ -76364,7 +78058,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */
        0x28D,
        0x292,
        0x293,
-       0x29E,
+       0x29D,
        0x29F,
        0x2BC,
        0x2BD,
@@ -76422,6 +78116,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1D79,
        0x1D7A,
        0x1D7D,
@@ -76521,7 +78219,11 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA796,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
+       0xAB53,
+       0xAB54,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -76532,6 +78234,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFF5B,
        0x10400,
        0x10450,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x118A0,
        0x118E0
 };
@@ -76607,7 +78313,7 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC POSIX-BC *
 #if defined(PERL_IN_UTF8_C)
 
 static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
-       1289,   /* Number of elements */
+       1339,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -76733,8 +78439,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x840,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x964,
        0x966,
        0x970,
@@ -76824,6 +78530,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -76905,7 +78613,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -76954,7 +78662,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -77099,7 +78807,9 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -77343,7 +79053,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -77357,19 +79067,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA674,
        0xA67E,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F2,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA828,
        0xA840,
@@ -77382,6 +79088,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92E,
        0xA930,
@@ -77423,10 +79131,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABEC,
        0xABEE,
@@ -77473,7 +79179,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -77578,6 +79284,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -77618,6 +79328,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11047,
        0x11066,
@@ -77638,17 +79352,31 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11177,
        0x11180,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -77668,6 +79396,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -77686,6 +79416,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x11641,
        0x11644,
@@ -77696,6 +79428,12 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -77703,11 +79441,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -77820,6 +79562,18 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -77896,6 +79650,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0100,
@@ -77903,7 +79659,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
-       1119,   /* Number of elements */
+       1153,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -78031,7 +79787,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
+       0x8B5,
        0x904,
        0x93A,
        0x93D,
@@ -78102,6 +79858,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAD1,
        0xAE0,
        0xAE2,
+       0xAF9,
+       0xAFA,
        0xB05,
        0xB0D,
        0xB0F,
@@ -78155,7 +79913,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0xC3D,
        0xC3E,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC85,
@@ -78186,7 +79944,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0xD3E,
        0xD4E,
        0xD4F,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD7A,
        0xD80,
@@ -78309,7 +80067,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -78354,8 +80114,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1975,
        0x1980,
        0x19AC,
-       0x19C1,
-       0x19C8,
+       0x19B0,
+       0x19CA,
        0x1A00,
        0x1A17,
        0x1A20,
@@ -78523,7 +80283,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -78545,11 +80305,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -78566,6 +80324,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA90A,
        0xA926,
        0xA930,
@@ -78623,10 +80383,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABE3,
        0xAC00,
        0xD7A4,
@@ -78760,6 +80518,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -78794,6 +80556,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11003,
        0x11038,
        0x11083,
@@ -78812,10 +80578,22 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x111C5,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x1122C,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112DF,
        0x11305,
@@ -78832,6 +80610,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1133A,
        0x1133D,
        0x1133E,
+       0x11350,
+       0x11351,
        0x1135D,
        0x11362,
        0x11480,
@@ -78842,12 +80622,16 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x114C8,
        0x11580,
        0x115AF,
+       0x115D8,
+       0x115DC,
        0x11600,
        0x11630,
        0x11644,
        0x11645,
        0x11680,
        0x116AB,
+       0x11700,
+       0x1171A,
        0x118A0,
        0x118E0,
        0x118FF,
@@ -78855,11 +80639,15 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -79024,6 +80812,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
@@ -79033,7 +80823,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
 #if defined(PERL_IN_PERL_C)
 
 static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
-       2863,   /* Number of elements */
+       2924,   /* 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 */
@@ -79767,8 +81557,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x859,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x904,
        0x93A,
        0x93D,
@@ -79878,6 +81668,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -79964,7 +81756,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC64,
@@ -80019,7 +81811,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD64,
        0xD66,
@@ -80199,7 +81991,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166E,
@@ -80274,8 +82068,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1980,
        0x19AC,
        0x19B0,
-       0x19C1,
-       0x19C8,
        0x19CA,
        0x19D0,
        0x19DA,
@@ -80962,7 +82754,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -81056,7 +82848,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA69A,
        0xA69B,
        0xA69E,
-       0xA69F,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -81190,7 +82981,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA7AA,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
+       0xA7B8,
        0xA7F7,
        0xA7F8,
        0xA7FB,
@@ -81218,6 +83012,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA90A,
        0xA926,
@@ -81291,9 +83087,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
        0xABC0,
        0xABE3,
        0xABEB,
@@ -81348,7 +83143,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFE17,
        0xFE19,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE31,
        0xFE33,
        0xFE35,
@@ -81482,6 +83277,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -81527,6 +83326,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11003,
        0x11038,
@@ -81564,11 +83367,16 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x111C1,
        0x111C5,
        0x111C7,
+       0x111CA,
        0x111CD,
        0x111CE,
        0x111D0,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
+       0x111DE,
+       0x111E0,
        0x11200,
        0x11212,
        0x11213,
@@ -81577,12 +83385,23 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1123A,
        0x1123B,
        0x1123D,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
+       0x112AA,
        0x112B0,
        0x112DF,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -81604,6 +83423,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -81629,7 +83450,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x115C2,
        0x115C4,
        0x115C9,
-       0x115CA,
+       0x115D8,
+       0x115DC,
+       0x115DE,
        0x11600,
        0x11630,
        0x11641,
@@ -81643,6 +83466,14 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
+       0x1173C,
+       0x1173F,
        0x118A0,
        0x118C0,
        0x118E0,
@@ -81652,11 +83483,15 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -81808,6 +83643,20 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA88,
+       0x1DA89,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -81892,6 +83741,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -82769,6 +84620,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Other,
        SB_Numeric,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Extend,
        SB_Other,
        SB_OLetter,
@@ -83089,7 +84942,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Other,
        SB_OLetter,
        SB_Other,
-       SB_OLetter,
+       SB_Upper,
+       SB_Other,
+       SB_Lower,
        SB_Other,
        SB_OLetter,
        SB_Other,
@@ -83164,9 +85019,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Other,
        SB_OLetter,
        SB_Other,
-       SB_Extend,
        SB_OLetter,
-       SB_Extend,
        SB_Other,
        SB_Numeric,
        SB_Other,
@@ -83946,7 +85799,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Lower,
        SB_Upper,
        SB_Lower,
-       SB_Other,
        SB_Extend,
        SB_OLetter,
        SB_Extend,
@@ -84053,7 +85905,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Lower,
        SB_Upper,
        SB_Lower,
-       SB_Other,
+       SB_OLetter,
        SB_Upper,
        SB_Lower,
        SB_Upper,
@@ -84081,6 +85933,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Upper,
        SB_Other,
        SB_Upper,
+       SB_Lower,
+       SB_Upper,
+       SB_Lower,
        SB_Other,
        SB_OLetter,
        SB_Lower,
@@ -84109,6 +85964,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Numeric,
        SB_OLetter,
        SB_Extend,
@@ -84184,7 +86041,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Lower,
        SB_Other,
        SB_Lower,
-       SB_Other,
        SB_OLetter,
        SB_Extend,
        SB_STerm,
@@ -84382,6 +86238,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_OLetter,
        SB_Other,
        SB_OLetter,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
+       SB_OLetter,
        SB_Extend,
        SB_Other,
        SB_Extend,
@@ -84418,6 +86278,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_Upper,
+       SB_Other,
+       SB_Lower,
+       SB_Other,
        SB_Extend,
        SB_OLetter,
        SB_Extend,
@@ -84455,6 +86319,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_OLetter,
        SB_STerm,
        SB_Other,
+       SB_Extend,
        SB_STerm,
        SB_Other,
        SB_Numeric,
@@ -84462,6 +86327,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_STerm,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_OLetter,
        SB_Extend,
        SB_STerm,
@@ -84469,6 +86338,17 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_STerm,
        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,
@@ -84495,6 +86375,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Other,
        SB_Extend,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Extend,
        SB_Other,
        SB_OLetter,
@@ -84520,6 +86402,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_STerm,
        SB_Other,
        SB_STerm,
+       SB_OLetter,
+       SB_Extend,
        SB_Other,
        SB_OLetter,
        SB_Extend,
@@ -84534,6 +86418,14 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        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,
@@ -84552,6 +86444,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Numeric,
        SB_Other,
        SB_STerm,
@@ -84699,6 +86595,20 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        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_OLetter,
        SB_Other,
        SB_Extend,
@@ -84785,6 +86695,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        SB_Other,
        SB_OLetter,
        SB_Other,
+       SB_OLetter,
+       SB_Other,
        SB_Format,
        SB_Other,
        SB_Format,
@@ -84882,7 +86794,7 @@ static const UV VertSpace_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
-       1503,   /* Number of elements */
+       1547,   /* 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 */
@@ -85074,8 +86986,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x859,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x904,
        0x93A,
        0x93D,
@@ -85185,6 +87097,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -85271,7 +87185,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC62,
        0xC64,
@@ -85326,7 +87240,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD62,
        0xD64,
        0xD66,
@@ -85467,7 +87381,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -85522,10 +87438,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x193C,
        0x1946,
        0x1950,
-       0x19B0,
-       0x19C1,
-       0x19C8,
-       0x19CA,
        0x19D0,
        0x19DA,
        0x1A00,
@@ -85767,7 +87679,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA67E,
        0xA67F,
        0xA69E,
-       0xA69F,
        0xA6A0,
        0xA6F0,
        0xA6F2,
@@ -85776,11 +87687,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -85803,6 +87712,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA90A,
        0xA926,
@@ -85864,10 +87775,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABE3,
        0xABEB,
        0xABEC,
@@ -85916,7 +87825,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFE14,
        0xFE15,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -86031,6 +87940,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -86074,6 +87987,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11003,
        0x11038,
@@ -86106,20 +88023,34 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x111B3,
        0x111C1,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x1122C,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112DF,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -86141,6 +88072,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -86163,6 +88096,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DC,
+       0x115DE,
        0x11600,
        0x11630,
        0x11641,
@@ -86175,6 +88111,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118E0,
        0x118EA,
@@ -86183,11 +88123,15 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -86305,6 +88249,18 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -86719,6 +88675,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_Other,
        WB_Numeric,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -87015,6 +88973,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
+       WB_Other,
+       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -87056,10 +89016,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_Other,
        WB_Numeric,
        WB_Other,
-       WB_Extend,
-       WB_Other,
-       WB_Extend,
-       WB_Other,
        WB_Numeric,
        WB_Other,
        WB_ALetter,
@@ -87300,7 +89256,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_Extend,
        WB_Other,
        WB_ALetter,
-       WB_Other,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -87314,8 +89269,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
-       WB_Other,
-       WB_ALetter,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -87337,6 +89290,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Numeric,
        WB_ALetter,
        WB_Extend,
@@ -87400,8 +89355,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
-       WB_Other,
-       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_Extend,
@@ -87574,6 +89527,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_ALetter,
        WB_Other,
        WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
        WB_Extend,
        WB_Other,
        WB_Extend,
@@ -87608,6 +89565,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_ALetter,
        WB_Extend,
@@ -87640,15 +89601,29 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        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_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,
@@ -87675,6 +89650,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_Other,
        WB_Extend,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Extend,
        WB_Other,
        WB_ALetter,
@@ -87701,6 +89678,9 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_Extend,
        WB_Other,
        WB_ALetter,
+       WB_Extend,
+       WB_Other,
+       WB_ALetter,
        WB_Other,
        WB_Numeric,
        WB_Other,
@@ -87709,6 +89689,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_Other,
        WB_Numeric,
        WB_Other,
+       WB_Extend,
+       WB_Other,
+       WB_Numeric,
+       WB_Other,
        WB_ALetter,
        WB_Numeric,
        WB_Other,
@@ -87726,6 +89710,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        WB_Other,
        WB_ALetter,
        WB_Other,
+       WB_ALetter,
+       WB_Other,
+       WB_ALetter,
+       WB_Other,
        WB_Numeric,
        WB_Other,
        WB_ALetter,
@@ -87839,6 +89827,18 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */
        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_Other,
        WB_Extend,
@@ -87960,7 +89960,7 @@ static const UV XPerlSpace_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
-       1283,   /* Number of elements */
+       1319,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -88090,8 +90090,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x8EA,
        0x8F0,
        0x93C,
@@ -88189,6 +90189,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -88270,7 +90272,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -88321,7 +90323,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -88470,7 +90472,9 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -88714,7 +90718,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -88728,19 +90732,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA674,
        0xA67C,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F0,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -88759,6 +90759,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92B,
        0xA930,
@@ -88810,10 +90812,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABF0,
        0xABFA,
@@ -88937,6 +90937,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -88973,6 +90977,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11046,
        0x11066,
@@ -88997,17 +91005,29 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x111C5,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11235,
        0x11237,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112E9,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -89027,6 +91047,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11349,
        0x1134B,
        0x1134D,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -89043,6 +91065,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x115B6,
        0x115B8,
        0x115BF,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x1163F,
        0x11640,
@@ -89055,6 +91079,12 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x116B6,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172B,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -89062,11 +91092,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -89245,12 +91279,14 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
 
 static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
-       1225,   /* Number of elements */
+       1259,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -89382,8 +91418,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x840,
        0x859,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x8EA,
        0x8F0,
        0x93C,
@@ -89477,6 +91513,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAD1,
        0xAE0,
        0xAE4,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -89554,7 +91592,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC81,
@@ -89601,7 +91639,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD7A,
        0xD80,
@@ -89738,7 +91776,9 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -89972,7 +92012,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -89988,19 +92028,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA674,
        0xA67C,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F0,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA802,
        0xA803,
@@ -90017,6 +92053,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA90A,
        0xA92B,
        0xA930,
@@ -90068,10 +92106,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xAC00,
        0xD7A4,
@@ -90189,6 +92225,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -90225,6 +92265,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11046,
        0x11082,
@@ -90243,15 +92287,27 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x111C5,
        0x111DA,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11235,
        0x11237,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112E9,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -90271,6 +92327,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11349,
        0x1134B,
        0x1134D,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -90285,6 +92343,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x115B6,
        0x115B8,
        0x115BF,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x1163F,
        0x11640,
@@ -90293,6 +92353,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11645,
        0x11680,
        0x116B6,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172B,
        0x118A0,
        0x118E0,
        0x118FF,
@@ -90300,11 +92364,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -90477,6 +92545,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E
 };
@@ -90515,7 +92585,7 @@ static const UV XPosixCntrl_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV XPosixDigit_invlist[] = { /* for EBCDIC POSIX-BC */
-       101,    /* Number of elements */
+       103,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -90612,6 +92682,8 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1165A,
        0x116C0,
        0x116CA,
+       0x11730,
+       0x1173A,
        0x118E0,
        0x118EA,
        0x16A60,
@@ -90623,7 +92695,7 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
-       1211,   /* Number of elements */
+       1237,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -90677,8 +92749,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x85E,
        0x85F,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x984,
        0x985,
        0x98D,
@@ -90764,6 +92836,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAE4,
        0xAE6,
        0xAF2,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -90843,7 +92917,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -90894,7 +92968,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD76,
@@ -91019,7 +93093,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1380,
        0x139A,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1400,
        0x1680,
        0x1681,
@@ -91155,11 +93231,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2090,
        0x209D,
        0x20A0,
-       0x20BE,
+       0x20BF,
        0x20D0,
        0x20F1,
        0x2100,
-       0x218A,
+       0x218C,
        0x2190,
        0x23FB,
        0x2400,
@@ -91176,6 +93252,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2BC9,
        0x2BCA,
        0x2BD2,
+       0x2BEC,
+       0x2BF0,
        0x2C00,
        0x2C2F,
        0x2C30,
@@ -91241,7 +93319,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x3300,
        0x4DB6,
        0x4DC0,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA490,
@@ -91249,15 +93327,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA4D0,
        0xA62C,
        0xA640,
-       0xA69E,
-       0xA69F,
        0xA6F8,
        0xA700,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA82C,
        0xA830,
@@ -91269,7 +93343,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8CE,
        0xA8DA,
        0xA8E0,
-       0xA8FC,
+       0xA8FE,
        0xA900,
        0xA954,
        0xA95F,
@@ -91301,10 +93375,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAB28,
        0xAB2F,
        0xAB30,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEE,
        0xABF0,
        0xABFA,
@@ -91345,8 +93417,6 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFE00,
        0xFE1A,
        0xFE20,
-       0xFE2E,
-       0xFE30,
        0xFE53,
        0xFE54,
        0xFE67,
@@ -91450,7 +93520,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1089F,
        0x108A7,
        0x108B0,
-       0x10900,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
+       0x108FB,
        0x1091C,
        0x1091F,
        0x1093A,
@@ -91458,9 +93532,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10940,
        0x10980,
        0x109B8,
-       0x109BE,
-       0x109C0,
-       0x10A00,
+       0x109BC,
+       0x109D0,
+       0x109D2,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -91496,6 +93570,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10BB0,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x10CFA,
+       0x10D00,
        0x10E60,
        0x10E7F,
        0x11000,
@@ -91515,22 +93595,30 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11150,
        0x11177,
        0x11180,
-       0x111C9,
-       0x111CD,
        0x111CE,
        0x111D0,
-       0x111DB,
+       0x111E0,
        0x111E1,
        0x111F5,
        0x11200,
        0x11212,
        0x11213,
        0x1123E,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112AA,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -91550,6 +93638,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -91565,7 +93655,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11580,
        0x115B6,
        0x115B8,
-       0x115CA,
+       0x115DE,
        0x11600,
        0x11645,
        0x11650,
@@ -91574,6 +93664,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x11740,
        0x118A0,
        0x118F3,
        0x118FF,
@@ -91581,13 +93677,17 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
        0x12470,
        0x12475,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -91633,7 +93733,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1D100,
        0x1D127,
        0x1D129,
-       0x1D1DE,
+       0x1D1E9,
        0x1D200,
        0x1D246,
        0x1D300,
@@ -91681,7 +93781,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1D6A8,
        0x1D7CC,
        0x1D7CE,
-       0x1D800,
+       0x1DA8C,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8C7,
@@ -91783,25 +93887,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1F250,
        0x1F252,
        0x1F300,
-       0x1F32D,
-       0x1F330,
-       0x1F37E,
-       0x1F380,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3F8,
-       0x1F400,
-       0x1F4FF,
-       0x1F500,
-       0x1F54B,
-       0x1F550,
        0x1F57A,
        0x1F57B,
        0x1F5A4,
        0x1F5A5,
-       0x1F643,
-       0x1F645,
-       0x1F6D0,
+       0x1F6D1,
        0x1F6E0,
        0x1F6ED,
        0x1F6F0,
@@ -91820,12 +93910,20 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1F888,
        0x1F890,
        0x1F8AE,
+       0x1F910,
+       0x1F919,
+       0x1F980,
+       0x1F985,
+       0x1F9C0,
+       0x1F9C1,
        0x20000,
        0x2A6D7,
        0x2A700,
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -91841,7 +93939,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */
-       1279,   /* Number of elements */
+       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 */
@@ -92408,6 +94506,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */
        0x530,
        0x561,
        0x588,
+       0x13F8,
+       0x13FE,
        0x1D00,
        0x1DC0,
        0x1E01,
@@ -93050,14 +95150,18 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA7A8,
        0xA7A9,
        0xA7AA,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
+       0xA7B8,
        0xA7F8,
        0xA7FB,
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
+       0xAB70,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
@@ -93066,6 +95170,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFF5B,
        0x10428,
        0x10450,
+       0x10CC0,
+       0x10CF3,
        0x118C0,
        0x118E0,
        0x1D41A,
@@ -93127,7 +95233,7 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
-       1205,   /* Number of elements */
+       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 */
@@ -93181,8 +95287,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x85E,
        0x85F,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x984,
        0x985,
        0x98D,
@@ -93268,6 +95374,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAE4,
        0xAE6,
        0xAF2,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -93347,7 +95455,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -93398,7 +95506,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD76,
@@ -93523,7 +95631,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1380,
        0x139A,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1400,
        0x169D,
        0x16A0,
@@ -93653,11 +95763,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2090,
        0x209D,
        0x20A0,
-       0x20BE,
+       0x20BF,
        0x20D0,
        0x20F1,
        0x2100,
-       0x218A,
+       0x218C,
        0x2190,
        0x23FB,
        0x2400,
@@ -93674,6 +95784,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2BC9,
        0x2BCA,
        0x2BD2,
+       0x2BEC,
+       0x2BF0,
        0x2C00,
        0x2C2F,
        0x2C30,
@@ -93739,7 +95851,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x3300,
        0x4DB6,
        0x4DC0,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA490,
@@ -93747,15 +95859,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA4D0,
        0xA62C,
        0xA640,
-       0xA69E,
-       0xA69F,
        0xA6F8,
        0xA700,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA82C,
        0xA830,
@@ -93767,7 +95875,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8CE,
        0xA8DA,
        0xA8E0,
-       0xA8FC,
+       0xA8FE,
        0xA900,
        0xA954,
        0xA95F,
@@ -93799,10 +95907,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAB28,
        0xAB2F,
        0xAB30,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEE,
        0xABF0,
        0xABFA,
@@ -93843,8 +95949,6 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFE00,
        0xFE1A,
        0xFE20,
-       0xFE2E,
-       0xFE30,
        0xFE53,
        0xFE54,
        0xFE67,
@@ -93948,7 +96052,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1089F,
        0x108A7,
        0x108B0,
-       0x10900,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
+       0x108FB,
        0x1091C,
        0x1091F,
        0x1093A,
@@ -93956,9 +96064,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10940,
        0x10980,
        0x109B8,
-       0x109BE,
-       0x109C0,
-       0x10A00,
+       0x109BC,
+       0x109D0,
+       0x109D2,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -93994,6 +96102,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10BB0,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x10CFA,
+       0x10D00,
        0x10E60,
        0x10E7F,
        0x11000,
@@ -94013,22 +96127,30 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11150,
        0x11177,
        0x11180,
-       0x111C9,
-       0x111CD,
        0x111CE,
        0x111D0,
-       0x111DB,
+       0x111E0,
        0x111E1,
        0x111F5,
        0x11200,
        0x11212,
        0x11213,
        0x1123E,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112AA,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -94048,6 +96170,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -94063,7 +96187,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11580,
        0x115B6,
        0x115B8,
-       0x115CA,
+       0x115DE,
        0x11600,
        0x11645,
        0x11650,
@@ -94072,6 +96196,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x11740,
        0x118A0,
        0x118F3,
        0x118FF,
@@ -94079,13 +96209,17 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
        0x12470,
        0x12475,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -94131,7 +96265,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1D100,
        0x1D127,
        0x1D129,
-       0x1D1DE,
+       0x1D1E9,
        0x1D200,
        0x1D246,
        0x1D300,
@@ -94179,7 +96313,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1D6A8,
        0x1D7CC,
        0x1D7CE,
-       0x1D800,
+       0x1DA8C,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8C7,
@@ -94281,25 +96419,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1F250,
        0x1F252,
        0x1F300,
-       0x1F32D,
-       0x1F330,
-       0x1F37E,
-       0x1F380,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3F8,
-       0x1F400,
-       0x1F4FF,
-       0x1F500,
-       0x1F54B,
-       0x1F550,
        0x1F57A,
        0x1F57B,
        0x1F5A4,
        0x1F5A5,
-       0x1F643,
-       0x1F645,
-       0x1F6D0,
+       0x1F6D1,
        0x1F6E0,
        0x1F6ED,
        0x1F6F0,
@@ -94318,12 +96442,20 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1F888,
        0x1F890,
        0x1F8AE,
+       0x1F910,
+       0x1F919,
+       0x1F980,
+       0x1F985,
+       0x1F9C0,
+       0x1F9C1,
        0x20000,
        0x2A6D7,
        0x2A700,
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0001,
@@ -94339,7 +96471,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */
-       307,    /* Number of elements */
+       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 */
@@ -94542,6 +96674,8 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8D0,
        0xA8F8,
        0xA8FB,
+       0xA8FC,
+       0xA8FD,
        0xA92E,
        0xA930,
        0xA95F,
@@ -94627,17 +96761,25 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11174,
        0x11176,
        0x111C5,
-       0x111C9,
+       0x111CA,
        0x111CD,
        0x111CE,
+       0x111DB,
+       0x111DC,
+       0x111DD,
+       0x111E0,
        0x11238,
        0x1123E,
+       0x112A9,
+       0x112AA,
        0x114C6,
        0x114C7,
        0x115C1,
-       0x115CA,
+       0x115D8,
        0x11641,
        0x11644,
+       0x1173C,
+       0x1173F,
        0x12470,
        0x12475,
        0x16A6E,
@@ -94649,7 +96791,9 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */
        0x16B44,
        0x16B45,
        0x1BC9F,
-       0x1BCA0
+       0x1BCA0,
+       0x1DA87,
+       0x1DA8C
 };
 
 static const UV XPosixSpace_invlist[] = { /* for EBCDIC POSIX-BC */
@@ -94683,7 +96827,7 @@ static const UV XPosixSpace_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */
-       1275,   /* Number of elements */
+       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 */
@@ -95258,6 +97402,8 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10C8,
        0x10CD,
        0x10CE,
+       0x13A0,
+       0x13F6,
        0x1E00,
        0x1E01,
        0x1E02,
@@ -95887,11 +98033,15 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA7AA,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B5,
+       0xA7B6,
+       0xA7B7,
        0xFF21,
        0xFF3B,
        0x10400,
        0x10428,
+       0x10C80,
+       0x10CB3,
        0x118A0,
        0x118C0,
        0x1D400,
@@ -95965,7 +98115,7 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */
 };
 
 static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
-       1283,   /* Number of elements */
+       1333,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -96089,8 +98239,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x840,
        0x85C,
        0x8A0,
-       0x8B3,
-       0x8E4,
+       0x8B5,
+       0x8E3,
        0x964,
        0x966,
        0x970,
@@ -96180,6 +98330,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAE4,
        0xAE6,
        0xAF0,
+       0xAF9,
+       0xAFA,
        0xB01,
        0xB04,
        0xB05,
@@ -96261,7 +98413,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0xC55,
        0xC57,
        0xC58,
-       0xC5A,
+       0xC5B,
        0xC60,
        0xC64,
        0xC66,
@@ -96310,7 +98462,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0xD4F,
        0xD57,
        0xD58,
-       0xD60,
+       0xD5F,
        0xD64,
        0xD66,
        0xD70,
@@ -96455,7 +98607,9 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1380,
        0x1390,
        0x13A0,
-       0x13F5,
+       0x13F6,
+       0x13F8,
+       0x13FE,
        0x1401,
        0x166D,
        0x166F,
@@ -96701,7 +98855,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x3400,
        0x4DB6,
        0x4E00,
-       0x9FCD,
+       0x9FD6,
        0xA000,
        0xA48D,
        0xA4D0,
@@ -96715,19 +98869,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA674,
        0xA67E,
        0xA67F,
-       0xA69E,
-       0xA69F,
        0xA6F2,
        0xA717,
        0xA720,
        0xA722,
        0xA789,
        0xA78B,
-       0xA78F,
-       0xA790,
        0xA7AE,
        0xA7B0,
-       0xA7B2,
+       0xA7B8,
        0xA7F7,
        0xA828,
        0xA840,
@@ -96740,6 +98890,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0xA8F8,
        0xA8FB,
        0xA8FC,
+       0xA8FD,
+       0xA8FE,
        0xA900,
        0xA92E,
        0xA930,
@@ -96781,10 +98933,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0xAB30,
        0xAB5B,
        0xAB5C,
-       0xAB60,
-       0xAB64,
        0xAB66,
-       0xABC0,
+       0xAB70,
        0xABEB,
        0xABEC,
        0xABEE,
@@ -96829,7 +98979,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0xFE00,
        0xFE10,
        0xFE20,
-       0xFE2E,
+       0xFE30,
        0xFE33,
        0xFE35,
        0xFE4D,
@@ -96924,6 +99074,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10877,
        0x10880,
        0x1089F,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
        0x10900,
        0x10916,
        0x10920,
@@ -96964,6 +99118,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x10B92,
        0x10C00,
        0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
        0x11000,
        0x11047,
        0x11066,
@@ -96984,17 +99142,31 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11177,
        0x11180,
        0x111C5,
+       0x111CA,
+       0x111CD,
        0x111D0,
        0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
        0x11238,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112A9,
        0x112B0,
        0x112EB,
        0x112F0,
        0x112FA,
-       0x11301,
+       0x11300,
        0x11304,
        0x11305,
        0x1130D,
@@ -97014,6 +99186,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11349,
        0x1134B,
        0x1134E,
+       0x11350,
+       0x11351,
        0x11357,
        0x11358,
        0x1135D,
@@ -97032,6 +99206,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x115B6,
        0x115B8,
        0x115C1,
+       0x115D8,
+       0x115DE,
        0x11600,
        0x11641,
        0x11644,
@@ -97042,6 +99218,12 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x116B8,
        0x116C0,
        0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x1173A,
        0x118A0,
        0x118EA,
        0x118FF,
@@ -97049,11 +99231,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x11AC0,
        0x11AF9,
        0x12000,
-       0x12399,
+       0x1239A,
        0x12400,
        0x1246F,
+       0x12480,
+       0x12544,
        0x13000,
        0x1342F,
+       0x14400,
+       0x14647,
        0x16800,
        0x16A39,
        0x16A40,
@@ -97166,6 +99352,18 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x1D7CC,
        0x1D7CE,
        0x1D800,
+       0x1DA00,
+       0x1DA37,
+       0x1DA3B,
+       0x1DA6D,
+       0x1DA75,
+       0x1DA76,
+       0x1DA84,
+       0x1DA85,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
        0x1E800,
        0x1E8C5,
        0x1E8D0,
@@ -97248,6 +99446,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        0x2B735,
        0x2B740,
        0x2B81E,
+       0x2B820,
+       0x2CEA2,
        0x2F800,
        0x2FA1E,
        0xE0100,
@@ -97280,48 +99480,49 @@ static const UV XPosixXDigit_invlist[] = { /* for EBCDIC POSIX-BC */
 
 /* Generated from:
  * 083180df694deb1fc173361406c1a75619fb8376403db3a76dc585c1e3951eca lib/Unicode/UCD.pm
- * 827aa7ee45ca9fe09f3e0969a5a27a69ce58a6c7134548125266210018d27b49 lib/unicore/ArabicShaping.txt
- * 3748fbbe9d280a9da700bfd0c28beaaf6f32a67ec263a124fcb0a4095a30fae5 lib/unicore/BidiBrackets.txt
- * 3925329c2432fa7248b2e180cddcedb9a4f9eafbbb10ab9e105eaf833043b2fb lib/unicore/BidiMirroring.txt
- * 7f5a1b4a346c6cdbe948d3baf50fc31fff29c26bcd4ad422dc1fbcc1c23b0bde lib/unicore/Blocks.txt
- * 82f3cc8217455f22d294d7df767a62906baf31456ea8902336ae7fee943a2538 lib/unicore/CaseFolding.txt
- * 8be553529f7dd22e3e0ffa25eb3f1743f5243bbfe868559be73bf3a163c21913 lib/unicore/CompositionExclusions.txt
- * ab64278818411762311b9d5974438ac5cf14e98c79b44a6373022f0780de38a7 lib/unicore/DAge.txt
- * f2ff892add5e6624cee8300c297373216df7f1a596c6e74510afe5e8b96c8d91 lib/unicore/DCoreProperties.txt
- * 656aa2c6996a049e84c6d38676bc73c3245c808869d64073b812690ae475d534 lib/unicore/DNormalizationProps.txt
- * e064b066e555cbace95951fcba9b5336a4d04c88c5949a1ff7615190eaa67682 lib/unicore/EastAsianWidth.txt
- * 2aa574984e9cea6980eddd6e36044168d543b7f0449266fa3248aca28790cf06 lib/unicore/HangulSyllableType.txt
- * e7122c4d4d598854b5fbefeb2b1ee9f05aef6a8d6e718b5f56c2a8ea31145f12 lib/unicore/IndicMatraCategory.txt
- * 478ca00ea86b47209f0b27eb3959ad83cb2b76f5159213d242390d07d5af2b8d lib/unicore/IndicSyllabicCategory.txt
- * 0aa8af5cbb4d0570b1006aefffc021c6ef637dffb15572a5a85e7f7e7778fe22 lib/unicore/Jamo.txt
- * 3b359eeff325f7e773ea9d5feb8af053b94c579844f0db7ce648f418c9d136d8 lib/unicore/LineBreak.txt
- * af85d961d0ed6055271ca6e0174451a8dc1822e31de9e07e1246535318b9341a lib/unicore/NameAliases.txt
- * 1c379b9c1b0f6cd14208b766f74fc92ff5a9528aee66083db307f1fc9a615729 lib/unicore/NamedSequences.txt
- * 0df343d93293f14e9ff0b0a721d8b8e6c23c86dbad7be18d362d6bf1281590d9 lib/unicore/PropList.txt
- * 6c14f474761b8db46f95cf2d1e235ce40abf3382226c5b1a2210df83775fe6fa lib/unicore/PropValueAliases.txt
- * 3f3dd77644faa905ce02de7c0e3167fdc4afdf94748f074192bd70821c8341ea lib/unicore/PropertyAliases.txt
- * 2767531dec8c525a317ab488b95eed73461fe9c6fbb8088594f3886964724475 lib/unicore/ScriptExtensions.txt
- * a638f9f0eb3c521ed6c7755fce93c04bf6e4ba89f23ac3d1bd4c4e486c400118 lib/unicore/Scripts.txt
- * 35496d45fc8babd8deb866491ea82ff7b3d2d49ad4c9c656685cd14833101e25 lib/unicore/SpecialCasing.txt
- * bfa3da58ea982199829e1107ac5a9a544b83100470a2d0cc28fb50ec234cb840 lib/unicore/UnicodeData.txt
- * 916289f471c4a337fb1e0715985a11e6bc8bb205736e84164849d601d265d9e0 lib/unicore/auxiliary/GCBTest.txt
- * 3d7ffae56e506d595f3e0e5d36978bc6721d53470e5ca9666ad7cdfc4a46cb3d lib/unicore/auxiliary/GraphemeBreakProperty.txt
- * 370ddf3ba9b337819cf21795c2bd7cda578ac5ff4700d1a3ac923e8be988b57e lib/unicore/auxiliary/SBTest.txt
- * 28356f6912113a9fe8244d9396e9786115dbc10b3ffb5e31b08969122e91d3f3 lib/unicore/auxiliary/SentenceBreakProperty.txt
- * 3f56d3ccfc35c6dac44d143a4d6087af4e4ee9f1bdbae482c12f6149b60dec3b lib/unicore/auxiliary/WBTest.txt
- * 82f7304030e6866ef8e02cdfb0485c52c18a661282bfce9c259cc6300abd79ad lib/unicore/auxiliary/WordBreakProperty.txt
- * b88801b4a469207892a0401697c6b1c5fd64042ae0ef867f4ad0ec04942b415c lib/unicore/extracted/DBidiClass.txt
- * 074d33ea6c7349eab840d690369dffb3568e2f7b039552b7c10480274d321545 lib/unicore/extracted/DBinaryProperties.txt
- * 8ad457aef3525aedce823b9177dad33e0088df536dff11e3df405ecefc92ba08 lib/unicore/extracted/DCombiningClass.txt
- * 59ec46c1e30458ffff50d41196fd45e3bbaf3172a8111117af1b930199be2d96 lib/unicore/extracted/DDecompositionType.txt
- * cf7c07557ae915a7508c6c7fc8c2e8c900782364ec62e8a5d2813f3b97449ee0 lib/unicore/extracted/DEastAsianWidth.txt
- * 56a5b47331a7ec784e848bcaae1ddc08cbf72aab583ca82dcc98ecf2851a3d43 lib/unicore/extracted/DGeneralCategory.txt
- * c14e83161e56eb15d78b1589352d6c0bd8feb7889a5d17f70a2ebb2a43cab86d lib/unicore/extracted/DJoinGroup.txt
- * 8c9405c54d8b1dd3fe2f2d691b30c0816ca15481995152ed07fc9b844dfd0ad4 lib/unicore/extracted/DJoinType.txt
- * a9791f08281d7b0a417e4ad882cf64463f6815db8156932acd85228ac717fd94 lib/unicore/extracted/DLineBreak.txt
- * a17a0330e57d774343a53c019f1bc69827c2676982a1bf48e0898a76710e8877 lib/unicore/extracted/DNumType.txt
- * c2cb810a67cc5fb4a8d236b6c1bc6dd4d89733d8603881997e8aae2c816a3db1 lib/unicore/extracted/DNumValues.txt
- * 808d76136d9952faf581347e9bc040dbab5158f143f243a6de455a4af39b7401 lib/unicore/mktables
- * 746472de66b936ac885ca6d6e68058242b4e909e3260c6317f3ec719f78f76cc lib/unicore/version
- * 4360c31f23eb368e0f3bfd045a44d3bc37ff0889e216f686ebea02543ac188d9 regen/mk_invlists.pl
+ * ae98bec7e4f0564758eed81eca5015481ba32581f8a735a825b71b3bba714450 lib/unicore/ArabicShaping.txt
+ * 1687fe5994eb7e5c0dab8503fc2a1b3b479d91af9d3b8055941c9bd791f7d0b5 lib/unicore/BidiBrackets.txt
+ * 350d1302116194b0b21def287434b55c5088098fbc726e879f7420a391965643 lib/unicore/BidiMirroring.txt
+ * 288fc7b85c76bda296e296c8465f1f4baeb456cb814430dfaa0f546bfbe86b4a lib/unicore/Blocks.txt
+ * 86e075f2ede997b3fa5965516c75190b5a88bb82d302272d9c3179b7a57af03f lib/unicore/CaseFolding.txt
+ * 2fafee5be73bf2817ee669c53c504a6c4aa02ac7344194af18511aea2e05d750 lib/unicore/CompositionExclusions.txt
+ * 302f6d6171dc9c6165db86d0226b7923a64cea06c493d339d35436bf137606a3 lib/unicore/DAge.txt
+ * ff666dece87dfdbdbf04a2e26a0bfb52c4ba98db1f8965b0b01ddb9e15f97476 lib/unicore/DCoreProperties.txt
+ * 6cc76100d402d7dd12bd769ac61158b91e71aad58c8333abb848f1b9c9fdde2d lib/unicore/DNormalizationProps.txt
+ * ccc571829b384b8a2c24b7a62f8aa6a891a6e8c48f08513ef84fd6da26dba4bb lib/unicore/EastAsianWidth.txt
+ * 2320db06cf88c755ec7b9cfec96dd9e1d774173521dbc3ee7985377c2ab90d32 lib/unicore/HangulSyllableType.txt
+ * e52216b5fdb04910e06e94f01cabdf70656b0077c92b756c7b38822626d572f2 lib/unicore/IndicPositionalCategory.txt
+ * 4db71a39102e173095cb8bda8b4c35e78fe6b365e443c584b19f081d8c4894fc lib/unicore/IndicSyllabicCategory.txt
+ * eeb30346bb545bb45ff16486d9234397bfe1a195bb12b54fc1d9f48f87e8aa5e lib/unicore/Jamo.txt
+ * 13e2b7087bcca3163272e64e34e480534bd2f8353a0245c26e6642566f59a60d lib/unicore/LineBreak.txt
+ * 9bb54cd7b5509779f269fa60341bcbfca8da8f17d3c4999e44a5a51671d3c402 lib/unicore/NameAliases.txt
+ * e4c29d9ceefbe2382af819ac7646265a9e4ea599ce04a90d31bec97cfaa2848f lib/unicore/NamedSequences.txt
+ * 70d40297f1bf91397fbdab5a770c12100733e67c5c3398446c5e950715d5e535 lib/unicore/PropList.txt
+ * 03a440f2a4b9151043a6bb53d4a4e528b73238079f9d686dc2a5846e6895588a lib/unicore/PropValueAliases.txt
+ * 8e8b48c2080d31aa6713f5535aad94a1f7bc9a65cc52563724e5e69b0a3b4196 lib/unicore/PropertyAliases.txt
+ * 45d42b1ecbac2263c1c63c95104e63ea64313eb99be94542e040aea11c449f6c lib/unicore/ScriptExtensions.txt
+ * 79fbd73ad82c30fdb67d36a349d12667bd58d3e9da6a8ce7dd26383b637ba85f lib/unicore/Scripts.txt
+ * fb2025dae3b9b17649b6e379c1cdbddf50641267ca6d2446caeccf4a141fe167 lib/unicore/SpecialCasing.txt
+ * 38b17e1118206489a7e0ab5d29d7932212d38838df7d3ec025ecb58e8798ec20 lib/unicore/UnicodeData.txt
+ * 0cedd6e0f5cadf57ce9cfc96beccfd083b0faa0809a631a777cd25f0316bfabb lib/unicore/auxiliary/GCBTest.txt
+ * 230005412f9a47128e37bc52330766aaa0b5522a53737a89cff66e891e14527a lib/unicore/auxiliary/GraphemeBreakProperty.txt
+ * 41bf82452d71ce15eda8c9bb1bb0c20b72205acaaf503e3cb84734ed8e85d33a lib/unicore/auxiliary/SBTest.txt
+ * d3b45cdb0a73eeb9d25158336583dfc1e6f64da59537acb0008988b40e6b3b63 lib/unicore/auxiliary/SentenceBreakProperty.txt
+ * a661f42a54f7cc4dded72a61c508be2b482f912d4b6cf140335010f0c684dbb9 lib/unicore/auxiliary/WBTest.txt
+ * c255bd2e1f163373510679bf4b272eee97b635bfce2a6550d6c10fe5c917f01a lib/unicore/auxiliary/WordBreakProperty.txt
+ * 16dac6f1c164a4f52741b71221a8aafb6acb52cd8a436af139da6e93d86efdfb lib/unicore/extracted/DBidiClass.txt
+ * c4e78efc041668548117f7462af03b28dfbb2caca5d46a1ae78ae0ce0bb26c4a lib/unicore/extracted/DBinaryProperties.txt
+ * 5886bb44aae8f2821663f742793cb91d4ed0923c6840f3bfb73530e37030abf8 lib/unicore/extracted/DCombiningClass.txt
+ * 9edba3785ed0e6e46e10f67e2dd0ec3cb0799b7f75f526fe918429576060352e lib/unicore/extracted/DDecompositionType.txt
+ * b774387f79b27ae4268ae89450f971408dc9bbbb523426482ab4375c962bd922 lib/unicore/extracted/DEastAsianWidth.txt
+ * ba4207d2464077e807b20caf063041142afc0a8a38c328c5c23b3417c9f2da33 lib/unicore/extracted/DGeneralCategory.txt
+ * 29fdd151266595eb1b37715937afe0727bb632a2bc1130f0d2314040175df82e lib/unicore/extracted/DJoinGroup.txt
+ * 7725fe247da06986e43e89fd316b8b22a0619546d0c1ed499a94b25e9164c150 lib/unicore/extracted/DJoinType.txt
+ * 1a0687fb9c6c4567e853913549df0944fe40821279a3e9cdaa6ab8679bc286fd lib/unicore/extracted/DLineBreak.txt
+ * 40bcfed3ca727c19e1331f6c33806231d5f7eeeabd2e6a9e06a3740c85d0c250 lib/unicore/extracted/DNumType.txt
+ * a18d502bad39d527ac5586d7bc93e29f565859e3bcc24ada627eff606d6f5fed lib/unicore/extracted/DNumValues.txt
+ * c9326eab8d7861c3543963e555d5b927348f4467c93071db23154dece7619654 lib/unicore/mktables
+ * 462c9aaa608fb2014cd9649af1c5c009485c60b9c8b15b89401fdc10cf6161c6 lib/unicore/version
+ * c6884f4d629f04d1316f3476cb1050b6a1b98ca30c903262955d4eae337c6b1e regen/charset_translations.pl
+ * f199f92c0b5f87882b0198936ea8ef3dc43627b57a77ac3eb9250bd2664bbd88 regen/mk_invlists.pl
  * ex: set ro: */
index fc93f24..0701a42 100755 (executable)
@@ -1967,10 +1967,8 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     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_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN
+ *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN
  *     LONG_DOUBLE_IS_UNKNOWN_FORMAT
  *     It is only defined if the system supports long doubles.
  */
@@ -1984,14 +1982,9 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #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_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN      5
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6
 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT                  -1
-/* Backward compat. */
-#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN      LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE
-#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
 #endif
 
 /* HAS_LONG_LONG:
@@ -4844,6 +4837,53 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_PRIeldbl PERL_PRIeldbl     $sPRIeldbl      /**/
 #$d_SCNfldbl PERL_SCNfldbl     $sSCNfldbl      /**/
 
+/* 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 $doubleinfbytes         /**/
+#define DOUBLENANBYTES $doublenanbytes         /**/
+#define LONGDBLINFBYTES $longdblinfbytes               /**/
+#define LONGDBLNANBYTES $longdblnanbytes               /**/
+
+/* 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 $doublemantbits
+
+/* 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 $longdblmantbits
+
+/* 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 NVMANTBITS $nvmantbits         /**/
+
 /* NEED_VA_COPY:
  *     This symbol, if defined, indicates that the system stores
  *     the variable argument list datatype, va_list, in a format
index 78ce59f..a136a77 100644 (file)
@@ -3661,6 +3661,9 @@ $ IF link_status .NE. good_link
 $ THEN
 $   longdblsize="0"
 $   longdblkind="0"
+$   longdblinfbytes="undef"
+$   longdblnanbytes="undef"
+$   longdblmantbits="undef"
 $   d_longdbl="undef"
 $   echo "You do not have long double."
 $ ELSE
@@ -3669,6 +3672,9 @@ $   echo4 "Checking to see how big your long doubles are..."
 $   GOSUB just_mcr_it
 $   longdblsize = tmp
 $   longdblkind = "1"
+$   longdblinfbytes="0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f"
+$   longdblnanbytes="0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff"
+$   longdblmantbits="112"
 $   d_longdbl = "define"
 $   echo "Your long doubles are ''longdblsize' bytes long."
 $ ENDIF
@@ -5569,9 +5575,13 @@ $   i64size="undef"
 $   u64size="undef"
 $ ENDIF
 $!
+$ doublemantbits = "52"
 $ IF uselongdouble .OR. uselongdouble .EQS. "define"
 $ THEN
 $   nvtype="long double"
+$   nvmantbits = longdblmantbits
+$ ELSE
+$   nvmantbits = doublemantbits
 $ ENDIF
 $!
 $ tmp = "''ivtype'"
@@ -6472,6 +6482,9 @@ $ WC "dlext='" + dlext + "'"
 $ WC "dlobj='" + dlobj + "'"
 $ WC "dlsrc='dl_vms.xs'"
 $ WC "doublekind='3'"
+$ WC "doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'"
+$ WC "doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'"
+$ WC "doublemantbits='" + doublemantbits + "'"
 $ WC "doublesize='" + doublesize + "'"
 $ WC "drand01='" + drand01 + "'"
 $ WC "dtrace='" + "'"
@@ -6648,6 +6661,9 @@ $ WC "libswanted='" + "'"
 $ WC "libswanted_uselargefiles='" + "'"
 $ WC "longdblsize='" + longdblsize + "'"
 $ WC "longdblkind='" + longdblkind + "'"
+$ WC "longdblinfbytes='" + longdblinfbytes + "'"
+$ WC "longdblnanbytes='" + longdblnanbytes + "'"
+$ WC "longdblmantbits='" + longdblmantbits + "'"
 $ WC "longlongsize='" + longlongsize + "'"
 $ WC "longsize='" + longsize + "'"
 $ IF uselargefiles .OR. uselargefiles .EQS. "define"
@@ -6683,6 +6699,7 @@ $ WC "nvfformat='" + nvfformat + "'"
 $ WC "nvFUformat='" + nvFUformat + "'"
 $ WC "nvgformat='" + nvgformat + "'"
 $ WC "nvGUformat='" + nvGUformat + "'"
+$ WC "nvmantbits='" + nvmantbits + "'"
 $ WC "nvsize='" + nvsize + "'"
 $ WC "nvtype='" + nvtype + "'"
 $ WC "o_nonblock=' '"
@@ -7002,12 +7019,12 @@ $     WRITE CONFIG "Gnu_CC:[000000]gcclib.olb/library"
 $   ENDIF
 $   WRITE CONFIG "Sys$Share:VAXCRTL/Share"
 $   CLOSE CONFIG
-$   'ld' munchconfig.obj,munchconfig.opt/opt
+$   'ld'/EXE='exe_ext' munchconfig'obj_ext',munchconfig.opt/opt
 $   DELETE/NOLOG/NOCONFIRM munchconfig.opt;
 $ ELSE
-$   'ld' munchconfig.obj
+$   'ld'/EXE='exe_ext' munchconfig'obj_ext'
 $ ENDIF
-$ IF F$SEARCH("munchconfig.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.obj;
+$ IF F$SEARCH("munchconfig''obj_ext'") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig'obj_ext';
 $ IF F$SEARCH("munchconfig.c") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.c;
 $ IF ccname .EQS. "CXX"
 $ THEN
@@ -7097,7 +7114,7 @@ $ echo4 "Extracting config.h (with variable substitutions)"
 $!
 $! Now build the normal config.h
 $ DEFINE/USER_MODE sys$output [-]config.main
-$ mcr []munchconfig 'config_sh' [-]config_h.sh
+$ mcr []munchconfig'exe_ext' 'config_sh' [-]config_h.sh
 $ ! Concatenate them together
 $ copy [-]config.local,[-]config.main [-]config.h
 $! Clean up
@@ -7186,9 +7203,9 @@ $ close CONFIG
 $!
 $ echo4 "Extracting ''defmakefile' (with variable substitutions)"
 $ DEFINE/USER_MODE sys$output 'UUmakefile'
-$ mcr []munchconfig 'config_sh' 'Makefile_SH' -f extra_subs.txt
+$ mcr []munchconfig'exe_ext' 'config_sh' 'Makefile_SH' -f extra_subs.txt
 $! Clean up after ourselves
-$ DELETE/NOLOG/NOCONFIRM []munchconfig.exe;
+$ DELETE/NOLOG/NOCONFIRM []munchconfig'exe_ext';
 $ DELETE/NOLOG/NOCONFIRM []extra_subs.txt;
 $!
 $! Note that the /key qualifier to search, as in:
@@ -7203,6 +7220,7 @@ $!   NOTE: This file is extracted as part of the VMS configuration process.
 $!   Any changes made to it directly will be lost.  If you need to make any
 $!   changes, please edit the template in Configure.Com instead.
 $!   Use FORCE if you've just podified a README.* file on VMS.
+$ miniperl = f$search("sys$disk:[]miniperl.%xe;") ! could have alternate extension
 $ if f$search("extra.pods") .eqs. "" .or. P1 .eqs. "FORCE" then -
     search README.* "=head"/window=0/output=extra.pods
 $ open/read/error=extra_close EXTRA extra.pods
@@ -7225,7 +7243,7 @@ $       pod_file_rdt = f$cvtime(f$file_attributes(pod_file,"RDT"))
 $       if file_rdt .GTS. pod_file_rdt then do_copy := true
 $     endif
 $     ! wacky method to preserve case on ODS-5 even when parse style is traditional
-$     if do_copy then mcr sys$disk:[]miniperl.exe -e "exit 0+$^E unless File::Copy::rmscopy(q{''file'}, q{''pod_file'});"
+$     if do_copy then mcr 'miniperl' -e "exit 0+$^E unless File::Copy::rmscopy(q{''file'}, q{''pod_file'});"
 $   endif
 $ endif
 $ goto extra_loop
diff --git a/cop.h b/cop.h
index f2006c2..bf287a1 100644 (file)
--- a/cop.h
+++ b/cop.h
@@ -935,13 +935,11 @@ struct subst {
        cx->sb_rx               = rx,                                   \
        cx->cx_type             = CXt_SUBST | (once ? CXp_ONCE : 0);    \
        rxres_save(&cx->sb_rxres, rx);                                  \
-       (void)ReREFCNT_inc(rx);                                         \
-        SvREFCNT_inc_void_NN(targ)
+       (void)ReREFCNT_inc(rx)
 
 #  define POPSUBST(cx) cx = &cxstack[cxstack_ix--];                    \
        rxres_free(&cx->sb_rxres);                                      \
-       ReREFCNT_dec(cx->sb_rx);                                        \
-        SvREFCNT_dec_NN(cx->sb_targ)
+       ReREFCNT_dec(cx->sb_rx)
 #endif
 
 #define CxONCE(cx)             ((cx)->cx_type & CXp_ONCE)
@@ -1094,6 +1092,7 @@ L<perlcall>.
 #define PERLSI_WARNHOOK                7
 #define PERLSI_DIEHOOK         8
 #define PERLSI_REQUIRE         9
+#define PERLSI_MULTICALL       10
 
 struct stackinfo {
     AV *               si_stack;       /* stack for current runlevel */
@@ -1217,7 +1216,7 @@ See L<perlcall/LIGHTWEIGHT CALLBACKS>.
        multicall_oldcatch = CATCH_GET;                                 \
        SAVETMPS; SAVEVPTR(PL_op);                                      \
        CATCH_SET(TRUE);                                                \
-       PUSHSTACKi(PERLSI_SORT);                                        \
+       PUSHSTACKi(PERLSI_MULTICALL);                                   \
        PUSHBLOCK(cx, (CXt_SUB|CXp_MULTICALL|flags), PL_stack_sp);      \
        PUSHSUB(cx);                                                    \
         if (!(flags & CXp_SUB_RE_FAKE))                                 \
index 13109d1..8690ac6 100644 (file)
@@ -1,2 +1,3 @@
 ;; Empty file to avoid imposing the defaults from the parent directory
 ;; on code imported from CPAN
+()
index 9dc6402..0eaffa7 100644 (file)
@@ -1,7 +1,6 @@
 #!/usr/bin/perl
 use strict;
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use File::Find;
 use Getopt::Std;
 use Archive::Tar;
index 4668fa6..66bd859 100644 (file)
@@ -1,6 +1,5 @@
 #!/usr/bin/perl
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use Archive::Tar;
 use Getopt::Std;
index 8dc6b4f..1a320f1 100644 (file)
@@ -4,7 +4,6 @@
 # archive.  See 'ptargrep --help' for more documentation.
 #
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use warnings;
 
index 6a047a3..1b792df 100644 (file)
@@ -31,7 +31,7 @@ use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD
 $DEBUG                  = 0;
 $WARN                   = 1;
 $FOLLOW_SYMLINK         = 0;
-$VERSION                = "2.04_01";
+$VERSION                = "2.04";
 $CHOWN                  = 1;
 $CHMOD                  = 1;
 $SAME_PERMISSIONS       = $> == 0 ? 1 : 0;
index f9557e9..399aaf6 100644 (file)
@@ -3,7 +3,7 @@ package Archive::Tar::Constant;
 BEGIN {
     require Exporter;
 
-    $VERSION    = '2.04_01';
+    $VERSION    = '2.04';
     @ISA        = qw[Exporter];
 
     require Time::Local if $^O eq "MacOS";
index 3ecad56..3aa1b3c 100644 (file)
@@ -13,7 +13,7 @@ use Archive::Tar::Constant;
 
 use vars qw[@ISA $VERSION];
 #@ISA        = qw[Archive::Tar];
-$VERSION    = '2.04_01';
+$VERSION    = '2.04';
 
 ### set value to 1 to oct() it during the unpack ###
 
index 8348559..037ea50 100644 (file)
@@ -3,7 +3,7 @@ use warnings;
 package CPAN::Meta::Requirements;
 # ABSTRACT: a set of version requirements for a CPAN dist
 
-our $VERSION = '2.132';
+our $VERSION = '2.133';
 
 #pod =head1 SYNOPSIS
 #pod
@@ -110,34 +110,32 @@ sub _isa_version {
 sub _version_object {
   my ($self, $module, $version) = @_;
 
-  my $vobj;
+  my ($vobj, $err);
 
-  # hack around version::vpp not handling <3 character vstring literals
-  if ( $INC{'version/vpp.pm'} || $INC{'ExtUtils/MakeMaker/version/vpp.pm'} ) {
-    my $magic = _find_magic_vstring( $version );
-    $version = $magic if length $magic;
+  if (not defined $version or (!ref($version) && $version eq '0')) {
+    return $V0;
   }
-
-  eval {
-    if (not defined $version or (!ref($version) && $version eq '0')) {
-      $vobj = $V0;
-    }
-    elsif ( ref($version) eq 'version' || _isa_version($version) ) {
-      $vobj = $version;
+  elsif ( ref($version) eq 'version' || _isa_version($version) ) {
+    $vobj = $version;
+  }
+  else {
+    # hack around version::vpp not handling <3 character vstring literals
+    if ( $INC{'version/vpp.pm'} || $INC{'ExtUtils/MakeMaker/version/vpp.pm'} ) {
+      my $magic = _find_magic_vstring( $version );
+      $version = $magic if length $magic;
     }
-    else {
+    eval {
       local $SIG{__WARN__} = sub { die "Invalid version: $_[0]" };
       $vobj = version->new($version);
-    }
-  };
-
-  if ( my $err = $@ ) {
-    my $hook = $self->{bad_version_hook};
-    $vobj = eval { $hook->($version, $module) }
-      if ref $hook eq 'CODE';
-    unless (eval { $vobj->isa("version") }) {
-      $err =~ s{ at .* line \d+.*$}{};
-      die "Can't convert '$version': $err";
+    };
+    if ( my $err = $@ ) {
+      my $hook = $self->{bad_version_hook};
+      $vobj = eval { $hook->($version, $module) }
+        if ref $hook eq 'CODE';
+      unless (eval { $vobj->isa("version") }) {
+        $err =~ s{ at .* line \d+.*$}{};
+        die "Can't convert '$version': $err";
+      }
     }
   }
 
@@ -226,10 +224,14 @@ BEGIN {
   }
 }
 
+# add_minimum is optimized compared to generated subs above because
+# it is called frequently and with "0" or equivalent input
 sub add_minimum {
   my ($self, $name, $version) = @_;
 
-  if (not defined $version or (!ref($version) && $version eq '0')) {
+  # stringify $version so that version->new("0.00")->stringify ne "0"
+  # which preserves the user's choice of "0.00" as the requirement
+  if (not defined $version or "$version" eq '0') {
     return $self if $self->__entry_for($name);
     Carp::confess("can't add new requirements to finalized requirements")
       if $self->is_finalized;
@@ -787,7 +789,7 @@ CPAN::Meta::Requirements - a set of version requirements for a CPAN dist
 
 =head1 VERSION
 
-version 2.132
+version 2.133
 
 =head1 SYNOPSIS
 
index 387a8c4..96ed0ca 100644 (file)
@@ -1,17 +1,12 @@
 use 5.008001; # sane UTF-8 support
 use strict;
 use warnings;
-package CPAN::Meta::YAML;
-$CPAN::Meta::YAML::VERSION = '0.012';
-BEGIN {
-  $CPAN::Meta::YAML::AUTHORITY = 'cpan:ADAMK';
-}
-# git description: v1.60-1-g1c16a0a
-; # original $VERSION removed by Doppelgaenger
+package CPAN::Meta::YAML; # git description: v1.66-5-ge09e1ae
 # XXX-INGY is 5.8.1 too old/broken for utf8?
 # XXX-XDG Lancaster consensus was that it was sufficient until
 # proven otherwise
-
+$CPAN::Meta::YAML::VERSION = '0.016';
+; # original $VERSION removed by Doppelgaenger
 
 #####################################################################
 # The CPAN::Meta::YAML API.
@@ -153,7 +148,7 @@ my %QUOTE = map { $_ => 1 } qw{
 my $re_capture_double_quoted = qr/\"([^\\"]*(?:\\.[^\\"]*)*)\"/;
 my $re_capture_single_quoted = qr/\'([^\']*(?:\'\'[^\']*)*)\'/;
 # unquoted re gets trailing space that needs to be stripped
-my $re_capture_unquoted_key  = qr/([^:]+(?::+\S[^:]*)*)(?=\s*\:(?:\s+|$))/;
+my $re_capture_unquoted_key  = qr/([^:]+(?::+\S(?:[^:]*|.*?(?=:)))*)(?=\s*\:(?:\s+|$))/;
 my $re_trailing_comment      = qr/(?:\s+\#.*)?/;
 my $re_key_value_separator   = qr/\s*:(?:\s+(?:\#.*)?|$)/;
 
@@ -300,10 +295,11 @@ Did you decode with lax ":utf8" instead of strict ":encoding(UTF-8)"?
             }
         }
     };
-    if ( ref $@ eq 'SCALAR' ) {
-        $self->_error(${$@});
-    } elsif ( $@ ) {
-        $self->_error($@);
+    my $err = $@;
+    if ( ref $err eq 'SCALAR' ) {
+        $self->_error(${$err});
+    } elsif ( $err ) {
+        $self->_error($err);
     }
 
     return $self;
@@ -515,6 +511,10 @@ sub _load_hash {
             die \"CPAN::Meta::YAML failed to classify line '$lines->[0]'";
         }
 
+        if ( exists $hash->{$key} ) {
+            warn "CPAN::Meta::YAML found a duplicate key '$key' in line '$lines->[0]'";
+        }
+
         # Do we have a value?
         if ( length $lines->[0] ) {
             # Yes
@@ -828,12 +828,10 @@ sub _can_flock {
 #####################################################################
 # Use Scalar::Util if possible, otherwise emulate it
 
+use Scalar::Util ();
 BEGIN {
     local $@;
-    if ( eval { require Scalar::Util }
-      && $Scalar::Util::VERSION
-      && eval($Scalar::Util::VERSION) >= 1.18
-    ) {
+    if ( eval { Scalar::Util->VERSION(1.18); } ) {
         *refaddr = *Scalar::Util::refaddr;
     }
     else {
@@ -855,8 +853,7 @@ END_PERL
     }
 }
 
-
-
+delete $CPAN::Meta::YAML::{refaddr};
 
 1;
 
@@ -881,7 +878,7 @@ CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files
 
 =head1 VERSION
 
-version 0.012
+version 0.016
 
 =head1 SYNOPSIS
 
@@ -917,31 +914,12 @@ C<write> methods do B<not> support UTF-8 and should not be used.
 This module is currently derived from L<YAML::Tiny> by Adam Kennedy.  If
 there are bugs in how it parses a particular META.yml file, please file
 a bug report in the YAML::Tiny bugtracker:
-L<https://rt.cpan.org/Public/Dist/Display.html?Name=YAML-Tiny>
+L<https://github.com/Perl-Toolchain-Gang/YAML-Tiny/issues>
 
 =head1 SEE ALSO
 
 L<YAML::Tiny>, L<YAML>, L<YAML::XS>
 
-=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
-
-=head1 SUPPORT
-
-=head2 Bugs / Feature Requests
-
-Please report any bugs or feature requests through the issue tracker
-at L<https://github.com/dagolden/CPAN-Meta-YAML/issues>.
-You will be notified automatically of any progress on your issue.
-
-=head2 Source Code
-
-This is open source software.  The code repository is available for
-public review and contribution under the terms of the license.
-
-L<https://github.com/dagolden/CPAN-Meta-YAML>
-
-  git clone https://github.com/dagolden/CPAN-Meta-YAML.git
-
 =head1 AUTHORS
 
 =over 4
diff --git a/cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd b/cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd
new file mode 100644 (file)
index 0000000..98d00aa
--- /dev/null
@@ -0,0 +1,66 @@
+do { my $x = {
+       'configure' => {
+                        'requires' => {
+                                        'ExtUtils::MakeMaker' => '6.17',
+                                        'perl' => '5.008001'
+                                      }
+                      },
+       'develop' => {
+                      'requires' => {
+                                      'Dist::Zilla' => '5',
+                                      'Dist::Zilla::Plugin::AppendExternalData' => '0',
+                                      'Dist::Zilla::Plugin::Doppelgaenger' => '0.007',
+                                      'Dist::Zilla::Plugin::Encoding' => '0',
+                                      'Dist::Zilla::Plugin::Git::NextVersion' => '0',
+                                      'Dist::Zilla::Plugin::MakeMaker::Highlander' => '0.003',
+                                      'Dist::Zilla::Plugin::MetaResources' => '0',
+                                      'Dist::Zilla::Plugin::PkgVersion' => '0',
+                                      'Dist::Zilla::Plugin::PodWeaver' => '0',
+                                      'Dist::Zilla::Plugin::PruneFiles' => '0',
+                                      'Dist::Zilla::Plugin::RemovePrereqs' => '0',
+                                      'Dist::Zilla::PluginBundle::DAGOLDEN' => '0.072',
+                                      'File::Spec' => '0',
+                                      'File::Temp' => '0',
+                                      'IO::Handle' => '0',
+                                      'IPC::Open3' => '0',
+                                      'Test::CPAN::Meta' => '0',
+                                      'Test::More' => '0',
+                                      'Test::Pod' => '1.41',
+                                      'Test::Version' => '1'
+                                    }
+                    },
+       'runtime' => {
+                      'requires' => {
+                                      'B' => '0',
+                                      'Carp' => '0',
+                                      'Exporter' => '0',
+                                      'Fcntl' => '0',
+                                      'Scalar::Util' => '0',
+                                      'perl' => '5.008001',
+                                      'strict' => '0',
+                                      'warnings' => '0'
+                                    }
+                    },
+       'test' => {
+                   'recommends' => {
+                                     'CPAN::Meta' => '2.120900'
+                                   },
+                   'requires' => {
+                                   'ExtUtils::MakeMaker' => '0',
+                                   'File::Basename' => '0',
+                                   'File::Find' => '0',
+                                   'File::Spec' => '0',
+                                   'File::Spec::Functions' => '0',
+                                   'File::Temp' => '0.19',
+                                   'IO::Dir' => '0',
+                                   'JSON::PP' => '0',
+                                   'Test::More' => '0.99',
+                                   'lib' => '0',
+                                   'perl' => '5.008001',
+                                   'utf8' => '0',
+                                   'vars' => '0'
+                                 }
+                 }
+     };
+  $x;
+ }
\ No newline at end of file
index 27f83b6..af02e79 100644 (file)
@@ -101,12 +101,5 @@ subtest "bad read arguments" => sub {
 };
 
 done_testing;
-#
-# This file is part of CPAN-Meta-YAML
-#
-# This software is copyright (c) 2010 by Adam Kennedy.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
+# COPYRIGHT
 # vim: ts=4 sts=4 sw=4 et:
index 8c7b4be..b4be78a 100644 (file)
@@ -8,7 +8,8 @@ use TestUtils;
 
 use CPAN::Meta::YAML;
 use File::Basename qw/basename/;
-use File::Temp qw/tempfile/;
+use File::Spec::Functions 'catfile';
+use File::Temp 0.19; # newdir
 
 #--------------------------------------------------------------------------#
 # Error conditions
@@ -44,9 +45,9 @@ for my $c ( @cases ) {
         @warnings = ();
 
         # get a tempfile name to write to
-        my ($fh, $tempfile) = tempfile("YAML-Tiny-test-XXXXXXXX", TMPDIR => 1 );
-        my $short_tempfile = basename($tempfile);
-        close $fh; # avoid locks on windows
+        my $tempdir = File::Temp->newdir("YTXXXXXX", TMPDIR => 1 );
+        my $short_tempfile = 'output';
+        my $tempfile = catfile($tempdir, $short_tempfile);
 
         # CPAN::Meta::YAML->write
         ok( CPAN::Meta::YAML->new($c)->write($tempfile),
index e6a69d3..944ceff 100644 (file)
@@ -3,7 +3,8 @@ use warnings;
 use lib 't/lib/';
 use Test::More 0.99;
 use TestBridge;
-use File::Temp qw(tempfile);
+use File::Spec::Functions 'catfile';
+use File::Temp 0.19; # newdir
 
 #--------------------------------------------------------------------------#
 # This file test that the YAML.pm compatible Dump/Load/DumpFile/LoadFile
@@ -31,8 +32,8 @@ use CPAN::Meta::YAML;
     my $arrayref = [ 1 .. 5 ];
     my $hashref = { alpha => 'beta', gamma => 'delta' };
 
-    my ($fh, $filename) = tempfile;
-    close $fh; # or LOCK_SH will hang
+    my $tempdir = File::Temp->newdir("YTXXXXXX", TMPDIR => 1 );
+    my $filename = catfile($tempdir, 'compat');
 
     my $rv = CPAN::Meta::YAML::DumpFile(
         $filename, $scalar, $arrayref, $hashref);
index 1c56c38..1209a96 100644 (file)
@@ -1,20 +1,22 @@
 # Run the appropriate tests from https://github.com/ingydotnet/yaml-spec-tml
 use strict;
 use warnings;
-use lib 't/lib/';
+use lib 't/lib';
 use Test::More 0.99;
 use TestBridge;
 use TestUtils;
 
 my $JSON = json_class()
-    or Test::More::plan skip_all => "no JSON or JSON::PP";
+    or Test::More::plan skip_all => 'no JSON backends available!?';
+
+diag 'using JSON backend: ' . $JSON;
 
 # Each spec test will need a different bridge and arguments:
 my @spec_tests = (
     ['t/tml-spec/basic-data.tml', 'test_yaml_json', $JSON],
     # This test is currently failing massively. We use LAST to only run what is
     # covered so far.
-    ['t/tml-spec/unicode.tml', 'test_code_point'],
+    ['t/tml-spec/unicode.tml', 'test_code_point'],  # uses JSON::PP
 );
 
 for my $test (@spec_tests) {
diff --git a/cpan/CPAN-Meta-YAML/t/86_fail.t b/cpan/CPAN-Meta-YAML/t/86_fail.t
new file mode 100644 (file)
index 0000000..b61a06b
--- /dev/null
@@ -0,0 +1,30 @@
+=pod
+
+This is an example of a serious design flaw in CPAN::Meta::YAML.
+
+It is generally a bad idea to fake out a parsing process. In this case,
+CPAN::Meta::YAML strips off all lines that look like comments.
+
+It should be easy to find dozens of bugs by looking at the assumptions the code
+makes and then finding a counter case like this.
+
+That's why I'm working on Tiny::YAML and YAML::Pegex, which are driven by a
+grammar.
+
+=cut
+
+use Test::More tests => 1;
+use CPAN::Meta::YAML;
+
+TODO: {
+local $TODO = "Failing tests for things CPAN::Meta::YAML does wrong";
+
+my $yaml = <<'...';
+- |
+  # Perl sub:
+  sub foo {}
+...
+is Load($yaml)->[0],
+    "# Perl sub:\nsub foo{}\n",
+    "Comments in literal scalars";
+}
index 4eece3c..e95ebfe 100644 (file)
@@ -1,6 +1,6 @@
-# Guide to CPAN::Meta::YAML testing
+# Guide to YAML::Tiny testing
 
-CPAN::Meta::YAML tests use several components:
+YAML::Tiny tests use several components:
 
 * .t files
 * Test libraries in t/lib
@@ -120,10 +120,10 @@ functions used to process test blocks.
 TestML data files are organized into three directories:
 
 * t/tml-spec — these test files are provided by the YAML spec maintainers and
-should not be modified except to skip testing features that CPAN::Meta::YAML does not
+should not be modified except to skip testing features that YAML::Tiny does not
 support
 
-* t/tml-local — these test files are CPAN::Meta::YAML's own unit tests; generally new
+* t/tml-local — these test files are YAML::Tiny's own unit tests; generally new
 test cases for coverage or correctness should be added here; these are
 broken into subdirectories, described later
 
index 56c3a38..eb2ebe7 100644 (file)
@@ -24,6 +24,7 @@ our @EXPORT = qw{
     test_perl_to_yaml
     test_dump_error
     test_load_error
+    test_load_warning
     test_yaml_json
     test_code_point
     error_like
@@ -40,6 +41,10 @@ my %ERROR = (
     E_CLASSIFY => qr{\QCPAN::Meta::YAML failed to classify the line},
 );
 
+my %WARN = (
+    E_DUPKEY   => qr{\QCPAN::Meta::YAML found a duplicate key},
+);
+
 # use XXX -with => 'YAML::XS';
 
 #--------------------------------------------------------------------------#
@@ -77,6 +82,9 @@ sub run_testml_file {
     $code->($file, $blocks);
 }
 
+# retrieves all the keys in @point from the $block hash, returning them in
+# order, along with $block->{Label}.
+# returns false if any keys cannot be found
 sub _testml_has_points {
     my ($block, @points) = @_;
     my @values;
@@ -194,7 +202,7 @@ sub test_perl_to_yaml {
 #--------------------------------------------------------------------------#
 # test_dump_error
 #
-# two blocks: perl, error 
+# two blocks: perl, error
 #
 # Tests that perl references result in an error when dumped
 #
@@ -225,7 +233,7 @@ sub test_dump_error {
 #--------------------------------------------------------------------------#
 # test_load_error
 #
-# two blocks: yaml, error 
+# two blocks: yaml, error
 #
 # Tests that a YAML string results in an error when loaded
 #
@@ -250,6 +258,41 @@ sub test_load_error {
 }
 
 #--------------------------------------------------------------------------#
+# test_load_warning
+#
+# two blocks: yaml, warning
+#
+# Tests that a YAML string results in warning when loaded
+#
+# The warning must be a key in the %WARN hash in this file
+#--------------------------------------------------------------------------#
+sub test_load_warning {
+    my ($block) = @_;
+
+    my ($yaml, $warning, $label) =
+      _testml_has_points($block, qw(yaml warning)) or return;
+
+    chomp $warning;
+    my $expected = $WARN{$warning};
+
+    subtest $label, sub {
+        # this is not in a sub like warning_like because of the danger of
+        # matching the regex parameter against something earlier in the stack
+        my @warnings;
+        local $SIG{__WARN__} = sub { push @warnings, shift; };
+
+        my $result = eval { CPAN::Meta::YAML->read_string( $yaml ) };
+
+        is(scalar(@warnings), 1, 'got exactly one warning');
+        like(
+            $warnings[0],
+            $expected,
+            'Got expected warning',
+        ) or diag "YAML:\n$yaml\n", 'warning: ', explain(\@warnings);
+    };
+}
+
+#--------------------------------------------------------------------------#
 # test_yaml_json
 #
 # two blocks: yaml, json
index df49933..b41f35c 100644 (file)
@@ -26,12 +26,9 @@ sub find_tml_files {
     return @files;
 }
 
-# Prefer JSON to JSON::PP; skip if we don't have at least one
 sub json_class {
-    for (qw/JSON JSON::PP/) {
-        return $_ if eval "require $_; 1";
-    }
-    return;
+    return eval { require JSON::MaybeXS; JSON::MaybeXS->VERSION('1.001000'); $JSON::MaybeXS::JSON_Class }
+        || do { require JSON::PP; 'JSON::PP' };
 }
 
 sub test_data_directory {
index 4ae95e9..d4e3fe7 100755 (executable)
@@ -17,6 +17,7 @@ use TestUtils;
 my %BRIDGE_MAP = (
     'tml-local/dump-error'      => \&test_dump_error,
     'tml-local/load-error'      => \&test_load_error,
+    'tml-local/load-warning'    => \&test_load_warning,
     'tml-local/perl-to-yaml'    => \&test_perl_to_yaml,
     'tml-local/yaml-roundtrip'  => \&test_yaml_roundtrip,
     'tml-spec/basic-data.tml'   => \&test_yaml_json,
diff --git a/cpan/CPAN-Meta-YAML/t/tml-local/load-warning/document.tml b/cpan/CPAN-Meta-YAML/t/tml-local/load-warning/document.tml
new file mode 100644 (file)
index 0000000..482a490
--- /dev/null
@@ -0,0 +1,5 @@
+=== mapping with double key
+--- yaml
+foo: 1
+foo: 2
+--- warning: E_DUPKEY
index 5b45243..8927ebd 100644 (file)
@@ -126,3 +126,12 @@ FOO:
     bar: baz 
 --- perl
 [ { 'FOO' => [ { bar => 'baz' } ] } ]
+
+# RT 92916 (a Test::Database ticket)
+=== colon at end of key
+--- yaml
+\---
+dbi:SQLite::
+  foo: bar
+--- perl
+[ { 'dbi:SQLite:' => { 'foo' => 'bar' } } ]
index e9fb60f..18de3bb 100644 (file)
@@ -131,4 +131,9 @@ slash3: '\\foo\\\\'
 [ "A\\B \\C" ]
 
 
-
+=== Single Dash
+--- yaml
+---
+foo: '-'
+--- perl
+[ { foo => '-' } ]
index af84a39..b5b39ed 100644 (file)
@@ -1,5 +1,5 @@
-=== CPAN::Meta::YAML
-# Testing CPAN::Meta::YAML's own META.yml file -- at least as of some time ago
+=== YAML::Tiny
+# Testing YAML::Tiny's own META.yml file -- at least as of some time ago
 --- yaml
 abstract: Read/Write YAML files with as little code as possible
 author: 'Adam Kennedy <cpan@ali.as>'
index 2a78691..afbb221 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 use warnings;
 package CPAN::Meta;
 
-our $VERSION = '2.150001';
+our $VERSION = '2.150005';
 
 #pod =head1 SYNOPSIS
 #pod
@@ -591,6 +591,10 @@ sub as_struct {
 #pod both cases, the same rules are followed as in the C<save()> method for choosing
 #pod a serialization backend.
 #pod
+#pod The serialized structure will include a C<x_serialization_backend> entry giving
+#pod the package and version used to serialize.  Any existing key in the given
+#pod C<$meta> object will be clobbered.
+#pod
 #pod =cut
 
 sub as_string {
@@ -610,10 +614,14 @@ sub as_string {
   my ($data, $backend);
   if ( $version ge '2' ) {
     $backend = Parse::CPAN::Meta->json_backend();
+    local $struct->{x_serialization_backend} = sprintf '%s version %s',
+      $backend, $backend->VERSION;
     $data = $backend->new->pretty->canonical->encode($struct);
   }
   else {
     $backend = Parse::CPAN::Meta->yaml_backend();
+    local $struct->{x_serialization_backend} = sprintf '%s version %s',
+      $backend, $backend->VERSION;
     $data = eval { no strict 'refs'; &{"$backend\::Dump"}($struct) };
     if ( $@ ) {
       croak $backend->can('errstr') ? $backend->errstr : $@
@@ -632,8 +640,6 @@ sub TO_JSON {
 
 # ABSTRACT: the distribution metadata for a CPAN dist
 
-__END__
-
 =pod
 
 =encoding UTF-8
@@ -644,7 +650,7 @@ CPAN::Meta - the distribution metadata for a CPAN dist
 
 =head1 VERSION
 
-version 2.150001
+version 2.150005
 
 =head1 SYNOPSIS
 
@@ -859,6 +865,10 @@ JSON.  For C<version> less than 2, the string will be serialized as YAML.  In
 both cases, the same rules are followed as in the C<save()> method for choosing
 a serialization backend.
 
+The serialized structure will include a C<x_serialization_backend> entry giving
+the package and version used to serialize.  Any existing key in the given
+C<$meta> object will be clobbered.
+
 =head1 STRING DATA
 
 The following methods return a single value, which is the value for the
@@ -1025,7 +1035,7 @@ Ricardo Signes <rjbs@cpan.org>
 
 =head1 CONTRIBUTORS
 
-=for stopwords Ansgar Burchardt Avar Arnfjord Bjarmason Christopher J. Madsen Chuck Adams Cory G Watson Damyan Ivanov Eric Wilhelm Graham Knop Gregor Hermann Karen Etheridge Kenichi Ishigaki Ken Williams Lars Dieckow Leon Timmermans majensen Mark Fowler Matt S Trout Michael G. Schwern mohawk2 moznion Olaf Alders Olivier Mengue Randy Sims
+=for stopwords Ansgar Burchardt Avar Arnfjord Bjarmason Christopher J. Madsen Chuck Adams Cory G Watson Damyan Ivanov Eric Wilhelm Graham Knop Gregor Hermann Karen Etheridge Kenichi Ishigaki Ken Williams Lars Dieckow Leon Timmermans majensen Mark Fowler Matt S Trout Michael G. Schwern mohawk2 moznion Niko Tyni Olaf Alders Olivier Mengué Randy Sims Tomohiro Hosaka
 
 =over 4
 
@@ -1111,16 +1121,24 @@ moznion <moznion@gmail.com>
 
 =item *
 
+Niko Tyni <ntyni@debian.org>
+
+=item *
+
 Olaf Alders <olaf@wundersolutions.com>
 
 =item *
 
-Olivier Mengue <dolmen@cpan.org>
+Olivier Mengué <dolmen@cpan.org>
 
 =item *
 
 Randy Sims <randys@thepierianspring.org>
 
+=item *
+
+Tomohiro Hosaka <bokutin@bokut.in>
+
 =back
 
 =head1 COPYRIGHT AND LICENSE
@@ -1131,3 +1149,8 @@ This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 =cut
+
+__END__
+
+
+# vim: ts=2 sts=2 sw=2 et :
index 8b32b13..03806bc 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 use warnings;
 package CPAN::Meta::Converter;
 
-our $VERSION = '2.150001';
+our $VERSION = '2.150005';
 
 #pod =head1 SYNOPSIS
 #pod
@@ -388,6 +388,8 @@ sub _clean_version {
 
 sub _bad_version_hook {
   my ($v) = @_;
+  $v =~ s{^\s*}{};
+  $v =~ s{\s*$}{};
   $v =~ s{[a-z]+$}{}; # strip trailing alphabetics
   my $vobj = eval { version->new($v) };
   return defined($vobj) ? $vobj : version->new(0); # or give up
@@ -803,7 +805,7 @@ my %up_convert = (
     # CHANGED TO MANDATORY
     'dynamic_config'      => \&_keep_or_one,
     # ADDED MANDATORY
-    'release_status'      => \&_release_status_from_version,
+    'release_status'      => \&_release_status,
     # PRIOR OPTIONAL
     'keywords'            => \&_keep,
     'no_index'            => \&_no_index_directory,
@@ -1497,7 +1499,7 @@ CPAN::Meta::Converter - Convert CPAN distribution metadata structures
 
 =head1 VERSION
 
-version 2.150001
+version 2.150005
 
 =head1 SYNOPSIS
 
@@ -1634,4 +1636,4 @@ the same terms as the Perl 5 programming language system itself.
 __END__
 
 
-# vim: ts=2 sts=2 sw=2 et:
+# vim: ts=2 sts=2 sw=2 et :
index 4bfbb19..9dac4f4 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 use warnings;
 package CPAN::Meta::Feature;
 
-our $VERSION = '2.150001';
+our $VERSION = '2.150005';
 
 use CPAN::Meta::Prereqs;
 
@@ -67,8 +67,6 @@ sub prereqs     { $_[0]{prereqs} }
 
 # ABSTRACT: an optional feature provided by a CPAN distribution
 
-__END__
-
 =pod
 
 =encoding UTF-8
@@ -79,7 +77,7 @@ CPAN::Meta::Feature - an optional feature provided by a CPAN distribution
 
 =head1 VERSION
 
-version 2.150001
+version 2.150005
 
 =head1 DESCRIPTION
 
@@ -144,3 +142,8 @@ This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 =cut
+
+__END__
+
+
+# vim: ts=2 sts=2 sw=2 et :
index 3d7e558..f4cac5e 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 package CPAN::Meta::History;
 
-our $VERSION = '2.150001';
+our $VERSION = '2.150005';
 
 1;
 
@@ -22,7 +22,7 @@ CPAN::Meta::History - history of CPAN Meta Spec changes
 
 =head1 VERSION
 
-version 2.150001
+version 2.150005
 
 =head1 DESCRIPTION
 
index 1052c3e..cd3bb9c 100644 (file)
@@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_0 - Version 1.0 metadata specification for META.yml
 =head1 PREFACE
 
 This is a historical copy of the version 1.0 specification for F<META.yml>
-files, copyright by Ken Williams.
+files, copyright by Ken Williams and licensed under the same terms as Perl
+itself.
 
 Modifications from the original:
 
index 69f3411..7b4b2f4 100644 (file)
@@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_1 - Version 1.1 metadata specification for META.yml
 =head1 PREFACE
 
 This is a historical copy of the version 1.1 specification for F<META.yml>
-files, copyright by Ken Williams.
+files, copyright by Ken Williams and licensed under the same terms as Perl
+itself.
 
 Modifications from the original:
 
index 69cd5bb..48867b2 100644 (file)
@@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_2 - Version 1.2 metadata specification for META.yml
 =head1 PREFACE
 
 This is a historical copy of the version 1.2 specification for F<META.yml>
-files, copyright by Ken Williams.
+files, copyright by Ken Williams and licensed under the same terms as Perl
+itself.
 
 Modifications from the original:
 
index deff28d..b075adc 100644 (file)
@@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_3 - Version 1.3 metadata specification for META.yml
 =head1 PREFACE
 
 This is a historical copy of the version 1.3 specification for F<META.yml>
-files, copyright by Ken Williams.
+files, copyright by Ken Williams and licensed under the same terms as Perl
+itself.
 
 Modifications from the original:
 
index a84fb3d..471296c 100644 (file)
@@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_4 - Version 1.4 metadata specification for META.yml
 =head1 PREFACE
 
 This is a historical copy of the version 1.4 specification for F<META.yml>
-files, copyright by Ken Williams.
+files, copyright by Ken Williams and licensed under the same terms as Perl
+itself.
 
 Modifications from the original:
 
index f4c1286..05a18ea 100644 (file)
@@ -3,15 +3,24 @@ use warnings;
 
 package CPAN::Meta::Merge;
 
-our $VERSION = '2.150001';
+our $VERSION = '2.150005';
 
 use Carp qw/croak/;
 use Scalar::Util qw/blessed/;
 use CPAN::Meta::Converter 2.141170;
 
+sub _is_identical {
+  my ($left, $right) = @_;
+  return
+    (not defined $left and not defined $right)
+    # if either of these are references, we compare the serialized value
+    || (defined $left and defined $right and $left eq $right);
+}
+
 sub _identical {
   my ($left, $right, $path) = @_;
-  croak sprintf "Can't merge attribute %s: '%s' does not equal '%s'", join('.', @{$path}), $left, $right unless $left eq $right;
+  croak sprintf "Can't merge attribute %s: '%s' does not equal '%s'", join('.', @{$path}), $left, $right
+    unless _is_identical($left, $right);
   return $left;
 }
 
@@ -50,6 +59,13 @@ sub _uniq_map {
     if (not exists $left->{$key}) {
       $left->{$key} = $right->{$key};
     }
+    # identical strings or references are merged identically
+    elsif (_is_identical($left->{$key}, $right->{$key})) {
+      1; # do nothing - keep left
+    }
+    elsif (ref $left->{$key} eq 'HASH' and ref $right->{$key} eq 'HASH') {
+      $left->{$key} = _uniq_map($left->{$key}, $right->{$key}, [ @{$path}, $key ]);
+    }
     else {
       croak 'Duplication of element ' . join '.', @{$path}, $key;
     }
@@ -219,6 +235,9 @@ sub merge {
 
 # ABSTRACT: Merging CPAN Meta fragments
 
+
+# vim: ts=2 sts=2 sw=2 et :
+
 __END__
 
 =pod
@@ -231,7 +250,7 @@ CPAN::Meta::Merge - Merging CPAN Meta fragments
 
 =head1 VERSION
 
-version 2.150001
+version 2.150005
 
 =head1 SYNOPSIS
 
index 7503510..8a13eb1 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 use warnings;
 package CPAN::Meta::Prereqs;
 
-our $VERSION = '2.150001';
+our $VERSION = '2.150005';
 
 #pod =head1 DESCRIPTION
 #pod
@@ -163,7 +163,7 @@ sub with_merged_prereqs {
 #pod
 #pod     my $new_reqs = $prereqs->merged_requirements( \@phases, \@types );
 #pod     my $new_reqs = $prereqs->merged_requirements( \@phases );
-#pod     my $new_reqs = $preerqs->merged_requirements();
+#pod     my $new_reqs = $prereqs->merged_requirements();
 #pod
 #pod This method joins together all requirements across a number of phases
 #pod and types into a new L<CPAN::Meta::Requirements> object.  If arguments
@@ -275,8 +275,6 @@ sub clone {
 
 # ABSTRACT: a set of distribution prerequisites by phase and type
 
-__END__
-
 =pod
 
 =encoding UTF-8
@@ -287,7 +285,7 @@ CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type
 
 =head1 VERSION
 
-version 2.150001
+version 2.150005
 
 =head1 DESCRIPTION
 
@@ -353,7 +351,7 @@ will not alter them.
 
     my $new_reqs = $prereqs->merged_requirements( \@phases, \@types );
     my $new_reqs = $prereqs->merged_requirements( \@phases );
-    my $new_reqs = $preerqs->merged_requirements();
+    my $new_reqs = $prereqs->merged_requirements();
 
 This method joins together all requirements across a number of phases
 and types into a new L<CPAN::Meta::Requirements> object.  If arguments
@@ -417,3 +415,8 @@ This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 =cut
+
+__END__
+
+
+# vim: ts=2 sts=2 sw=2 et :
index ec68f17..9056940 100644 (file)
@@ -8,7 +8,7 @@ use strict;
 use warnings;
 package CPAN::Meta::Spec;
 
-our $VERSION = '2.150001';
+our $VERSION = '2.150005';
 
 1;
 
@@ -29,7 +29,7 @@ CPAN::Meta::Spec - specification for CPAN distribution metadata
 
 =head1 VERSION
 
-version 2.150001
+version 2.150005
 
 =head1 SYNOPSIS
 
index cc0409e..eddaa10 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 use warnings;
 package CPAN::Meta::Validator;
 
-our $VERSION = '2.150001';
+our $VERSION = '2.150005';
 
 #pod =head1 SYNOPSIS
 #pod
@@ -986,8 +986,6 @@ sub _error {
 
 # ABSTRACT: validate CPAN distribution metadata structures
 
-__END__
-
 =pod
 
 =encoding UTF-8
@@ -998,7 +996,7 @@ CPAN::Meta::Validator - validate CPAN distribution metadata structures
 
 =head1 VERSION
 
-version 2.150001
+version 2.150005
 
 =head1 SYNOPSIS
 
@@ -1205,3 +1203,8 @@ This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 =cut
+
+__END__
+
+
+# vim: ts=2 sts=2 sw=2 et :
index f9e7d59..7cce934 100644 (file)
@@ -73,4 +73,4 @@ for my $f ( reverse sort @files ) {
 }
 
 done_testing;
-
+# vim: ts=2 sts=2 sw=2 et :
index b9cfedd..dfda1ae 100644 (file)
@@ -38,4 +38,4 @@ for my $f ( reverse sort @files ) {
 }
 
 done_testing;
-
+# vim: ts=2 sts=2 sw=2 et :
index 18dad14..a9b78de 100644 (file)
@@ -151,8 +151,8 @@ for my $c (@cases) {
     my $got = $cmc->upgrade_fragment;
     my $exp = $c->{expect};
     is_deeply( $got, $exp, $c->{label} )
-      or diag "GOT:\n" . explain($got) . "\nEXPECTED:\n" . explain($exp);
+      or diag "GOT:\n", explain($got), "EXPECTED:\n", explain($exp);
 }
 
 done_testing;
-# vim: ts=4 sts=4 sw=4 et:
+# vim: ts=8 sts=4 sw=4 et :
index 10c6a48..87cdbd6 100644 (file)
@@ -34,6 +34,7 @@ my @files = sort grep { /^\w/ } $data_dir->read;
 #use Data::Dumper;
 
 for my $f ( reverse sort @files ) {
+  note '';
   my $path = File::Spec->catfile('t','data-test',$f);
   my $original = Parse::CPAN::Meta->load_file( $path  );
   ok( $original, "loaded $f" );
@@ -294,4 +295,15 @@ sub _normalize_reqs {
   );
 }
 
+# specific test for preserving release_status on upconversion
+{
+  my $path = File::Spec->catfile('t','data-test','preserve-release-status.yml');
+  my $original = Parse::CPAN::Meta->load_file( $path  );
+  ok( $original, "loaded META-2.json" );
+  my $cmc = CPAN::Meta::Converter->new( $original );
+  my $cleaned_up = $cmc->convert( version => "2" );
+  is( $cleaned_up->{release_status}, 'unstable', "release_status preserved" );
+}
+
 done_testing;
+# vim: ts=2 sts=2 sw=2 et:
diff --git a/cpan/CPAN-Meta/t/data-test/preserve-release-status.yml b/cpan/CPAN-Meta/t/data-test/preserve-release-status.yml
new file mode 100644 (file)
index 0000000..9468b86
--- /dev/null
@@ -0,0 +1,13 @@
+# http://module-build.sourceforge.net/META-spec.html
+#XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
+name:         Template-DBI
+version:      2.64
+version_from: lib/Template/Plugin/DBI.pm
+installdirs:  site
+license: perl
+requires:
+    DBI:                           1
+    Template:                      2.15
+distribution_type: module
+generated_by: ExtUtils::MakeMaker version 6.17
+release_status: unstable
index c3df3ea..7cae168 100644 (file)
@@ -15,13 +15,11 @@ my @files = sort grep { /^\w/ } $data_dir->read;
 
 for my $f ( sort @files ) {
   my $path = File::Spec->catfile('t','data-fixable',$f);
-  my $meta = eval { CPAN::Meta->load_file( $path ) };
-  ok( defined $meta, "load_file('$f')" ) or diag $@;
+  ok( eval { CPAN::Meta->load_file( $path ) }, "load_file('$f')" ) or diag $@;
   my $string = _slurp($path);
   my $method =  $path =~ /\.json/ ? "load_json_string" : "load_yaml_string";
-  my $meta2 = eval { CPAN::Meta->$method( $string, { fix_errors => 1 } ) };
-  ok( defined $meta2, "$method(slurp('$f'))" ) or diag $@;
+  ok( eval { CPAN::Meta->$method( $string, { fix_errors => 1 } ) }, "$method(slurp('$f'))" ) or diag $@;
 }
 
 done_testing;
-
+# vim: ts=2 sts=2 sw=2 et:
index f58e8c6..39e8124 100644 (file)
@@ -1,5 +1,3 @@
-#! perl
-
 use strict;
 use warnings;
 
@@ -14,6 +12,7 @@ my %base = (
        license => [ 'perl_5' ],
        resources => {
                license => [ 'http://dev.perl.org/licenses/' ],
+                bugtracker => { web => 'https://rt.cpan.org/Dist/Display.html?Foo-Bar' },
        },
        prereqs => {
                runtime => {
@@ -70,6 +69,7 @@ my %first_expected = (
        license => [ 'perl_5', 'bsd' ],
        resources => {
                license => [ 'http://dev.perl.org/licenses/', 'http://opensource.org/licenses/bsd-license.php' ],
+                bugtracker => { web => 'https://rt.cpan.org/Dist/Display.html?Foo-Bar' },
        },
        prereqs => {
                runtime => {
@@ -100,6 +100,34 @@ my %first_expected = (
                version => 2,
        },
 );
+my %provides_merge_expected = (
+       abstract => 'This is a test',
+       author => ['A.U. Thor'],
+       generated_by => 'Myself',
+       license => [ 'perl_5' ],
+       resources => {
+               license => [ 'http://dev.perl.org/licenses/' ],
+               bugtracker => { web => 'https://rt.cpan.org/Dist/Display.html?Foo-Bar' },
+       },
+       prereqs => {
+               runtime => {
+                       requires => {
+                               Foo => '0',
+                       },
+               },
+       },
+       dynamic_config => 0,
+       provides => {
+               Baz => {
+                       file => 'lib/Baz.pm',
+                       version => '0.001',         # same as %base, but for this extra key
+               },
+       },
+       'meta-spec' => {
+               url => "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+               version => 2,
+       },
+);
 
 my $merger = CPAN::Meta::Merge->new(default_version => '2');
 
@@ -108,13 +136,34 @@ my $first_result = $merger->merge(\%base, \%first);
 is_deeply($first_result, \%first_expected, 'First result is as expected');
 
 is_deeply($merger->merge(\%base, { abstract => 'This is a test' }), \%base, 'Can merge in identical abstract');
-my $failure = eval { $merger->merge(\%base, { abstract => 'And now for something else' }) };
-is($failure, undef, 'Trying to merge different author gives an exception');
+is(
+    eval { $merger->merge(\%base, { abstract => 'And now for something else' }) },
+    undef,
+    'Trying to merge different author gives an exception',
+);
 like $@, qr/^Can't merge attribute abstract/, 'Exception looks right';
 
-my $failure2 = eval { $merger->merge(\%base, { provides => { Baz => { file => 'Baz.pm' } } }) };
-is($failure2, undef, 'Trying to merge different author gives an exception');
-like $@, qr/^Duplication of element provides\.Baz /, 'Exception looks right';
+is(
+    eval { $merger->merge(\%base, { resources => { bugtracker => { web => 'http://foo.com' } } } ) },
+    undef,
+    'Trying to merge a different bugtracker URL gives an exception',
+);
+like $@, qr/^Duplication of element resources\.bugtracker\.web /, 'Exception looks right';
+
+is(
+    eval { $merger->merge(\%base, { provides => { Baz => { file => 'Baz.pm' } } }) },
+    undef,
+    'Trying to merge different provides.$module.file gives an exception',
+);
+like $@, qr/^Duplication of element provides\.Baz\.file /, 'Exception looks right';
+
+my $provides_result = $merger->merge(\%base, { provides => { Baz => { file => 'lib/Baz.pm', version => '0.001' } } });
+is_deeply(
+       $provides_result,
+       \%provides_merge_expected,
+       'Trying to merge a new key for provides.$module is permitted; identical values are preserved',
+);
+
 
 # issue 67
 @base{qw/name version release_status/} = qw/Foo-Bar 0.01 testing/;
@@ -122,3 +171,4 @@ my $base_obj = CPAN::Meta->create(\%base);
 ok my $first_result_obj = $merger->merge($base_obj, \%first), 'merging CPAN::Meta objects succeeds';
 
 done_testing();
+# vim: ts=4 sts=4 sw=4 tw=78 noet :
index bb39c46..fa3c703 100644 (file)
@@ -240,3 +240,4 @@ $chk_feature->($features[0]);
 $chk_feature->( $meta->feature('domination') );
 
 done_testing;
+# vim: ts=2 sts=2 sw=2 et :
index 456633a..554e921 100644 (file)
@@ -86,3 +86,4 @@ my %distmeta = (
 }
 
 done_testing;
+# vim: ts=2 sts=2 sw=2 et :
index 15aa621..76ea964 100644 (file)
@@ -1,6 +1,5 @@
 use strict;
 use warnings;
-# vim: set ts=4 sw=4 noet nolist :
 
 use Test::More;
 use CPAN::Meta;
@@ -92,8 +91,7 @@ my $fragment3 = {
        }
 };
 
-my $result = eval { $merger->merge($meta1, $fragment3) };
-is($result, undef, 'Trying to merge optional_features with same feature name and different descriptions gives an exception');
+is( eval { $merger->merge($meta1, $fragment3) }, undef, 'Trying to merge optional_features with same feature name and different descriptions gives an exception');
 like $@, qr/^Cannot merge two optional_features named 'FeatureName' with different 'description' values/, 'Exception looks right';
 
 my $fragment4 = {
@@ -106,8 +104,7 @@ my $fragment4 = {
        }
 };
 
-$result = eval { $merger->merge($meta1, $fragment4) };
-is($result, undef, 'Trying to merge optional_features with same feature name and differences in other keys gives an exception');
+is( eval { $merger->merge($meta1, $fragment4) }, undef, 'Trying to merge optional_features with same feature name and differences in other keys gives an exception');
 like $@, qr/^Cannot merge two optional_features named 'FeatureName' with different 'x_default' values/, 'Exception looks right';
 
 my $fragment5 = {
@@ -140,3 +137,4 @@ is_deeply(
 );
 
 done_testing;
+# vim: ts=4 sts=4 sw=4 noet :
index e974f99..ac4aea8 100644 (file)
@@ -9,9 +9,7 @@ delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
 sub dies_ok (&@) {
   my ($code, $qr, $comment) = @_;
 
-  my $lived = eval { $code->(); 1 };
-
-  if ($lived) {
+  if (eval { $code->(); 1 }) {
     fail("$comment: did not die");
   } else {
     like($@, $qr, $comment);
@@ -91,3 +89,4 @@ $clone->requirements_for(qw(develop suggests))->add_minimum(Foo => 1);
 pass('...and we can add stuff to it');
 
 done_testing;
+# vim: ts=2 sts=2 sw=2 et :
index 37bca7d..e15c9f2 100644 (file)
@@ -104,3 +104,4 @@ is_deeply(
 );
 
 done_testing;
+# vim: ts=2 sts=2 sw=2 et :
index ad21caa..b4a3c95 100644 (file)
@@ -161,4 +161,4 @@ is_deeply($prereq->as_string_hash, $prereq_struct, "round-trip okay");
 }
 
 done_testing;
-
+# vim: ts=2 sts=2 sw=2 et :
index 8bb1da7..0cd2c24 100644 (file)
@@ -225,3 +225,4 @@ delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
   );
 }
 done_testing;
+# vim: ts=2 sts=2 sw=2 et :
index 5399305..8093344 100644 (file)
@@ -83,6 +83,16 @@ ok( -f $metafile, "save meta to file" );
 ok( my $loaded = Parse::CPAN::Meta->load_file($metafile), 'load saved file' );
 is($loaded->{name},     'Module-Build', 'name correct');
 
+like(
+  $loaded->{x_serialization_backend},
+  qr/\AJSON::PP version [0-9]/,
+  "x_serialization_backend",
+);
+
+ok(
+  ! exists $meta->{x_serialization_backend},
+  "we didn't leak x_serialization_backend up into the saved struct",
+);
 
 ok( $loaded = Parse::CPAN::Meta->load_file('t/data-test/META-1_4.yml'), 'load META-1.4' );
 is($loaded->{name},     'Module-Build', 'name correct');
@@ -98,6 +108,17 @@ ok( $loaded = Parse::CPAN::Meta->load_file($metayml), 'load saved file' );
 is( $loaded->{name},     'Module-Build', 'name correct');
 is( $loaded->{requires}{perl}, "5.006", 'prereq correct' );
 
+like(
+  $loaded->{x_serialization_backend},
+  qr/\ACPAN::Meta::YAML version [0-9]/,
+  "x_serialization_backend",
+);
+
+ok(
+  ! exists $meta->{x_serialization_backend},
+  "we didn't leak x_serialization_backend up into the saved struct",
+);
+
 # file without suffix
 
 ok( $loaded = CPAN::Meta->load_file('t/data-test/META-2.meta'), 'load_file META-2.meta' );
@@ -106,3 +127,4 @@ my $string = do { open my $fh, '<', 't/data-test/META-2.meta'; local $/; <$fh> }
 ok( $loaded = CPAN::Meta->load_string($string), 'load META-2.meta from string' );
 
 done_testing;
+# vim: ts=2 sts=2 sw=2 et :
index 4fce192..0145073 100644 (file)
@@ -36,8 +36,9 @@ delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
     my $meta = Parse::CPAN::Meta->load_file( File::Spec->catfile($f) );
     my $cmv = CPAN::Meta::Validator->new({%$meta});
     ok( ! $cmv->is_valid, "$f shouldn't validate" );
+    note 'validation error: ', $_ foreach $cmv->errors;
   }
 }
 
 done_testing;
-
+# vim: ts=2 sts=2 sw=2 et :
index 94607d9..e8c9bb7 100644 (file)
@@ -6,7 +6,7 @@ use vars qw($VERSION);
 
 use if $] < 5.008 => 'IO::Scalar';
 
-$VERSION = '1.63_01';
+$VERSION = '1.63';
 
 =head1 NAME
 
@@ -530,20 +530,9 @@ sub AUTOLOAD { 1 }
 sub DESTROY { 1 }
 }
 
-# load a module without searching the default entry for the current
-# directory
-sub _safe_load_module {
-  my $name = shift;
-
-  local @INC = @INC;
-  pop @INC if $INC[-1] eq '.';
-
-  eval "require $name; 1";
-}
-
 sub _init_logger
        {
-       my $log4perl_loaded = _safe_load_module("Log::Log4perl");
+       my $log4perl_loaded = eval "require Log::Log4perl; 1";
 
     unless( $log4perl_loaded )
         {
@@ -1004,7 +993,7 @@ sub _load_local_lib # -I
        {
        $logger->debug( "Loading local::lib" );
 
-       my $rc = _safe_load_module("local::lib");
+       my $rc = eval { require local::lib; 1; };
        unless( $rc ) {
                $logger->die( "Could not load local::lib" );
                }
@@ -1132,7 +1121,7 @@ sub _get_file
        {
        my $path = shift;
 
-       my $loaded = _safe_load_module("LWP::Simple");
+       my $loaded = eval "require LWP::Simple; 1;";
        croak "You need LWP::Simple to use features that fetch files from CPAN\n"
                unless $loaded;
 
@@ -1154,7 +1143,7 @@ sub _gitify
        {
        my $args = shift;
 
-       my $loaded = _safe_load_module("Archive::Extract");
+       my $loaded = eval "require Archive::Extract; 1;";
        croak "You need Archive::Extract to use features that gitify distributions\n"
                unless $loaded;
 
@@ -1218,7 +1207,7 @@ sub _show_Changes
 sub _get_changes_file
        {
        croak "Reading Changes files requires LWP::Simple and URI\n"
-               unless _safe_load_module("LWP::Simple") && _safe_load_module("URI");
+               unless eval "require LWP::Simple; require URI; 1";
 
     my $url = shift;
 
index 25bf349..6096916 100644 (file)
@@ -2,7 +2,7 @@
 # vim: ts=4 sts=4 sw=4:
 use strict;
 package CPAN;
-$CPAN::VERSION = '2.11_01';
+$CPAN::VERSION = '2.11';
 $CPAN::VERSION =~ s/_//;
 
 # we need to run chdir all over and we would get at wrong libraries
@@ -1104,8 +1104,6 @@ sub has_usable {
                                ]
               };
     if ($usable->{$mod}) {
-        local @INC = @INC;
-        pop @INC if $INC[-1] eq '.';
         for my $c (0..$#{$usable->{$mod}}) {
             my $code = $usable->{$mod}[$c];
             my $ret = eval { &$code() };
@@ -1148,8 +1146,6 @@ sub has_inst {
       $CPAN::META->{dontload_hash}{$mod}||=1; # unsafe meta access, ok
       return 0;
     }
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     my $file = $mod;
     my $obj;
     $file =~ s|::|/|g;
index ccba47e..5f4320e 100644 (file)
@@ -1,6 +1,5 @@
 #!/usr/local/bin/perl
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use vars qw($VERSION);
 
index e696dec..3abca3d 100644 (file)
@@ -8,7 +8,7 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
 use Fcntl;
 use integer;
 
-$VERSION = '5.95_01';
+$VERSION = '5.95';
 
 require Exporter;
 require DynaLoader;
index 62a2b0e..14ddd60 100644 (file)
@@ -13,7 +13,6 @@
        ## "-0" option for reading bit strings, and
        ## "-p" option for portable digests (to be deprecated).
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use warnings;
 use Fcntl;
index 16dae9d..c3355a8 100644 (file)
@@ -3,7 +3,7 @@ package Digest;
 use strict;
 use vars qw($VERSION %MMAP $AUTOLOAD);
 
-$VERSION = "1.17_01";
+$VERSION = "1.17";
 
 %MMAP = (
   "SHA-1"      => [["Digest::SHA", 1], "Digest::SHA1", ["Digest::SHA2", 1]],
@@ -38,11 +38,7 @@ sub new
         unless (exists ${"$class\::"}{"VERSION"}) {
             my $pm_file = $class . ".pm";
             $pm_file =~ s{::}{/}g;
-            eval {
-                local @INC = @INC;
-                pop @INC if $INC[-1] eq '.';
-                require $pm_file
-           };
+            eval { require $pm_file };
             if ($@) {
                 $err ||= $@;
                 next;
index 874cbc6..1c1efd5 100644 (file)
@@ -1,10 +1,10 @@
 #
-# $Id: Encode.pm,v 2.72 2015/03/14 02:43:24 dankogai Exp $
+# $Id: Encode.pm,v 2.73 2015/04/15 23:14:01 dankogai Exp dankogai $
 #
 package Encode;
 use strict;
 use warnings;
-our $VERSION = sprintf "%d.%02d_01", q$Revision: 2.72 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.73 $ =~ /(\d+)/g;
 use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 use XSLoader ();
 XSLoader::load( __PACKAGE__, $VERSION );
@@ -56,8 +56,6 @@ require Encode::Config;
 eval {
     local $SIG{__DIE__};
     local $SIG{__WARN__};
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     require Encode::ConfigLocal;
 };
 
@@ -313,7 +311,11 @@ sub predefine_encodings {
         $Encode::Encoding{Unicode} =
           bless { Name => "Internal" } => "Encode::Internal";
     }
-
+    {
+        # https://rt.cpan.org/Public/Bug/Display.html?id=103253
+        package Encode::XS;
+        push @Encode::XS::ISA, 'Encode::Encoding';
+    }
     {
 
         # was in Encode::utf8
index 121e0c2..19f2b2b 100644 (file)
@@ -4,7 +4,6 @@ BEGIN {
     # with $ENV{PERL_CORE} set
     # In case we need it in future...
     require Config; import Config;
-    pop @INC if $INC[-1] eq '.';
 }
 use strict;
 use warnings;
index 0be5c7c..5d7ac80 100644 (file)
@@ -1,6 +1,5 @@
 #!./perl
 use 5.008001;
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use warnings;
 use Encode;
index 60b2a59..c1dad9e 100644 (file)
@@ -1,7 +1,6 @@
 #!./perl
 # $Id: piconv,v 2.7 2014/05/31 09:48:48 dankogai Exp $
 #
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use 5.8.0;
 use strict;
 use Encode ;
index 25e0d67..622376d 100644 (file)
@@ -3,7 +3,6 @@
 # $Id: ucmlint,v 2.2 2008/03/12 09:51:11 dankogai Exp $
 #
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 our  $VERSION = do { my @r = (q$Revision: 2.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
 
index f190827..ae0da30 100644 (file)
@@ -1,6 +1,5 @@
 #!./perl
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use Encode;
 use Getopt::Std;
index fde410d..a2831eb 100644 (file)
@@ -1,12 +1,16 @@
-# $Id: encoding.pm,v 2.14 2015/03/14 02:44:39 dankogai Exp dankogai $
+# $Id: encoding.pm,v 2.15 2015/04/15 23:14:01 dankogai Exp dankogai $
 package encoding;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.14 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.15 $ =~ /(\d+)/g;
 
 use Encode;
 use strict;
 use warnings;
 
-use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
+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,
+};
 
 BEGIN {
     if ( ord("A") == 193 ) {
@@ -15,12 +19,6 @@ BEGIN {
     }
 }
 
-our $HAS_PERLIO = 0;
-eval { require PerlIO::encoding };
-unless ($@) {
-    $HAS_PERLIO = ( PerlIO::encoding->VERSION >= 0.02 );
-}
-
 sub _exception {
     my $name = shift;
     $] > 5.008 and return 0;    # 5.8.1 or higher then no
@@ -39,64 +37,79 @@ sub in_locale { $^H & ( $locale::hint_bits || 0 ) }
 sub _get_locale_encoding {
     my $locale_encoding;
 
+    if ($^O eq 'MSWin32') {
+        my @tries = (
+            # First try to get the OutputCP. This will work only if we
+            # are attached to a console
+            'Win32.pm' => 'Win32::GetConsoleOutputCP',
+            'Win32/Console.pm' => 'Win32::Console::OutputCP',
+            # If above failed, this means that we are a GUI app
+            # Let's assume that the ANSI codepage is what matters
+            'Win32.pm' => 'Win32::GetACP',
+        );
+        while (@tries) {
+            my $cp = eval {
+                require $tries[0];
+                no strict 'refs';
+                &{$tries[1]}()
+            };
+            if ($cp) {
+                if ($cp == 65001) { # Code page for UTF-8
+                    $locale_encoding = 'UTF-8';
+                } else {
+                    $locale_encoding = 'cp' . $cp;
+                }
+                return $locale_encoding;
+            }
+            splice(@tries, 0, 2)
+        }
+    }
+
     # I18N::Langinfo isn't available everywhere
-    eval {
+    $locale_encoding = eval {
         require I18N::Langinfo;
-        I18N::Langinfo->import(qw(langinfo CODESET));
-        $locale_encoding = langinfo( CODESET() );
+        find_encoding(
+            I18N::Langinfo::langinfo( I18N::Langinfo::CODESET() )
+        )->name
     };
+    return $locale_encoding if defined $locale_encoding;
 
-    my $country_language;
-
-    no warnings 'uninitialized';
-
-    if ( (not $locale_encoding) && in_locale() ) {
-        if ( $ENV{LC_ALL} =~ /^([^.]+)\.([^.@]+)(@.*)?$/ ) {
-            ( $country_language, $locale_encoding ) = ( $1, $2 );
-        }
-        elsif ( $ENV{LANG} =~ /^([^.]+)\.([^.@]+)(@.*)?$/ ) {
+    eval {
+        require POSIX;
+        # Get the current locale
+        # Remember that MSVCRT impl is quite different from Unixes
+        my $locale = POSIX::setlocale(POSIX::LC_CTYPE());
+        if ( $locale =~ /^([^.]+)\.([^.@]+)(?:@.*)?$/ ) {
+            my $country_language;
             ( $country_language, $locale_encoding ) = ( $1, $2 );
-        }
-
-        # LANGUAGE affects only LC_MESSAGES only on glibc
-    }
-    elsif ( not $locale_encoding ) {
-        if (   $ENV{LC_ALL} =~ /\butf-?8\b/i
-            || $ENV{LANG} =~ /\butf-?8\b/i )
-        {
-            $locale_encoding = 'utf8';
-        }
 
-        # Could do more heuristics based on the country and language
-        # parts of LC_ALL and LANG (the parts before the dot (if any)),
-        # since we have Locale::Country and Locale::Language available.
-        # TODO: get a database of Language -> Encoding mappings
-        # (the Estonian database at http://www.eki.ee/letter/
-        # would be excellent!) --jhi
-    }
-    if (   defined $locale_encoding
-        && lc($locale_encoding) eq 'euc'
-        && defined $country_language )
-    {
-        if ( $country_language =~ /^ja_JP|japan(?:ese)?$/i ) {
-            $locale_encoding = 'euc-jp';
-        }
-        elsif ( $country_language =~ /^ko_KR|korean?$/i ) {
-            $locale_encoding = 'euc-kr';
-        }
-        elsif ( $country_language =~ /^zh_CN|chin(?:a|ese)$/i ) {
-            $locale_encoding = 'euc-cn';
-        }
-        elsif ( $country_language =~ /^zh_TW|taiwan(?:ese)?$/i ) {
-            $locale_encoding = 'euc-tw';
-        }
-        else {
-            require Carp;
-            Carp::croak(
-                "encoding: Locale encoding '$locale_encoding' too ambiguous"
-            );
+            # Could do more heuristics based on the country and language
+            # since we have Locale::Country and Locale::Language available.
+            # TODO: get a database of Language -> Encoding mappings
+            # (the Estonian database at http://www.eki.ee/letter/
+            # would be excellent!) --jhi
+            if (lc($locale_encoding) eq 'euc') {
+                if ( $country_language =~ /^ja_JP|japan(?:ese)?$/i ) {
+                    $locale_encoding = 'euc-jp';
+                }
+                elsif ( $country_language =~ /^ko_KR|korean?$/i ) {
+                    $locale_encoding = 'euc-kr';
+                }
+                elsif ( $country_language =~ /^zh_CN|chin(?:a|ese)$/i ) {
+                    $locale_encoding = 'euc-cn';
+                }
+                elsif ( $country_language =~ /^zh_TW|taiwan(?:ese)?$/i ) {
+                    $locale_encoding = 'euc-tw';
+                }
+                else {
+                    require Carp;
+                    Carp::croak(
+                        "encoding: Locale encoding '$locale_encoding' too ambiguous"
+                    );
+                }
+            }
         }
-    }
+    };
 
     return $locale_encoding;
 }
@@ -132,7 +145,7 @@ sub import {
     unless ( $arg{Filter} ) {
         DEBUG and warn "_exception($name) = ", _exception($name);
         if (! _exception($name)) {
-            if (!$^V || $^V lt v5.21.7) {
+            if (!PERL_5_21_7) {
                 ${^ENCODING} = $enc;
             }
             else {
@@ -143,11 +156,11 @@ sub import {
                 ${^E_NCODING} = $enc;
             }
         }
-        $HAS_PERLIO or return 1;
+        HAS_PERLIO or return 1;
     }
     else {
         defined( ${^ENCODING} ) and undef ${^ENCODING};
-        undef ${^E_NCODING} if $^V && $^V ge v5.21.7;
+        undef ${^E_NCODING} if PERL_5_21_7;
 
         # implicitly 'use utf8'
         require utf8;      # to fetch $utf8::hint_bits;
@@ -197,8 +210,8 @@ sub import {
 sub unimport {
     no warnings;
     undef ${^ENCODING};
-    undef ${^E_NCODING} if $^V && $^V ge v5.21.7;
-    if ($HAS_PERLIO) {
+    undef ${^E_NCODING} if PERL_5_21_7;
+    if (HAS_PERLIO) {
         binmode( STDIN,  ":raw" );
         binmode( STDOUT, ":raw" );
     }
diff --git a/cpan/Encode/t/isa.t b/cpan/Encode/t/isa.t
new file mode 100644 (file)
index 0000000..84703a5
--- /dev/null
@@ -0,0 +1,10 @@
+#
+# $Id: isa.t,v 1.1 2015/04/02 12:08:24 dankogai Exp $
+#
+use strict;
+use Encode qw/find_encoding/;
+use Test::More;
+my @enc = Encode->encodings(":all");
+plan tests => 0+@enc;
+isa_ok find_encoding($_), "Encode::Encoding" for @enc;
+
index 01432dc..7f3161a 100644 (file)
@@ -7,7 +7,7 @@ use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
 @ISA       = qw(Exporter);
 @EXPORT    = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod
                 dos2unix);
-$VERSION = '1.20_01';
+$VERSION = '1.20';
 
 my $Is_VMS   = $^O eq 'VMS';
 my $Is_VMS_mode = $Is_VMS;
@@ -19,10 +19,7 @@ if( $Is_VMS ) {
     my $vms_efs;
     my $vms_case;
 
-    if (eval { local $SIG{__DIE__};
-               local @INC = @INC;
-               pop @INC if $INC[-1] eq '.';
-               require VMS::Feature; }) {
+    if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
         $vms_unix_rpt = VMS::Feature::current("filename_unix_report");
         $vms_efs = VMS::Feature::current("efs_charset");
         $vms_case = VMS::Feature::current("efs_case_preserve");
index ab0f9d1..8b9aa95 100644 (file)
@@ -1,6 +1,5 @@
 #!/usr/bin/perl -w
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use IO::File;
 use ExtUtils::Packlist;
index ad67aef..203b3aa 100644 (file)
@@ -10,7 +10,7 @@ our @ISA = qw(Exporter);
 
 our @EXPORT  = qw(test_harness pod2man perllocal_install uninstall
                   warn_if_old_packlist test_s cp_nonempty);
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 my $Is_VMS = $^O eq 'VMS';
 
index 3a4e138..3df1793 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
 
 use strict;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 use File::Spec;
 require ExtUtils::Liblist::Kid;
index 66e4caa..37bcfd4 100644 (file)
@@ -11,7 +11,7 @@ use 5.006;
 
 use strict;
 use warnings;
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 use ExtUtils::MakeMaker::Config;
 use Cwd 'cwd';
index c137ffa..f2aa8b4 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MM;
 use strict;
 use ExtUtils::MakeMaker::Config;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::Liblist;
 require ExtUtils::MakeMaker;
index a52db81..58ea5b9 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_AIX;
 
 use strict;
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);
index 5c2f515..4c00129 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_Any;
 
 use strict;
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 use Carp;
 use File::Spec;
index d4267c0..35b76c0 100644 (file)
@@ -26,7 +26,7 @@ require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 
 =item os_flavor
index 8252651..b504c47 100644 (file)
@@ -9,7 +9,7 @@ require ExtUtils::MM_Unix;
 require ExtUtils::MM_Win32;
 our @ISA = qw( ExtUtils::MM_Unix );
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 
 =head1 NAME
index ac5bfd5..353c54f 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_DOS;
 
 use strict;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
index 08431d2..315d1b4 100644 (file)
@@ -7,7 +7,7 @@ BEGIN {
     our @ISA = qw( ExtUtils::MM_Unix );
 }
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 
 =head1 NAME
index ab505fe..bef2c00 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
 
 use strict;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 sub new {
     die 'MacOS Classic (MacPerl) is no longer supported by MakeMaker';
index 6d189c0..4e36796 100644 (file)
@@ -22,7 +22,7 @@ use strict;
 use ExtUtils::MakeMaker::Config;
 use File::Basename;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::MM_Win32;
 our @ISA = qw(ExtUtils::MM_Win32);
index 441032b..c9ace00 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use ExtUtils::MakeMaker qw(neatvalue);
 use File::Spec;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
index 82ea50c..13e12c4 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_QNX;
 
 use strict;
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);
index 3d20415..4af2909 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_UWIN;
 
 use strict;
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);
index d4312b0..f63145c 100644 (file)
@@ -15,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue);
 
 # If we make $VERSION an our variable parse_version() breaks
 use vars qw($VERSION);
-$VERSION = '7.04_02';
+$VERSION = '7.04_01';
 $VERSION = eval $VERSION;  ## no critic [BuiltinFunctions::ProhibitStringyEval]
 
 require ExtUtils::MM_Any;
index f3bfaf9..45d06b0 100644 (file)
@@ -15,7 +15,7 @@ BEGIN {
 
 use File::Basename;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
index 1f0e455..dfec6d5 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_VOS;
 
 use strict;
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);
index 7edaf8f..fbd3f49 100644 (file)
@@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw( neatvalue );
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 $ENV{EMXSHELL} = 'sh'; # to run `commands`
 
index 8e03a60..cc37c24 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_Win95;
 
 use strict;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require ExtUtils::MM_Win32;
 our @ISA = qw(ExtUtils::MM_Win32);
index c3e6453..f2114f9 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MY;
 use strict;
 require ExtUtils::MM;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 our @ISA = qw(ExtUtils::MM);
 
 {
index d5a1dd7..fe95b27 100644 (file)
@@ -24,7 +24,7 @@ my %Recognized_Att_Keys;
 our %macro_fsentity; # whether a macro is a filesystem name
 our %macro_dep; # whether a macro is a dependency
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 $VERSION = eval $VERSION;  ## no critic [BuiltinFunctions::ProhibitStringyEval]
 
 # Emulate something resembling CVS $Revision$
index fe56648..9001cc6 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
 
 use strict;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 use Config ();
 
index 3cbaf28..97d4300 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::Mkbootstrap;
 # There's just too much Dynaloader incest here to turn on strict vars.
 use strict 'refs';
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 require Exporter;
 our @ISA = ('Exporter');
index 4ae9e73..3a9fc71 100644 (file)
@@ -10,7 +10,7 @@ use Config;
 
 our @ISA = qw(Exporter);
 our @EXPORT = qw(&Mksymlists);
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 sub Mksymlists {
     my(%spec) = @_;
index fa7b73c..2a5323e 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
 use strict;
 use warnings;
 
-our $VERSION = '7.04_02';
+our $VERSION = '7.04_01';
 
 use Cwd;
 use File::Spec;
index de2ab12..7d6a263 100644 (file)
@@ -22,7 +22,7 @@ use vars    qw[ $VERBOSE $PREFER_BIN $FROM_EMAIL $USER_AGENT
                 $FTP_PASSIVE $TIMEOUT $DEBUG $WARN $FORCEIPV4
             ];
 
-$VERSION        = '0.48_01';
+$VERSION        = '0.48';
 $VERSION        = eval $VERSION;    # avoid warnings with development releases
 $PREFER_BIN     = 0;                # XXX TODO implement
 $FROM_EMAIL     = 'File-Fetch@example.com';
@@ -567,8 +567,6 @@ sub _lwp_fetch {
 
     };
 
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     unless( can_load( modules => $use_list ) ) {
         $METHOD_FAIL->{'lwp'} = 1;
         return;
@@ -621,8 +619,6 @@ sub _httptiny_fetch {
 
     };
 
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     unless( can_load(modules => $use_list) ) {
         $METHOD_FAIL->{'httptiny'} = 1;
         return;
@@ -662,8 +658,6 @@ sub _httplite_fetch {
 
     };
 
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     unless( can_load(modules => $use_list) ) {
         $METHOD_FAIL->{'httplite'} = 1;
         return;
@@ -739,8 +733,6 @@ sub _iosock_fetch {
         'IO::Select'       => '0.0',
     };
 
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     unless( can_load(modules => $use_list) ) {
         $METHOD_FAIL->{'iosock'} = 1;
         return;
@@ -822,8 +814,6 @@ sub _netftp_fetch {
     check( $tmpl, \%hash ) or return;
 
     ### required modules ###
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     my $use_list = { 'Net::FTP' => 0 };
 
     unless( can_load( modules => $use_list ) ) {
index 154c008..06fa33a 100644 (file)
@@ -4,8 +4,8 @@
 # Author          : Johan Vromans
 # Created On      : Tue Sep 11 15:00:12 1990
 # Last Modified By: Johan Vromans
-# Last Modified On: Mon Feb 23 20:29:11 2015
-# Update Count    : 1683
+# Last Modified On: Tue Jun  2 10:40:52 2015
+# Update Count    : 1685
 # Status          : Released
 
 ################ Module Preamble ################
@@ -17,10 +17,10 @@ use 5.004;
 use strict;
 
 use vars qw($VERSION);
-$VERSION        =  2.45;
+$VERSION        =  2.46;
 # For testing versions only.
 use vars qw($VERSION_STRING);
-$VERSION_STRING = "2.45";
+$VERSION_STRING = "2.46";
 
 use Exporter;
 use vars qw(@ISA @EXPORT @EXPORT_OK);
@@ -1312,13 +1312,13 @@ sub Configure (@) {
     my (@options) = @_;
 
     my $prevconfig =
-      [ $error, $debug, $major_version, $minor_version,
+      [ $error, $debug, $major_version, $minor_version, $caller,
        $autoabbrev, $getopt_compat, $ignorecase, $bundling, $order,
        $gnu_compat, $passthrough, $genprefix, $auto_version, $auto_help,
        $longprefix, $bundling_values ];
 
     if ( ref($options[0]) eq 'ARRAY' ) {
-       ( $error, $debug, $major_version, $minor_version,
+       ( $error, $debug, $major_version, $minor_version, $caller,
          $autoabbrev, $getopt_compat, $ignorecase, $bundling, $order,
          $gnu_compat, $passthrough, $genprefix, $auto_version, $auto_help,
          $longprefix, $bundling_values ) = @{shift(@options)};
diff --git a/cpan/HTTP-Tiny/corpus/redirect-10.txt b/cpan/HTTP-Tiny/corpus/redirect-10.txt
new file mode 100644 (file)
index 0000000..3abe585
--- /dev/null
@@ -0,0 +1,35 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 308 Permanent Redirect
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
index e162e76..52887d1 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 # ABSTRACT: A small, simple, correct HTTP/1.1 client
 
-our $VERSION = '0.054_01';
+our $VERSION = '0.056';
 
 use Carp ();
 
@@ -28,7 +28,7 @@ use Carp ();
 #pod * C<max_redirect> —
 #pod     Maximum number of redirects allowed (defaults to 5)
 #pod * C<max_size> —
-#pod     Maximum response size (only when not using a data callback).  If defined, responses larger than this will return an exception.
+#pod     Maximum response size in bytes (only when not using a data callback).  If defined, responses larger than this will return an exception.
 #pod * C<http_proxy> —
 #pod     URL of a proxy server to use for HTTP connections (default is C<$ENV{http_proxy}> — if set)
 #pod * C<https_proxy> —
@@ -462,6 +462,55 @@ sub www_form_urlencode {
     return join("&", (ref $data eq 'ARRAY') ? (@terms) : (sort @terms) );
 }
 
+#pod =method can_ssl
+#pod
+#pod     $ok         = HTTP::Tiny->can_ssl;
+#pod     ($ok, $why) = HTTP::Tiny->can_ssl;
+#pod     ($ok, $why) = $http->can_ssl;
+#pod
+#pod Indicates if SSL support is available.  When called as a class object, it
+#pod checks for the correct version of L<Net::SSLeay> and L<IO::Socket::SSL>.
+#pod When called as an object methods, if C<SSL_verify> is true or if C<SSL_verify_mode>
+#pod is set in C<SSL_options>, it checks that a CA file is available.
+#pod
+#pod In scalar context, returns a boolean indicating if SSL is available.
+#pod In list context, returns the boolean and a (possibly multi-line) string of
+#pod errors indicating why SSL isn't available.
+#pod
+#pod =cut
+
+sub can_ssl {
+    my ($self) = @_;
+
+    my($ok, $reason) = (1, '');
+
+    # Need IO::Socket::SSL 1.42 for SSL_create_ctx_callback
+    unless (eval {require IO::Socket::SSL; IO::Socket::SSL->VERSION(1.42)}) {
+        $ok = 0;
+        $reason .= qq/IO::Socket::SSL 1.42 must be installed for https support\n/;
+    }
+
+    # Need Net::SSLeay 1.49 for MODE_AUTO_RETRY
+    unless (eval {require Net::SSLeay; Net::SSLeay->VERSION(1.49)}) {
+        $ok = 0;
+        $reason .= qq/Net::SSLeay 1.49 must be installed for https support\n/;
+    }
+
+    # If an object, check that SSL config lets us get a CA if necessary
+    if ( ref($self) && ( $self->{verify_SSL} || $self->{SSL_options}{SSL_verify_mode} ) ) {
+        my $handle = HTTP::Tiny::Handle->new(
+            SSL_options => $self->{SSL_options},
+            verify_SSL  => $self->{verify_SSL},
+        );
+        unless ( eval { $handle->_find_CA_file; 1 } ) {
+            $ok = 0;
+            $reason .= "$@";
+        }
+    }
+
+    wantarray ? ($ok, $reason) : $ok;
+}
+
 #--------------------------------------------------------------------------#
 # private methods
 #--------------------------------------------------------------------------#
@@ -766,7 +815,7 @@ sub _maybe_redirect {
     my ($self, $request, $response, $args) = @_;
     my $headers = $response->{headers};
     my ($status, $method) = ($response->{status}, $request->{method});
-    if (($status eq '303' or ($status =~ /^30[127]/ && $method =~ /^GET|HEAD$/))
+    if (($status eq '303' or ($status =~ /^30[1278]/ && $method =~ /^GET|HEAD$/))
         and $headers->{location}
         and ++$args->{redirects} <= $self->{max_redirect}
     ) {
@@ -1362,12 +1411,8 @@ sub can_write {
 }
 
 sub _assert_ssl {
-    # Need IO::Socket::SSL 1.42 for SSL_create_ctx_callback
-    die(qq/IO::Socket::SSL 1.42 must be installed for https support\n/)
-        unless eval {require IO::Socket::SSL; IO::Socket::SSL->VERSION(1.42)};
-    # Need Net::SSLeay 1.49 for MODE_AUTO_RETRY
-    die(qq/Net::SSLeay 1.49 must be installed for https support\n/)
-        unless eval {require Net::SSLeay; Net::SSLeay->VERSION(1.49)};
+    my($ok, $reason) = HTTP::Tiny->can_ssl();
+    die $reason unless $ok;
 }
 
 sub can_reuse {
@@ -1389,13 +1434,15 @@ sub can_reuse {
 sub _find_CA_file {
     my $self = shift();
 
-    return $self->{SSL_options}->{SSL_ca_file}
-        if $self->{SSL_options}->{SSL_ca_file} and -e $self->{SSL_options}->{SSL_ca_file};
+    if ( $self->{SSL_options}->{SSL_ca_file} ) {
+        unless ( -r $self->{SSL_options}->{SSL_ca_file} ) {
+            die qq/SSL_ca_file '$self->{SSL_options}->{SSL_ca_file}' not found or not readable\n/;
+        }
+        return $self->{SSL_options}->{SSL_ca_file};
+    }
 
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     return Mozilla::CA::SSL_ca_file()
-        if eval { require Mozilla::CA };
+        if eval { require Mozilla::CA; 1 };
 
     # cert list copied from golang src/crypto/x509/root_unix.go
     foreach my $ca_bundle (
@@ -1465,7 +1512,7 @@ HTTP::Tiny - A small, simple, correct HTTP/1.1 client
 
 =head1 VERSION
 
-version 0.054
+version 0.056
 
 =head1 SYNOPSIS
 
@@ -1534,7 +1581,7 @@ C<max_redirect> — Maximum number of redirects allowed (defaults to 5)
 
 =item *
 
-C<max_size> — Maximum response size (only when not using a data callback).  If defined, responses larger than this will return an exception.
+C<max_size> — Maximum response size in bytes (only when not using a data callback).  If defined, responses larger than this will return an exception.
 
 =item *
 
@@ -1740,6 +1787,21 @@ array reference, the key will be repeated with each of the values of the array
 reference.  If data is provided as a hash reference, the key/value pairs in the
 resulting string will be sorted by key and value for consistent ordering.
 
+=head2 can_ssl
+
+    $ok         = HTTP::Tiny->can_ssl;
+    ($ok, $why) = HTTP::Tiny->can_ssl;
+    ($ok, $why) = $http->can_ssl;
+
+Indicates if SSL support is available.  When called as a class object, it
+checks for the correct version of L<Net::SSLeay> and L<IO::Socket::SSL>.
+When called as an object methods, if C<SSL_verify> is true or if C<SSL_verify_mode>
+is set in C<SSL_options>, it checks that a CA file is available.
+
+In scalar context, returns a boolean indicating if SSL is available.
+In list context, returns the boolean and a (possibly multi-line) string of
+errors indicating why SSL isn't available.
+
 =for Pod::Coverage SSL_options
 agent
 cookie_jar
@@ -1760,9 +1822,12 @@ verify_SSL
 Direct C<https> connections are supported only if L<IO::Socket::SSL> 1.56 or
 greater and L<Net::SSLeay> 1.49 or greater are installed. An exception will be
 thrown if new enough versions of these modules are not installed or if the SSL
-encryption fails. An C<https> connection may be made via an C<http> proxy that
-supports the CONNECT command (i.e. RFC 2817).  You may not proxy C<https> via
-a proxy that itself requires C<https> to communicate.
+encryption fails. You can also use C<HTTP::Tiny::can_ssl()> utility function
+that returns boolean to see if the required modules are installed.
+
+An C<https> connection may be made via an C<http> proxy that supports the CONNECT
+command (i.e. RFC 2817).  You may not proxy C<https> via a proxy that itself
+requires C<https> to communicate.
 
 SSL provides two distinct capabilities:
 
@@ -1938,10 +2003,10 @@ L<URI::_punycode> and L<Net::IDN::Encode>.
 =item *
 
 Redirection is very strict against the specification.  Redirection is only
-automatic for response codes 301, 302 and 307 if the request method is 'GET' or
-'HEAD'.  Response code 303 is always converted into a 'GET' redirection, as
-mandated by the specification.  There is no automatic support for status 305
-("Use proxy") redirections.
+automatic for response codes 301, 302, 307 and 308 if the request method is
+'GET' or 'HEAD'.  Response code 303 is always converted into a 'GET'
+redirection, as mandated by the specification.  There is no automatic support
+for status 305 ("Use proxy") redirections.
 
 =item *
 
@@ -2035,7 +2100,7 @@ David Golden <dagolden@cpan.org>
 
 =head1 CONTRIBUTORS
 
-=for stopwords Alan Gardner Alessandro Ghedini Brad Gilbert Chris Nehren Weyl Claes Jakobsson Clinton Gormley Craig Berry David Mitchell Dean Pearce Edward Zborowski James Raspass Jess Robinson Lukas Eklund Martin J. Evans Martin-Louis Bright Mike Doherty Olaf Alders Petr Písař Serguei Trouchelle Sören Kornetzki Syohei YOSHIDA Tom Hukins Tony Cook
+=for stopwords Alan Gardner Alessandro Ghedini Brad Gilbert Chris Nehren Weyl Claes Jakobsson Clinton Gormley Dean Pearce Edward Zborowski James Raspass Jeremy Mates Jess Robinson Lukas Eklund Martin J. Evans Martin-Louis Bright Mike Doherty Olaf Alders Olivier Mengué Petr Písař Sören Kornetzki Syohei YOSHIDA Tatsuhiko Miyagawa Tom Hukins Tony Cook
 
 =over 4
 
@@ -2069,14 +2134,6 @@ Clinton Gormley <clint@traveljury.com>
 
 =item *
 
-Craig Berry <cberry@cpan.org>
-
-=item *
-
-David Mitchell <davem@iabyn.com>
-
-=item *
-
 Dean Pearce <pearce@pythian.com>
 
 =item *
@@ -2089,6 +2146,10 @@ James Raspass <jraspass@gmail.com>
 
 =item *
 
+Jeremy Mates <jmates@cpan.org>
+
+=item *
+
 Jess Robinson <castaway@desert-island.me.uk>
 
 =item *
@@ -2113,11 +2174,11 @@ Olaf Alders <olaf@wundersolutions.com>
 
 =item *
 
-Petr Písař <ppisar@redhat.com>
+Olivier Mengué <dolmen@cpan.org>
 
 =item *
 
-Serguei Trouchelle <stro@cpan.org>
+Petr Písař <ppisar@redhat.com>
 
 =item *
 
@@ -2129,6 +2190,10 @@ Syohei YOSHIDA <syohex@gmail.com>
 
 =item *
 
+Tatsuhiko Miyagawa <miyagawa@bulknews.net>
+
+=item *
+
 Tom Hukins <tom@eborcom.com>
 
 =item *
index 8e6ccd2..879a225 100644 (file)
@@ -11,7 +11,7 @@ my @accessors = qw(
   max_redirect max_size proxy no_proxy timeout SSL_options verify_SSL cookie_jar
 );
 my @methods   = qw(
-  new get head put post delete post_form request mirror www_form_urlencode
+  new get head put post delete post_form request mirror www_form_urlencode can_ssl
 );
 
 my %api;
index 1b9c70a..0249850 100644 (file)
@@ -5,7 +5,6 @@
 # Display info on the contents of a Zip file
 #
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use warnings ;
 
index 7819833..d197a34 100644 (file)
@@ -17,7 +17,7 @@ use warnings ;
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
index 20fee96..096c753 100644 (file)
@@ -9,7 +9,7 @@ use IO::Compress::Base::Common  2.068 qw(:Status);
 use Compress::Raw::Bzip2  2.068 ;
 
 our ($VERSION);
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 sub mkCompObject
 {
index 07cd82a..a52b623 100644 (file)
@@ -10,7 +10,7 @@ use Compress::Raw::Zlib  2.068 qw( !crc32 !adler32 ) ;
 require Exporter;                                     
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 @ISA = qw(Exporter);
 @EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS;
 %EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS;
index 87cfaae..b001abe 100644 (file)
@@ -7,7 +7,7 @@ use bytes;
 use IO::Compress::Base::Common  2.068 qw(:Status);
 our ($VERSION);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 sub mkCompObject
 {
index b101b6f..20adb0e 100644 (file)
@@ -20,7 +20,7 @@ use Symbol();
 our (@ISA, $VERSION);
 @ISA    = qw(Exporter IO::File);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 #Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16.
 
index cd33982..86bcaa6 100644 (file)
@@ -11,7 +11,7 @@ use File::GlobMapper;
 require Exporter;
 our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);
 @ISA = qw(Exporter);
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 @EXPORT = qw( isaFilehandle isaFilename isaScalar
               whatIsInput whatIsOutput 
index ddc1c56..d6c2d66 100644 (file)
@@ -14,7 +14,7 @@ use IO::Compress::Adapter::Bzip2 2.068 ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $Bzip2Error = '';
 
 @ISA    = qw(Exporter IO::Compress::Base);
index 1091e37..4b80953 100644 (file)
@@ -17,7 +17,7 @@ use IO::Compress::Base::Common  2.068 qw();
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $DeflateError = '';
 
 @ISA    = qw(Exporter IO::Compress::RawDeflate);
index 6579319..01ee34e 100644 (file)
@@ -25,7 +25,7 @@ BEGIN
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $GzipError = '' ;
 
 @ISA    = qw(Exporter IO::Compress::RawDeflate);
index f236fcb..2b73a3c 100644 (file)
@@ -9,7 +9,7 @@ require Exporter;
 our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
 our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 @ISA = qw(Exporter);
 
index 60e07bb..2209952 100644 (file)
@@ -14,7 +14,7 @@ require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $RawDeflateError = '';
 
 @ISA = qw(Exporter IO::Compress::Base);
index 9f2d873..f8ec20c 100644 (file)
@@ -36,7 +36,7 @@ require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $ZipError = '';
 
 @ISA = qw(Exporter IO::Compress::RawDeflate);
index 20b1b31..bc56966 100644 (file)
@@ -7,7 +7,7 @@ require Exporter;
 
 our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 @ISA = qw(Exporter);
 
index c569806..f85364d 100644 (file)
@@ -9,7 +9,7 @@ require Exporter;
 
 our ($VERSION, @ISA, @EXPORT);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 @ISA = qw(Exporter);
 
index 6fee229..f99b9ed 100644 (file)
@@ -8,7 +8,7 @@ use bytes;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 use IO::Compress::Gzip::Constants 2.068 ;
 
index c31cd10..0161b8f 100644 (file)
@@ -9,7 +9,7 @@ use IO::Compress::Base::Common 2.068 qw(:Status);
 use Compress::Raw::Bzip2 2.068 ;
 
 our ($VERSION, @ISA);
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 sub mkUncompObject
 {
index 1387a9c..ecc66b9 100644 (file)
@@ -9,7 +9,7 @@ use IO::Compress::Zip::Constants ;
 
 our ($VERSION);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 use Compress::Raw::Zlib  2.068 ();
 
index 5b7bc2e..2cfe61e 100644 (file)
@@ -8,7 +8,7 @@ use IO::Compress::Base::Common  2.068 qw(:Status);
 use Compress::Raw::Zlib  2.068 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
 
 our ($VERSION);
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 
 
index 020af25..fd0bd69 100644 (file)
@@ -21,7 +21,7 @@ require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $AnyInflateError = '';
 
 @ISA = qw( Exporter IO::Uncompress::Base );
index cec47cb..0d2568e 100644 (file)
@@ -13,7 +13,7 @@ require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $AnyUncompressError = '';
 
 @ISA = qw( Exporter IO::Uncompress::Base );
@@ -27,8 +27,6 @@ Exporter::export_ok_tags('all');
 
 BEGIN
 {
-   local @INC = @INC;
-   pop @INC if $INC[-1] eq '.';
    eval ' use IO::Uncompress::Adapter::Inflate 2.068 ;';
    eval ' use IO::Uncompress::Adapter::Bunzip2 2.068 ;';
    eval ' use IO::Uncompress::Adapter::LZO 2.068 ;';
index dd521f5..04348a2 100644 (file)
@@ -9,7 +9,7 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS);
 @ISA    = qw(Exporter IO::File);
 
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 use constant G_EOF => 0 ;
 use constant G_ERR => -1 ;
index 157b110..c6e7f46 100644 (file)
@@ -12,7 +12,7 @@ use IO::Uncompress::Adapter::Bunzip2 2.068 ;
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $Bunzip2Error = '';
 
 @ISA    = qw( Exporter IO::Uncompress::Base );
index 8655b68..1f33f0b 100644 (file)
@@ -28,7 +28,7 @@ Exporter::export_ok_tags('all');
 
 $GunzipError = '';
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 
 sub new
 {
index fd6f551..1330731 100644 (file)
@@ -13,7 +13,7 @@ use IO::Uncompress::RawInflate  2.068 ;
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $InflateError = '';
 
 @ISA    = qw( Exporter IO::Uncompress::RawInflate );
index 7b21821..3a375a7 100644 (file)
@@ -14,7 +14,7 @@ use IO::Uncompress::Adapter::Inflate  2.068 ;
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $RawInflateError = '';
 
 @ISA    = qw( Exporter IO::Uncompress::Base );
index 132da90..f73313f 100644 (file)
@@ -31,7 +31,7 @@ require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
 
-$VERSION = '2.068_001';
+$VERSION = '2.068';
 $UnzipError = '';
 
 @ISA    = qw(Exporter IO::Uncompress::RawInflate);
index 4705f04..6a82bdf 100644 (file)
@@ -18,7 +18,7 @@ BEGIN {
                         $HAVE_MONOTONIC
                     ];
 
-    $VERSION        = '0.92_01';
+    $VERSION        = '0.92';
     $VERBOSE        = 0;
     $DEBUG          = 0;
     $WARN           = 1;
@@ -142,8 +142,6 @@ sub can_use_ipc_run     {
     return if IS_WIN98;
 
     ### if we don't have ipc::run, we obviously can't use it.
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     return unless can_load(
                         modules => { 'IPC::Run' => '0.55' },
                         verbose => ($WARN && $verbose),
@@ -171,8 +169,6 @@ sub can_use_ipc_open3   {
 
     ### IPC::Open3 works on every non-VMS platform, but it can't
     ### capture buffers on win32 :(
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     return unless can_load(
         modules => { map {$_ => '0.0'} qw|IPC::Open3 IO::Select Symbol| },
         verbose => ($WARN && $verbose),
index 896cd2f..df9d243 100644 (file)
@@ -1,6 +1,5 @@
 #!/usr/bin/perl
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use Getopt::Long;
 
index 1e29eee..7a011a4 100644 (file)
@@ -11,7 +11,7 @@ use Carp ();
 use B ();
 #use Devel::Peek;
 
-$JSON::PP::VERSION = '2.27300_01';
+$JSON::PP::VERSION = '2.27300';
 
 @JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json);
 
index 855c377..922d1a0 100644 (file)
@@ -31,7 +31,7 @@ our($VERSION,%Data,%Retired);
 # $Retired{ TYPE }{ CODESET }{ code }{ CODE } = NAME
 #                            { name }{ NAME } = [CODE,NAME]  (the key is lowercase)
 
-$VERSION='3.34';
+$VERSION='3.35';
 
 #=======================================================================
 #
index 430a464..106f0ba 100644 (file)
@@ -14,49 +14,49 @@ Currently, the following modules are included:
 
 =over 4
 
-=item B<Locale::Codes::Country, Locale::Country>
+=item L<Locale::Codes::Country>, L<Locale::Country>
 
 This includes support for country codes (such as those listed in ISO-3166)
 to specify the country.
 
-Because this module was originally distributed as Locale::Country, it is
+Because this module was originally distributed as L<Locale::Country>, it is
 also available under that name.
 
-=item B<Locale::Codes::Language, Locale::Language>
+=item L<Locale::Codes::Language>, L<Locale::Language>
 
 This includes support for language codes (such as those listed in ISO-639)
 to specify the language.
 
-Because this module was originally distributed as Locale::Language, it is
+Because this module was originally distributed as L<Locale::Language>, it is
 also available under that name.
 
-=item B<Locale::Codes::Currency, Locale::Currency>
+=item L<Locale::Codes::Currency>, L<Locale::Currency>
 
 This includes support for currency codes (such as those listed in ISO-4217)
 to specify the currency.
 
-Because this module was originally distributed as Locale::Currency, it is
+Because this module was originally distributed as L<Locale::Currency>, it is
 also available under that name.
 
-=item B<Locale::Codes::Script, Locale::Script>
+=item L<Locale::Codes::Script>, L<Locale::Script>
 
 This includes support for script codes (such as those listed in ISO-15924)
 to specify the script.
 
-Because this module was originally distributed as Locale::Script, it is
+Because this module was originally distributed as L<Locale::Script>, it is
 also available under that name.
 
-=item B<Locale::Codes::LangExt>
+=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 B<Locale::Codes::LangVar>
+=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 B<Locale::Codes::LangFam>
+=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.
@@ -65,11 +65,12 @@ in ISO 639-5) to specify families of languages.
 
 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 Locale::Codes::Country module supports
-code sets from ISO-3166 and the IANA standard, and they 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).
+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).
 
 All data in all of these modules comes directly from the original
 standards (or as close to direct as possible), so it should be
@@ -106,7 +107,8 @@ in the distribution including:
 =back
 
 These modules are not intended to be used by programmers. They contain functions
-or data that are used by the modules listed above.
+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 NEW CODE SETS
 
@@ -179,7 +181,7 @@ a few of the most common ones are included in the data. The country
 code for "United States" is "us", so:
 
    country2code('United States');
-      => "us"
+     => "us"
 
 Now the following will also return 'us':
 
@@ -199,11 +201,11 @@ country (please don't request this... I've already added it).
 
 On the other hand, a request to add Zaire as an alias for "Congo, The
 Democratic Republic of" will not be honored. The country's official
-name is no longer Zaire, so adding it as an alias violates the standard.
-Zaire was kept as an alias in versions prior to 3.00, but it has been
-removed. Other aliases (if any) which no longer appear in any standard
-(and which are not common variations of the name in the standards)
-have also been removed.
+name is no longer Zaire, so adding it as an alias violates the
+standard.  Zaire was kept as an alias in versions of this module prior
+to 3.00, but it has been removed. Other aliases (if any) which no
+longer appear in any standard (and which are not common variations of
+the name in the standards) have also been removed.
 
 =head1 DEPRECATED CODES
 
@@ -216,47 +218,47 @@ 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 B<Locale::Codes::API>
+all_XXX_codes, and all_XXX_names function in the L<Locale::Codes::API>
 documentation.
 
 =head1 SEE ALSO
 
 =over 4
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions available in each of the modules listed below.
 The APIs for each module are exactly identical.
 
-=item B<Locale::Codes::Country>
+=item L<Locale::Codes::Country>
 
 Codes for identification of countries.
 
-=item B<Locale::Codes::Language>
+=item L<Locale::Codes::Language>
 
 Codes for identification of languages.
 
-=item B<Locale::Codes::Script>
+=item L<Locale::Codes::Script>
 
 Codes for identification of scripts.
 
-=item B<Locale::Codes::Currency>
+=item L<Locale::Codes::Currency>
 
 Codes for identification of currencies and funds.
 
-=item B<Locale::Codes::LangExt>
+=item L<Locale::Codes::LangExt>
 
 Codes for identification of language extensions.
 
-=item B<Locale::Codes::LangVar>
+=item L<Locale::Codes::LangVar>
 
 Codes for identification of language variations.
 
-=item B<Locale::Codes::LangFam>
+=item L<Locale::Codes::LangFam>
 
 Codes for identification of language families.
 
-=item B<Locale::Codes::Changes>
+=item L<Locale::Codes::Changes>
 
 A history of changes made to this distribution.
 
@@ -282,7 +284,7 @@ with Neil Bower's permission.  All problems or comments should be
 sent there.  Alternately, problems can be reported using the
 perl problem tracker at:
 
-   https://rt.cpan.org/Dist/Display.html?Queue=Locale-Codes
+   L<https://rt.cpan.org/Dist/Display.html?Queue=Locale-Codes>
 
 =head1 COPYRIGHT
 
index 4353e19..f196461 100644 (file)
@@ -6,7 +6,7 @@ Locale::Codes::API - a description of the callable function in each module
 
 =head1 DESCRIPTION
 
-Although there are several modules in the Locale-Codes distribution, all of them
+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.
@@ -18,7 +18,7 @@ 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 "code2XXX" where XXX refers to the type of data.
+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
@@ -29,21 +29,22 @@ The values of XXX are described in the following table:
    script    Locale::Codes::Script
    langext   Locale::Codes::LangExt
    langvar   Locale::Codes::LangVar
-   langfam   Locale::Codes::LangFAM
+   langfam   Locale::Codes::LangFam
 
-So, the Locale::Country module contains the function code2country, the
-Locale::Language module contains the function code2language, etc.
+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, 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. CODE is always
-case insensitive (though when a code is returned, it will always be in
-the case as used in the standard), so 'fi', 'FI', and 'Fi' would all
-be equivalent.
+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.
 
-CODESET refers to a constant specified in the documentation for each
+B<CODESET> refers to a constant specified in the documentation for each
 module to label the various code sets. For example, in the
-Locale::Language module, CODESET could be LOCALE_CODE_ALPHA_2 or
+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:
 
@@ -60,15 +61,15 @@ identical.
 
 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 CODESET specified then C<undef> will be returned.
+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 CODESET.
+be returned for different values of B<CODESET>.
 
-For example, the B<alpha-2> country code set defines the two-letter
+For example, the alpha-2 country code set defines the two-letter
 code "bo" to be "Bolivia, Plurinational State of", whereas the
-B<alpha-3> code set defines the code 'bol' to be the country "Bolivia
+alpha-3 code set defines the code 'bol' to be the country "Bolivia
 (Plurinational State of)". So:
 
    code2country('bo',LOCALE_CODE_ALPHA_2);
@@ -84,7 +85,7 @@ 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 NAME
+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.
 
@@ -92,9 +93,9 @@ 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:
+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);
@@ -114,11 +115,11 @@ 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. CODE must exists in the code
-set specified by CODESET and must have a corresponding code in the
-code set specified by CODESET2 or C<undef> will be returned.
+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 CODESETs must be explicitly entered.
+Both B<CODESET> and B<CODESET2> must be explicitly entered.
 
    country_code2code('fin', LOCALE_CODE_ALPHA_3,
                      LOCALE_CODE_ALPHA_2);
@@ -166,8 +167,8 @@ These routines do not currently work with retired codes.
 =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 code2XXX routine would be
-NEW_NAME instead of the name specified in the standard.
+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.
 
@@ -180,8 +181,8 @@ 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 CODE doesn't exist in the specified code set, or if
-NEW_NAME is already in use but for a different element.
+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.
 
@@ -189,8 +190,8 @@ If the routine succeeds, 1 is returned.
 
 These routines are used to add a new code and name to the data.
 
-Both CODE and NAME must be unused in the data set or an error
-occurs (though NAME may be used in a different data set).
+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:
@@ -207,16 +208,16 @@ The return value is 1 on success, 0 on an error.
 
 These routines are used to delete a code from the data.
 
-CODE must refer to an existing code in the code set.
+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 code2XXX function.
+not alter the return value of the C<code2XXX> function.
 
-NAME must be an existing element name, and NEW_NAME must
+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.
@@ -224,18 +225,18 @@ 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 NAME.
+removed, the element may not be referred to by B<NAME>.
 
-NAME must be one of a list of at least two names that may be used to
+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 add_XXX_alias function to add a new alias
-first, or the remove_XXX function to remove the element entirely.
+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
-rename_XXX function to force one of the alternate names to be
+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.
@@ -243,32 +244,32 @@ 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 XXX2code routine would be
-NEW_CODE instead of the code specified in the standard.
+that point, the code returned by the C<XXX2code> routine would be
+B<NEW_CODE> instead of the code specified in the standard.
 
-NEW_CODE may either be a code that is not in use, or it may be an
-alias for CODE (in which case, CODE becomes and alias and NEW_CODE
+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 code2XXX routines
+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 all_XXX_codes routine will only return the codes which
+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 NEW_CODE, but will not contain CODE).
+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, NEW_CODE and CODE
-will both work in the code2XXX routines. However, the XXX2code routines will
+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 CODE is actually an alias. If it is the "real"
-code, it will not be deleted. You will need to use the rename_XXX_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.
 
@@ -300,7 +301,21 @@ limitation in the future.
 
 =head1 SEE ALSO
 
-Locale::Codes
+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
 
index 697a2e4..843a7cb 100644 (file)
@@ -26,7 +26,18 @@ codes, I will add them to the module and release a new version.
 
 =head1 VERSION 3.36  (planned 2015-09-01; sbeck)
 
-=head1 VERSION 3.35  (planned 2015-06-01; sbeck)
+=head1 VERSION 3.35  (2015-06-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Documentation improvements>
+
+Many changes to the formatting in the documentation to improve it.  Suggested
+by Pete Houston.
+
+=back
 
 =head1 VERSION 3.34  (2015-03-01; sbeck)
 
index 256d695..b49837a 100644 (file)
@@ -17,7 +17,7 @@ require Exporter;
 our($VERSION,@ISA,@EXPORT);
 our(%ALL_CODESETS);
 
-$VERSION='3.34';
+$VERSION='3.35';
 @ISA     = qw(Exporter);
 @EXPORT  = qw(LOCALE_CODE_ALPHA_2
               LOCALE_CODE_ALPHA_3
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Constants.pod b/cpan/Locale-Codes/lib/Locale/Codes/Constants.pod
deleted file mode 100644 (file)
index 0ad1335..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-=pod
-
-=head1 NAME
-
-Locale::Codes::Constants - constants for Locale codes
-
-=head1 DESCRIPTION
-
-B<Locale::Codes::Constants> defines symbols which are used in the other
-modules from the Locale-Codes distribution.
-
-You shouldn't have to C<use> this module directly yourself - it is
-used by the other Locale modules, which in turn export the symbols.
-
-The constants are documented in each of the Locale modules.
-
-=head1 KNOWN BUGS AND LIMITATIONS
-
-None known.
-
-=head1 SEE ALSO
-
-Locale::Codes
-
-=head1 AUTHOR
-
-See Locale::Codes for full author history.
-
-Currently maintained by Sullivan Beck (sbeck@cpan.org).
-
-=head1 COPYRIGHT
-
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2015 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
-
index 2fc76c4..95183e7 100644 (file)
@@ -22,7 +22,7 @@ use Locale::Codes::Country_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.34';
+$VERSION='3.35';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2country
                 country2code
index e1d8646..9b8a73c 100644 (file)
@@ -20,7 +20,7 @@ Locale::Codes::Country - standard codes for country identification
 
 =head1 DESCRIPTION
 
-The C<Locale::Codes::Country> module provides access to several code sets
+This module provides access to several code sets
 that can be used for identifying countries, such as those defined in
 ISO 3166-1.
 
@@ -80,33 +80,33 @@ Locale::Codes::Changes document for details.
 
 =over 4
 
-=item B<code2country ( CODE [,CODESET] [,'retired'])>
+=item B<code2country(CODE [,CODESET] [,'retired'])>
 
-=item B<country2code ( NAME [,CODESET] [,'retired'])>
+=item B<country2code(NAME [,CODESET] [,'retired'])>
 
-=item B<country_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<country_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_country_codes ( [CODESET] [,'retired'])>
+=item B<all_country_codes([CODESET] [,'retired'])>
 
-=item B<all_country_names ( [CODESET] [,'retired'])>
+=item B<all_country_names([CODESET] [,'retired'])>
 
-=item B<Locale::Codes::Country::rename_country  ( CODE ,NEW_NAME [,CODESET] )>
+=item B<Locale::Codes::Country::rename_country(CODE ,NEW_NAME [,CODESET])>
 
-=item B<Locale::Codes::Country::add_country  ( CODE ,NAME [,CODESET] )>
+=item B<Locale::Codes::Country::add_country(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Codes::Country::delete_country  ( CODE [,CODESET] )>
+=item B<Locale::Codes::Country::delete_country(CODE [,CODESET])>
 
-=item B<Locale::Codes::Country::add_country_alias  ( NAME ,NEW_NAME )>
+=item B<Locale::Codes::Country::add_country_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::Country::delete_country_alias  ( NAME )>
+=item B<Locale::Codes::Country::delete_country_alias(NAME)>
 
-=item B<Locale::Codes::Country::rename_country_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::Country::rename_country_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::Country::add_country_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::Country::add_country_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::Country::delete_country_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Codes::Country::delete_country_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =item B<alias_code ( ALIAS, CODE [,CODESET] )>
 
@@ -137,35 +137,35 @@ all 2.X releases, but has been dropped as of 3.00.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<Locale::SubCountry>
+=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 B<http://www.iso.org/iso/home/standards/country_codes.htm>
+=item L<http://www.iso.org/iso/home/standards/country_codes.htm>
 
 Official home page for the ISO 3166 maintenance agency.
 
-=item B<http://www.iso.org/iso/home/standards/country_codes/iso-3166-1_decoding_table.htm>
+=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 B<http://www.iana.org/domains/root/db/>
+=item L<http://www.iana.org/domains/root/db/>
 
 Official source of the top-level domain names.
 
-=item B<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
+=item L<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
 
 The source of the official ISO 3166-1 three-letter codes and
 three-digit codes.
@@ -174,13 +174,13 @@ For some reason, this table is incomplete! Several countries are
 missing from it, and I cannot find them anywhere on the UN site.  I
 no longer use this as a source of data.
 
-=item B<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
+=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 B<http://www.statoids.com/wab.html>
+=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
index 4a0ffdb..cbedadb 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Country_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Thu Feb 19 20:23:53 GMT 2015
+#    Generated on: Mon Jun  1 10:38:27 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Data{'country'}{'id'} = '0250';
 
index 7defc73..e655d8e 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Country_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Feb 20 15:27:22 GMT 2015
+#    Generated on: Mon Jun  1 13:35:17 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Retired{'country'}{'alpha-2'}{'code'} = {
    q(an) => q(Netherlands Antilles),
index a2478c2..2272472 100644 (file)
@@ -22,7 +22,7 @@ use Locale::Codes::Currency_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.34';
+$VERSION='3.35';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2currency
                 currency2code
index 39221f8..bc5ea0d 100644 (file)
@@ -14,11 +14,10 @@ Locale::Codes::Currency - standard codes for currency identification
     @codes   = all_currency_codes();
     @names   = all_currency_names();
 
-
 =head1 DESCRIPTION
 
-The C<Locale::Codes::Currency> module provides access to standard codes used
-for identifying currencies and funds, such as those defined in ISO 4217.
+This module provides access to standard codes used for identifying
+currencies and funds, such as those defined in ISO 4217.
 
 Most of the routines take an optional additional argument which
 specifies the code set to use. If not specified, the default ISO
@@ -60,33 +59,33 @@ This is the set of three-digit numeric codes from ISO 4217.
 
 =over 4
 
-=item B<code2currency ( CODE [,CODESET] [,'retired'])>
+=item B<code2currency(CODE [,CODESET] [,'retired'])>
 
-=item B<currency2code ( NAME [,CODESET] [,'retired'])>
+=item B<currency2code(NAME [,CODESET] [,'retired'])>
 
-=item B<currency_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<currency_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_currency_codes ( [CODESET] [,'retired'])>
+=item B<all_currency_codes([CODESET] [,'retired'])>
 
-=item B<all_currency_names ( [CODESET] [,'retired'])>
+=item B<all_currency_names([CODESET] [,'retired'])>
 
-=item B<Locale::Codes::Currency::rename_currency  ( CODE ,NEW_NAME [,CODESET] )>
+=item B<Locale::Codes::Currency::rename_currency(CODE ,NEW_NAME [,CODESET])>
 
-=item B<Locale::Codes::Currency::add_currency  ( CODE ,NAME [,CODESET] )>
+=item B<Locale::Codes::Currency::add_currency(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Codes::Currency::delete_currency  ( CODE [,CODESET] )>
+=item B<Locale::Codes::Currency::delete_currency(CODE [,CODESET])>
 
-=item B<Locale::Codes::Currency::add_currency_alias  ( NAME ,NEW_NAME )>
+=item B<Locale::Codes::Currency::add_currency_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::Currency::delete_currency_alias  ( NAME )>
+=item B<Locale::Codes::Currency::delete_currency_alias(NAME)>
 
-=item B<Locale::Codes::Currency::rename_currency_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::Currency::rename_currency_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::Currency::add_currency_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::Currency::add_currency_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::Currency::delete_currency_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Codes::Currency::delete_currency_code_alias( ODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =back
 
@@ -94,15 +93,15 @@ These routines are all documented in the Locale::Codes::API man page.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
+=item L<http://www.iso.org/iso/support/currency_codes_list-1.htm>
 
 The ISO 4217 data.
 
index 812d827..ed48de2 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Currency_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Thu Feb 19 20:50:17 GMT 2015
+#    Generated on: Mon Jun  1 10:50:33 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Data{'currency'}{'id'} = '0177';
 
index eef9e73..5ab04ee 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Currency_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Feb 20 15:27:22 GMT 2015
+#    Generated on: Mon Jun  1 13:35:17 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Retired{'currency'}{'alpha'}{'code'} = {
    q(ADP) => q(Andorran Peseta),
index 561e5d1..5b1c57a 100644 (file)
@@ -20,7 +20,7 @@ use Locale::Codes::LangExt_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.34';
+$VERSION='3.35';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2langext
                 langext2code
index 4cc1b44..271a5ac 100644 (file)
@@ -16,7 +16,7 @@ Locale::Codes::LangExt - standard codes for language extension identification
 
 =head1 DESCRIPTION
 
-The C<Locale::Codes::LangExt> module provides access to standard codes
+This module provides access to standard codes
 used for identifying language extensions, such as those as defined in
 the IANA language registry.
 
@@ -52,33 +52,33 @@ This is the default code set.
 
 =over 4
 
-=item B<code2langext ( CODE [,CODESET] [,'retired'])>
+=item B<code2langext(CODE [,CODESET] [,'retired'])>
 
-=item B<langext2code ( NAME [,CODESET] [,'retired'])>
+=item B<langext2code(NAME [,CODESET] [,'retired'])>
 
-=item B<langext_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<langext_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_langext_codes ( [CODESET] [,'retired'])>
+=item B<all_langext_codes([CODESET] [,'retired'])>
 
-=item B<all_langext_names ( [CODESET] [,'retired'])>
+=item B<all_langext_names([CODESET] [,'retired'])>
 
-=item B<Locale::Codes::LangExt::rename_langext  ( CODE ,NEW_NAME [,CODESET] )>
+=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])>
 
-=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 )>
+=item B<Locale::Codes::LangExt::add_langext_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::LangExt::delete_langext_alias  ( NAME )>
+=item B<Locale::Codes::LangExt::delete_langext_alias(NAME)>
 
-=item B<Locale::Codes::LangExt::rename_langext_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::LangExt::rename_langext_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::LangExt::add_langext_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::LangExt::add_langext_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::LangExt::delete_langext_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Codes::LangExt::delete_langext_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =back
 
@@ -86,15 +86,15 @@ These routines are all documented in the Locale::Codes::API man page.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<http://www.iana.org/assignments/language-subtag-registry>
+=item L<http://www.iana.org/assignments/language-subtag-registry>
 
 The IANA language subtag registry.
 
index c7e5e1e..d014205 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangExt_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Thu Feb 19 20:50:35 GMT 2015
+#    Generated on: Mon Jun  1 10:51:25 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,9 +11,9 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
-$Locale::Codes::Data{'langext'}{'id'} = '0229';
+$Locale::Codes::Data{'langext'}{'id'} = '0230';
 
 $Locale::Codes::Data{'langext'}{'id2names'} = {
    q(0001) => [
@@ -694,25 +694,28 @@ $Locale::Codes::Data{'langext'}{'id2names'} = {
       q(Yolnu Sign Language),
       ],
    q(0222) => [
-      q(Yugoslavian Sign Language),
+      q(Yan-nhanu Sign Language),
       ],
    q(0223) => [
+      q(Yugoslavian Sign Language),
+      ],
+   q(0224) => [
       q(Yue Chinese),
       q(Cantonese),
       ],
-   q(0224) => [
+   q(0225) => [
       q(Zimbabwe Sign Language),
       ],
-   q(0225) => [
+   q(0226) => [
       q(Malay (individual language)),
       ],
-   q(0226) => [
+   q(0227) => [
       q(Negeri Sembilan Malay),
       ],
-   q(0227) => [
+   q(0228) => [
       q(Zambian Sign Language),
       ],
-   q(0228) => [
+   q(0229) => [
       q(Standard Malay),
       ],
 };
@@ -831,7 +834,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
       q(0),
       ],
    q(cantonese) => [
-      q(0223),
+      q(0224),
       q(1),
       ],
    q(catalan sign language) => [
@@ -1239,7 +1242,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
       q(0),
       ],
    q(malay (individual language)) => [
-      q(0225),
+      q(0226),
       q(0),
       ],
    q(malaysian sign language) => [
@@ -1335,7 +1338,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
       q(0),
       ],
    q(negeri sembilan malay) => [
-      q(0226),
+      q(0227),
       q(0),
       ],
    q(nepalese sign language) => [
@@ -1535,7 +1538,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
       q(0),
       ],
    q(standard malay) => [
-      q(0228),
+      q(0229),
       q(0),
       ],
    q(sudanese arabic) => [
@@ -1666,6 +1669,10 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
       q(0096),
       q(0),
       ],
+   q(yan-nhanu sign language) => [
+      q(0222),
+      q(0),
+      ],
    q(yolnu sign language) => [
       q(0221),
       q(0),
@@ -1675,19 +1682,19 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = {
       q(0),
       ],
    q(yue chinese) => [
-      q(0223),
+      q(0224),
       q(0),
       ],
    q(yugoslavian sign language) => [
-      q(0222),
+      q(0223),
       q(0),
       ],
    q(zambian sign language) => [
-      q(0227),
+      q(0228),
       q(0),
       ],
    q(zimbabwe sign language) => [
-      q(0224),
+      q(0225),
       q(0),
       ],
 };
@@ -2578,34 +2585,38 @@ $Locale::Codes::Data{'langext'}{'code2id'} = {
          q(0221),
          q(0),
          ],
-      q(ysl) => [
+      q(yhs) => [
          q(0222),
          q(0),
          ],
-      q(yue) => [
+      q(ysl) => [
          q(0223),
          q(0),
          ],
-      q(zib) => [
+      q(yue) => [
          q(0224),
          q(0),
          ],
-      q(zlm) => [
+      q(zib) => [
          q(0225),
          q(0),
          ],
-      q(zmi) => [
+      q(zlm) => [
          q(0226),
          q(0),
          ],
-      q(zsl) => [
+      q(zmi) => [
          q(0227),
          q(0),
          ],
-      q(zsm) => [
+      q(zsl) => [
          q(0228),
          q(0),
          ],
+      q(zsm) => [
+         q(0229),
+         q(0),
+         ],
       },
 };
 
@@ -2832,13 +2843,14 @@ $Locale::Codes::Data{'langext'}{'id2code'} = {
       q(0219) => q(xmm),
       q(0220) => q(xms),
       q(0221) => q(ygs),
-      q(0222) => q(ysl),
-      q(0223) => q(yue),
-      q(0224) => q(zib),
-      q(0225) => q(zlm),
-      q(0226) => q(zmi),
-      q(0227) => q(zsl),
-      q(0228) => q(zsm),
+      q(0222) => q(yhs),
+      q(0223) => q(ysl),
+      q(0224) => q(yue),
+      q(0225) => q(zib),
+      q(0226) => q(zlm),
+      q(0227) => q(zmi),
+      q(0228) => q(zsl),
+      q(0229) => q(zsm),
       },
 };
 
index 4fe85fa..35d5756 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangExt_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Feb 20 15:27:22 GMT 2015
+#    Generated on: Mon Jun  1 13:35:17 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Retired{'langext'}{'alpha'}{'code'} = {
    q(yds) => q(Yiddish Sign Language),
index a83c82d..aa7778d 100644 (file)
@@ -20,7 +20,7 @@ use Locale::Codes::LangFam_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.34';
+$VERSION='3.35';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2langfam
                 langfam2code
index 00d60a8..acf71f5 100644 (file)
@@ -16,7 +16,7 @@ Locale::Codes::LangFam - standard codes for language extension identification
 
 =head1 DESCRIPTION
 
-The C<Locale::Codes::LangFam> module provides access to standard codes
+This module provides access to standard codes
 used for identifying language families, such as those as defined in
 ISO 639-5.
 
@@ -52,33 +52,33 @@ This is the default code set.
 
 =over 4
 
-=item B<code2langfam ( CODE [,CODESET] [,'retired'])>
+=item B<code2langfam(CODE [,CODESET] [,'retired'])>
 
-=item B<langfam2code ( NAME [,CODESET] [,'retired'])>
+=item B<langfam2code(NAME [,CODESET] [,'retired'])>
 
-=item B<langfam_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<langfam_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_langfam_codes ( [CODESET] [,'retired'])>
+=item B<all_langfam_codes([CODESET] [,'retired'])>
 
-=item B<all_langfam_names ( [CODESET] [,'retired'])>
+=item B<all_langfam_names([CODESET] [,'retired'])>
 
-=item B<Locale::Codes::LangFam::rename_langfam  ( CODE ,NEW_NAME [,CODESET] )>
+=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])>
 
-=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 )>
+=item B<Locale::Codes::LangFam::add_langfam_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::LangFam::delete_langfam_alias  ( NAME )>
+=item B<Locale::Codes::LangFam::delete_langfam_alias(NAME)>
 
-=item B<Locale::Codes::LangFam::rename_langfam_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::LangFam::rename_langfam_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::LangFam::add_langfam_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::LangFam::add_langfam_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::LangFam::delete_langfam_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Codes::LangFam::delete_langfam_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =back
 
@@ -86,15 +86,15 @@ These routines are all documented in the Locale::Codes::API man page.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<http://www.loc.gov/standards/iso639-5/id.php>
+=item L<http://www.loc.gov/standards/iso639-5/id.php>
 
 ISO 639-5 .
 
index c1988a1..d9781f3 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangFam_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Thu Feb 19 20:50:47 GMT 2015
+#    Generated on: Mon Jun  1 13:33:31 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Data{'langfam'}{'id'} = '0116';
 
index 7fb4daf..e1c829c 100644 (file)
@@ -5,40 +5,12 @@ Locale::Codes::LangFam_Retired;
 # be lost the next time 'deprecate_codes' is run.
 #    Generated on: Tue Sep 27 15:40:31 EDT 2011
 
-=pod
-
-=head1 NAME
-
-Locale::Codes::LangFam_Retired - retired langfam codes for the Locale::Codes::LangFam module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Codes::LangFam module. It is
-not intended to be used directly, and contains no calleable routines.
-
-=head1 AUTHOR
-
-See Locale::Codes for full author history.
-
-Currently maintained by Sullivan Beck (sbeck@cpan.org).
-
-=head1 COPYRIGHT
-
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2015 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
-
 use strict;
 use warnings;
 require 5.002;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Retired{'langfam'}{'alpha'}{'code'} = {
 };
index 9d9fc39..960621b 100644 (file)
@@ -20,7 +20,7 @@ use Locale::Codes::LangVar_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.34';
+$VERSION='3.35';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2langvar
                 langvar2code
index 35d979b..b815e13 100644 (file)
@@ -16,7 +16,7 @@ Locale::Codes::LangVar - standard codes for language variation identification
 
 =head1 DESCRIPTION
 
-The C<Locale::Codes::LangVar> module provides access to standard codes
+This module provides access to standard codes
 used for identifying language variations, such as those as defined in
 the IANA language registry.
 
@@ -54,33 +54,33 @@ This is the default code set.
 
 =over 4
 
-=item B<code2langvar ( CODE [,CODESET] [,'retired'])>
+=item B<code2langvar(CODE [,CODESET] [,'retired'])>
 
-=item B<langvar2code ( NAME [,CODESET] [,'retired'])>
+=item B<langvar2code(NAME [,CODESET] [,'retired'])>
 
-=item B<langvar_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<langvar_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_langvar_codes ( [CODESET] [,'retired'])>
+=item B<all_langvar_codes([CODESET] [,'retired'])>
 
-=item B<all_langvar_names ( [CODESET] [,'retired'])>
+=item B<all_langvar_names([CODESET] [,'retired'])>
 
-=item B<Locale::Codes::LangVar::rename_langvar  ( CODE ,NEW_NAME [,CODESET] )>
+=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])>
 
-=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 )>
+=item B<Locale::Codes::LangVar::add_langvar_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::LangVar::delete_langvar_alias  ( NAME )>
+=item B<Locale::Codes::LangVar::delete_langvar_alias(NAME)>
 
-=item B<Locale::Codes::LangVar::rename_langvar_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::LangVar::rename_langvar_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::LangVar::add_langvar_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::LangVar::add_langvar_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::LangVar::delete_langvar_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Codes::LangVar::delete_langvar_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =back
 
@@ -88,15 +88,15 @@ These routines are all documented in the Locale::Codes::API man page.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<http://www.iana.org/assignments/language-subtag-registry>
+=item L<http://www.iana.org/assignments/language-subtag-registry>
 
 The IANA language subtag registry.
 
index 49daafa..eb5796b 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangVar_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Thu Feb 19 20:50:44 GMT 2015
+#    Generated on: Mon Jun  1 13:32:51 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,9 +11,9 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
-$Locale::Codes::Data{'langvar'}{'id'} = '0068';
+$Locale::Codes::Data{'langvar'}{'id'} = '0072';
 
 $Locale::Codes::Data{'langvar'}{'id2names'} = {
    q(0001) => [
@@ -26,8 +26,7 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = {
       q(Traditional German orthography),
       ],
    q(0004) => [
-      q("Academic" ("governmental") variant of Belarusian as),
-      q("Academic" ("governmental") variant of Belarusian as),
+      q("Academic" ("governmental") variant of Belarusian as codified in 1959),
       ],
    q(0005) => [
       q(Standardized Resian orthography),
@@ -36,118 +35,127 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = {
       q(German orthography of 1996),
       ],
    q(0007) => [
-      q(ALA-LC Romanization, 1997 edition),
+      q(Orthographic formulation of 1943 - Official in Brazil (Formulario Ortografico de 1943 - Oficial no Brasil)),
       ],
    q(0008) => [
+      q(ALA-LC Romanization, 1997 edition),
+      ],
+   q(0009) => [
       q(Aluku dialect),
       q(Boni dialect),
       ],
-   q(0009) => [
+   q(0010) => [
+      q(Portugese Language Orthographic Agreement of 1990 (Acordo Ortografico da Lingua Portuguesa de 1990)),
+      ],
+   q(0011) => [
       q(Eastern Armenian),
       ],
-   q(0010) => [
+   q(0012) => [
       q(Western Armenian),
       ],
-   q(0011) => [
+   q(0013) => [
       q(Unified Turkic Latin Alphabet (Historical)),
       ],
-   q(0012) => [
+   q(0014) => [
       q(The Balanka dialect of Anii),
       ],
-   q(0013) => [
+   q(0015) => [
       q(The Barlavento dialect group of Kabuverdianu),
       ],
-   q(0014) => [
+   q(0016) => [
       q(Buddhist Hybrid Sanskrit),
       ],
-   q(0015) => [
+   q(0017) => [
       q(Biscayan dialect of Basque),
       ],
-   q(0016) => [
+   q(0018) => [
       q(The San Giorgio dialect of Resian),
       q(The Bila dialect of Resian),
       ],
-   q(0017) => [
+   q(0019) => [
       q(Slovene in Bohoric alphabet),
       ],
-   q(0018) => [
+   q(0020) => [
       q(Boontling),
       ],
-   q(0019) => [
+   q(0021) => [
+      q(Portuguese-Brazilian Orthographic Convention of 1945 (Convencao Ortografica Luso-Brasileira de 1945)),
+      ],
+   q(0022) => [
       q(Slovene in Dajnko alphabet),
       ],
-   q(0020) => [
+   q(0023) => [
       q(Serbian with Ekavian pronunciation),
       ],
-   q(0021) => [
+   q(0024) => [
       q(Early Modern English (1500-1700)),
       ],
-   q(0022) => [
+   q(0025) => [
       q(International Phonetic Alphabet),
       ],
-   q(0023) => [
+   q(0026) => [
       q(Uralic Phonetic Alphabet),
       ],
-   q(0024) => [
+   q(0027) => [
       q(X-SAMPA transcription),
       ],
-   q(0025) => [
+   q(0028) => [
       q(Hepburn romanization),
       ],
-   q(0026) => [
+   q(0029) => [
       q(Norwegian in Hognorsk (High Norwegian) orthography),
       ],
-   q(0027) => [
+   q(0030) => [
       q(Serbian with Ijekavian pronunciation),
       ],
-   q(0028) => [
+   q(0031) => [
       q(Epic Sanskrit),
       ],
-   q(0029) => [
+   q(0032) => [
       q(Jauer dialect of Romansh),
       ],
-   q(0030) => [
+   q(0033) => [
       q(Jyutping Cantonese Romanization),
       ],
-   q(0031) => [
+   q(0034) => [
       q(Common Cornish orthography of Revived Cornish),
       ],
-   q(0032) => [
+   q(0035) => [
       q(The Kociewie dialect of Polish),
       ],
-   q(0033) => [
+   q(0036) => [
       q(Standard Cornish orthography of Revived Cornish),
       q(Kernowek Standard),
       ],
-   q(0034) => [
+   q(0037) => [
       q(Classical Sanskrit),
       ],
-   q(0035) => [
+   q(0038) => [
       q(The Lipovaz dialect of Resian),
       q(The Lipovec dialect of Resian),
       ],
-   q(0036) => [
+   q(0039) => [
       q(Post-1917 Russian orthography),
       ],
-   q(0037) => [
+   q(0040) => [
       q(Slovene in Metelko alphabet),
       ],
-   q(0038) => [
+   q(0041) => [
       q(Monotonic Greek),
       ],
-   q(0039) => [
+   q(0042) => [
       q(Ndyuka dialect),
       q(Aukan dialect),
       ],
-   q(0040) => [
+   q(0043) => [
       q(Natisone dialect),
       q(Nadiza dialect),
       ],
-   q(0041) => [
+   q(0044) => [
       q(The Gniva dialect of Resian),
       q(The Njiva dialect of Resian),
       ],
-   q(0042) => [
+   q(0045) => [
       q(Volapuk nulik),
       q(Volapuk perevidol),
       q(Volapuk nuladik),
@@ -156,145 +164,148 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = {
       q(Revised Volapuk),
       q(Modern Volapuk),
       ],
-   q(0043) => [
+   q(0046) => [
       q(The Oseacco dialect of Resian),
       q(The Osojane dialect of Resian),
       ],
-   q(0044) => [
+   q(0047) => [
+      q(Oxford English Dictionary spelling),
+      ],
+   q(0048) => [
       q(Pamaka dialect),
       ],
-   q(0045) => [
+   q(0049) => [
       q(Petrine orthography),
       ],
-   q(0046) => [
+   q(0050) => [
       q(Pinyin romanization),
       ],
-   q(0047) => [
+   q(0051) => [
       q(Polytonic Greek),
       ],
-   q(0048) => [
+   q(0052) => [
       q(Puter idiom of Romansh),
       ],
-   q(0049) => [
+   q(0053) => [
       q(Volapuk rigik),
       q(Schleyer's Volapuk),
       q(Original Volapuk),
       q(Classic Volapuk),
       ],
-   q(0050) => [
+   q(0054) => [
       q(Resian),
       q(Resianic),
       q(Rezijan),
       ],
-   q(0051) => [
+   q(0055) => [
       q(Rumantsch Grischun),
       ],
-   q(0052) => [
+   q(0056) => [
       q(Scottish Standard English),
       ],
-   q(0053) => [
+   q(0057) => [
       q(Scouse),
       ],
-   q(0054) => [
+   q(0058) => [
       q(The Stolvizza dialect of Resian),
       q(The Solbica dialect of Resian),
       ],
-   q(0055) => [
+   q(0059) => [
       q(The Sotavento dialect group of Kabuverdianu),
       ],
-   q(0056) => [
+   q(0060) => [
       q(Surmiran idiom of Romansh),
       ],
-   q(0057) => [
+   q(0061) => [
       q(Sursilvan idiom of Romansh),
       ],
-   q(0058) => [
+   q(0062) => [
       q(Sutsilvan idiom of Romansh),
       ],
-   q(0059) => [
+   q(0063) => [
       q(Belarusian in Taraskievica orthography),
       ],
-   q(0060) => [
+   q(0064) => [
       q(Unified Cornish orthography of Revived Cornish),
       ],
-   q(0061) => [
+   q(0065) => [
       q(Unified Cornish Revised orthography of Revived Cornish),
       ],
-   q(0062) => [
+   q(0066) => [
       q(Ulster dialect of Scots),
       ],
-   q(0063) => [
+   q(0067) => [
       q(Unifon phonetic alphabet),
       ],
-   q(0064) => [
+   q(0068) => [
       q(Vedic Sanskrit),
       ],
-   q(0065) => [
+   q(0069) => [
       q(Valencian),
       ],
-   q(0066) => [
+   q(0070) => [
       q(Vallader idiom of Romansh),
       ],
-   q(0067) => [
+   q(0071) => [
       q(Wade-Giles romanization),
       ],
 };
 
 $Locale::Codes::Data{'langvar'}{'alias2id'} = {
-   q("academic" ("governmental") variant of belarusian as) => [
+   q("academic" ("governmental") variant of belarusian as codified in 1959) => [
       q(0004),
-      q(1),
+      q(0),
       ],
    q(ala-lc romanization, 1997 edition) => [
-      q(0007),
+      q(0008),
       q(0),
       ],
    q(aluku dialect) => [
-      q(0008),
+      q(0009),
       q(0),
       ],
    q(aukan dialect) => [
-      q(0039),
+      q(0042),
       q(1),
       ],
    q(belarusian in taraskievica orthography) => [
-      q(0059),
+      q(0063),
       q(0),
       ],
    q(biscayan dialect of basque) => [
-      q(0015),
+      q(0017),
       q(0),
       ],
    q(boni dialect) => [
-      q(0008),
+      q(0009),
       q(1),
       ],
    q(boontling) => [
-      q(0018),
+      q(0020),
       q(0),
       ],
    q(buddhist hybrid sanskrit) => [
-      q(0014),
+      q(0016),
       q(0),
       ],
    q(classic volapuk) => [
-      q(0049),
+      q(0053),
       q(3),
       ],
    q(classical sanskrit) => [
-      q(0034),
+      q(0037),
       q(0),
       ],
    q(common cornish orthography of revived cornish) => [
-      q(0031),
+      q(0034),
       q(0),
       ],
    q(de jong's volapuk) => [
-      q(0042),
+      q(0045),
       q(3),
       ],
    q(early modern english (1500-1700)) => [
-      q(0021),
+      q(0024),
       q(0),
       ],
    q(early modern french) => [
@@ -302,11 +313,11 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
       q(0),
       ],
    q(eastern armenian) => [
-      q(0009),
+      q(0011),
       q(0),
       ],
    q(epic sanskrit) => [
-      q(0028),
+      q(0031),
       q(0),
       ],
    q(german orthography of 1996) => [
@@ -314,23 +325,23 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
       q(0),
       ],
    q(hepburn romanization) => [
-      q(0025),
+      q(0028),
       q(0),
       ],
    q(international phonetic alphabet) => [
-      q(0022),
+      q(0025),
       q(0),
       ],
    q(jauer dialect of romansh) => [
-      q(0029),
+      q(0032),
       q(0),
       ],
    q(jyutping cantonese romanization) => [
-      q(0030),
+      q(0033),
       q(0),
       ],
    q(kernowek standard) => [
-      q(0033),
+      q(0036),
       q(1),
       ],
    q(late middle french (to 1606)) => [
@@ -338,115 +349,131 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
       q(0),
       ],
    q(modern volapuk) => [
-      q(0042),
+      q(0045),
       q(6),
       ],
    q(monotonic greek) => [
-      q(0038),
+      q(0041),
       q(0),
       ],
    q(nadiza dialect) => [
-      q(0040),
+      q(0043),
       q(1),
       ],
    q(natisone dialect) => [
-      q(0040),
+      q(0043),
       q(0),
       ],
    q(ndyuka dialect) => [
-      q(0039),
+      q(0042),
       q(0),
       ],
    q(new volapuk) => [
-      q(0042),
+      q(0045),
       q(4),
       ],
    q(norwegian in hognorsk (high norwegian) orthography) => [
-      q(0026),
+      q(0029),
       q(0),
       ],
    q(original volapuk) => [
-      q(0049),
+      q(0053),
       q(2),
       ],
+   q(orthographic formulation of 1943 - official in brazil (formulario ortografico de 1943 - oficial no brasil)) => [
+      q(0007),
+      q(0),
+      ],
+   q(oxford english dictionary spelling) => [
+      q(0047),
+      q(0),
+      ],
    q(pamaka dialect) => [
-      q(0044),
+      q(0048),
       q(0),
       ],
    q(petrine orthography) => [
-      q(0045),
+      q(0049),
       q(0),
       ],
    q(pinyin romanization) => [
-      q(0046),
+      q(0050),
       q(0),
       ],
    q(polytonic greek) => [
-      q(0047),
+      q(0051),
+      q(0),
+      ],
+   q(portugese language orthographic agreement of 1990 (acordo ortografico da lingua portuguesa de 1990)) => [
+      q(0010),
+      q(0),
+      ],
+   q(portuguese-brazilian orthographic convention of 1945 (convencao ortografica luso-brasileira de 1945)) => [
+      q(0021),
       q(0),
       ],
    q(post-1917 russian orthography) => [
-      q(0036),
+      q(0039),
       q(0),
       ],
    q(puter idiom of romansh) => [
-      q(0048),
+      q(0052),
       q(0),
       ],
    q(resian) => [
-      q(0050),
+      q(0054),
       q(0),
       ],
    q(resianic) => [
-      q(0050),
+      q(0054),
       q(1),
       ],
    q(revised volapuk) => [
-      q(0042),
+      q(0045),
       q(5),
       ],
    q(rezijan) => [
-      q(0050),
+      q(0054),
       q(2),
       ],
    q(rumantsch grischun) => [
-      q(0051),
+      q(0055),
       q(0),
       ],
    q(schleyer's volapuk) => [
-      q(0049),
+      q(0053),
       q(1),
       ],
    q(scottish standard english) => [
-      q(0052),
+      q(0056),
       q(0),
       ],
    q(scouse) => [
-      q(0053),
+      q(0057),
       q(0),
       ],
    q(serbian with ekavian pronunciation) => [
-      q(0020),
+      q(0023),
       q(0),
       ],
    q(serbian with ijekavian pronunciation) => [
-      q(0027),
+      q(0030),
       q(0),
       ],
    q(slovene in bohoric alphabet) => [
-      q(0017),
+      q(0019),
       q(0),
       ],
    q(slovene in dajnko alphabet) => [
-      q(0019),
+      q(0022),
       q(0),
       ],
    q(slovene in metelko alphabet) => [
-      q(0037),
+      q(0040),
       q(0),
       ],
    q(standard cornish orthography of revived cornish) => [
-      q(0033),
+      q(0036),
       q(0),
       ],
    q(standardized resian orthography) => [
@@ -454,71 +481,71 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
       q(0),
       ],
    q(surmiran idiom of romansh) => [
-      q(0056),
+      q(0060),
       q(0),
       ],
    q(sursilvan idiom of romansh) => [
-      q(0057),
+      q(0061),
       q(0),
       ],
    q(sutsilvan idiom of romansh) => [
-      q(0058),
+      q(0062),
       q(0),
       ],
    q(the balanka dialect of anii) => [
-      q(0012),
+      q(0014),
       q(0),
       ],
    q(the barlavento dialect group of kabuverdianu) => [
-      q(0013),
+      q(0015),
       q(0),
       ],
    q(the bila dialect of resian) => [
-      q(0016),
+      q(0018),
       q(1),
       ],
    q(the gniva dialect of resian) => [
-      q(0041),
+      q(0044),
       q(0),
       ],
    q(the kociewie dialect of polish) => [
-      q(0032),
+      q(0035),
       q(0),
       ],
    q(the lipovaz dialect of resian) => [
-      q(0035),
+      q(0038),
       q(0),
       ],
    q(the lipovec dialect of resian) => [
-      q(0035),
+      q(0038),
       q(1),
       ],
    q(the njiva dialect of resian) => [
-      q(0041),
+      q(0044),
       q(1),
       ],
    q(the oseacco dialect of resian) => [
-      q(0043),
+      q(0046),
       q(0),
       ],
    q(the osojane dialect of resian) => [
-      q(0043),
+      q(0046),
       q(1),
       ],
    q(the san giorgio dialect of resian) => [
-      q(0016),
+      q(0018),
       q(0),
       ],
    q(the solbica dialect of resian) => [
-      q(0054),
+      q(0058),
       q(1),
       ],
    q(the sotavento dialect group of kabuverdianu) => [
-      q(0055),
+      q(0059),
       q(0),
       ],
    q(the stolvizza dialect of resian) => [
-      q(0054),
+      q(0058),
       q(0),
       ],
    q(traditional german orthography) => [
@@ -526,67 +553,67 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
       q(0),
       ],
    q(ulster dialect of scots) => [
-      q(0062),
+      q(0066),
       q(0),
       ],
    q(unified cornish orthography of revived cornish) => [
-      q(0060),
+      q(0064),
       q(0),
       ],
    q(unified cornish revised orthography of revived cornish) => [
-      q(0061),
+      q(0065),
       q(0),
       ],
    q(unified turkic latin alphabet (historical)) => [
-      q(0011),
+      q(0013),
       q(0),
       ],
    q(unifon phonetic alphabet) => [
-      q(0063),
+      q(0067),
       q(0),
       ],
    q(uralic phonetic alphabet) => [
-      q(0023),
+      q(0026),
       q(0),
       ],
    q(valencian) => [
-      q(0065),
+      q(0069),
       q(0),
       ],
    q(vallader idiom of romansh) => [
-      q(0066),
+      q(0070),
       q(0),
       ],
    q(vedic sanskrit) => [
-      q(0064),
+      q(0068),
       q(0),
       ],
    q(volapuk nuladik) => [
-      q(0042),
+      q(0045),
       q(2),
       ],
    q(volapuk nulik) => [
-      q(0042),
+      q(0045),
       q(0),
       ],
    q(volapuk perevidol) => [
-      q(0042),
+      q(0045),
       q(1),
       ],
    q(volapuk rigik) => [
-      q(0049),
+      q(0053),
       q(0),
       ],
    q(wade-giles romanization) => [
-      q(0067),
+      q(0071),
       q(0),
       ],
    q(western armenian) => [
-      q(0010),
+      q(0012),
       q(0),
       ],
    q(x-sampa transcription) => [
-      q(0024),
+      q(0027),
       q(0),
       ],
 };
@@ -617,250 +644,266 @@ $Locale::Codes::Data{'langvar'}{'code2id'} = {
          q(0006),
          q(0),
          ],
-      q(alalc97) => [
+      q(abl1943) => [
          q(0007),
          q(0),
          ],
-      q(aluku) => [
+      q(alalc97) => [
          q(0008),
          q(0),
          ],
-      q(arevela) => [
+      q(aluku) => [
          q(0009),
          q(0),
          ],
-      q(arevmda) => [
+      q(ao1990) => [
          q(0010),
          q(0),
          ],
-      q(baku1926) => [
+      q(arevela) => [
          q(0011),
          q(0),
          ],
-      q(balanka) => [
+      q(arevmda) => [
          q(0012),
          q(0),
          ],
-      q(barla) => [
+      q(baku1926) => [
          q(0013),
          q(0),
          ],
-      q(bauddha) => [
+      q(balanka) => [
          q(0014),
          q(0),
          ],
-      q(biscayan) => [
+      q(barla) => [
          q(0015),
          q(0),
          ],
-      q(biske) => [
+      q(bauddha) => [
          q(0016),
          q(0),
          ],
-      q(bohoric) => [
+      q(biscayan) => [
          q(0017),
          q(0),
          ],
-      q(boont) => [
+      q(biske) => [
          q(0018),
          q(0),
          ],
-      q(dajnko) => [
+      q(bohoric) => [
          q(0019),
          q(0),
          ],
-      q(ekavsk) => [
+      q(boont) => [
          q(0020),
          q(0),
          ],
-      q(emodeng) => [
+      q(colb1945) => [
          q(0021),
          q(0),
          ],
-      q(fonipa) => [
+      q(dajnko) => [
          q(0022),
          q(0),
          ],
-      q(fonupa) => [
+      q(ekavsk) => [
          q(0023),
          q(0),
          ],
-      q(fonxsamp) => [
+      q(emodeng) => [
          q(0024),
          q(0),
          ],
-      q(hepburn) => [
+      q(fonipa) => [
          q(0025),
          q(0),
          ],
-      q(hognorsk) => [
+      q(fonupa) => [
          q(0026),
          q(0),
          ],
-      q(ijekavsk) => [
+      q(fonxsamp) => [
          q(0027),
          q(0),
          ],
-      q(itihasa) => [
+      q(hepburn) => [
          q(0028),
          q(0),
          ],
-      q(jauer) => [
+      q(hognorsk) => [
          q(0029),
          q(0),
          ],
-      q(jyutping) => [
+      q(ijekavsk) => [
          q(0030),
          q(0),
          ],
-      q(kkcor) => [
+      q(itihasa) => [
          q(0031),
          q(0),
          ],
-      q(kociewie) => [
+      q(jauer) => [
          q(0032),
          q(0),
          ],
-      q(kscor) => [
+      q(jyutping) => [
          q(0033),
          q(0),
          ],
-      q(laukika) => [
+      q(kkcor) => [
          q(0034),
          q(0),
          ],
-      q(lipaw) => [
+      q(kociewie) => [
          q(0035),
          q(0),
          ],
-      q(luna1918) => [
+      q(kscor) => [
          q(0036),
          q(0),
          ],
-      q(metelko) => [
+      q(laukika) => [
          q(0037),
          q(0),
          ],
-      q(monoton) => [
+      q(lipaw) => [
          q(0038),
          q(0),
          ],
-      q(ndyuka) => [
+      q(luna1918) => [
          q(0039),
          q(0),
          ],
-      q(nedis) => [
+      q(metelko) => [
          q(0040),
          q(0),
          ],
-      q(njiva) => [
+      q(monoton) => [
          q(0041),
          q(0),
          ],
-      q(nulik) => [
+      q(ndyuka) => [
          q(0042),
          q(0),
          ],
-      q(osojs) => [
+      q(nedis) => [
          q(0043),
          q(0),
          ],
-      q(pamaka) => [
+      q(njiva) => [
          q(0044),
          q(0),
          ],
-      q(petr1708) => [
+      q(nulik) => [
          q(0045),
          q(0),
          ],
-      q(pinyin) => [
+      q(osojs) => [
          q(0046),
          q(0),
          ],
-      q(polyton) => [
+      q(oxendict) => [
          q(0047),
          q(0),
          ],
-      q(puter) => [
+      q(pamaka) => [
          q(0048),
          q(0),
          ],
-      q(rigik) => [
+      q(petr1708) => [
          q(0049),
          q(0),
          ],
-      q(rozaj) => [
+      q(pinyin) => [
          q(0050),
          q(0),
          ],
-      q(rumgr) => [
+      q(polyton) => [
          q(0051),
          q(0),
          ],
-      q(scotland) => [
+      q(puter) => [
          q(0052),
          q(0),
          ],
-      q(scouse) => [
+      q(rigik) => [
          q(0053),
          q(0),
          ],
-      q(solba) => [
+      q(rozaj) => [
          q(0054),
          q(0),
          ],
-      q(sotav) => [
+      q(rumgr) => [
          q(0055),
          q(0),
          ],
-      q(surmiran) => [
+      q(scotland) => [
          q(0056),
          q(0),
          ],
-      q(sursilv) => [
+      q(scouse) => [
          q(0057),
          q(0),
          ],
-      q(sutsilv) => [
+      q(solba) => [
          q(0058),
          q(0),
          ],
-      q(tarask) => [
+      q(sotav) => [
          q(0059),
          q(0),
          ],
-      q(uccor) => [
+      q(surmiran) => [
          q(0060),
          q(0),
          ],
-      q(ucrcor) => [
+      q(sursilv) => [
          q(0061),
          q(0),
          ],
-      q(ulster) => [
+      q(sutsilv) => [
          q(0062),
          q(0),
          ],
-      q(unifon) => [
+      q(tarask) => [
          q(0063),
          q(0),
          ],
-      q(vaidika) => [
+      q(uccor) => [
          q(0064),
          q(0),
          ],
-      q(valencia) => [
+      q(ucrcor) => [
          q(0065),
          q(0),
          ],
-      q(vallader) => [
+      q(ulster) => [
          q(0066),
          q(0),
          ],
-      q(wadegile) => [
+      q(unifon) => [
          q(0067),
          q(0),
          ],
+      q(vaidika) => [
+         q(0068),
+         q(0),
+         ],
+      q(valencia) => [
+         q(0069),
+         q(0),
+         ],
+      q(vallader) => [
+         q(0070),
+         q(0),
+         ],
+      q(wadegile) => [
+         q(0071),
+         q(0),
+         ],
       },
 };
 
@@ -872,67 +915,71 @@ $Locale::Codes::Data{'langvar'}{'id2code'} = {
       q(0004) => q(1959acad),
       q(0005) => q(1994),
       q(0006) => q(1996),
-      q(0007) => q(alalc97),
-      q(0008) => q(aluku),
-      q(0009) => q(arevela),
-      q(0010) => q(arevmda),
-      q(0011) => q(baku1926),
-      q(0012) => q(balanka),
-      q(0013) => q(barla),
-      q(0014) => q(bauddha),
-      q(0015) => q(biscayan),
-      q(0016) => q(biske),
-      q(0017) => q(bohoric),
-      q(0018) => q(boont),
-      q(0019) => q(dajnko),
-      q(0020) => q(ekavsk),
-      q(0021) => q(emodeng),
-      q(0022) => q(fonipa),
-      q(0023) => q(fonupa),
-      q(0024) => q(fonxsamp),
-      q(0025) => q(hepburn),
-      q(0026) => q(hognorsk),
-      q(0027) => q(ijekavsk),
-      q(0028) => q(itihasa),
-      q(0029) => q(jauer),
-      q(0030) => q(jyutping),
-      q(0031) => q(kkcor),
-      q(0032) => q(kociewie),
-      q(0033) => q(kscor),
-      q(0034) => q(laukika),
-      q(0035) => q(lipaw),
-      q(0036) => q(luna1918),
-      q(0037) => q(metelko),
-      q(0038) => q(monoton),
-      q(0039) => q(ndyuka),
-      q(0040) => q(nedis),
-      q(0041) => q(njiva),
-      q(0042) => q(nulik),
-      q(0043) => q(osojs),
-      q(0044) => q(pamaka),
-      q(0045) => q(petr1708),
-      q(0046) => q(pinyin),
-      q(0047) => q(polyton),
-      q(0048) => q(puter),
-      q(0049) => q(rigik),
-      q(0050) => q(rozaj),
-      q(0051) => q(rumgr),
-      q(0052) => q(scotland),
-      q(0053) => q(scouse),
-      q(0054) => q(solba),
-      q(0055) => q(sotav),
-      q(0056) => q(surmiran),
-      q(0057) => q(sursilv),
-      q(0058) => q(sutsilv),
-      q(0059) => q(tarask),
-      q(0060) => q(uccor),
-      q(0061) => q(ucrcor),
-      q(0062) => q(ulster),
-      q(0063) => q(unifon),
-      q(0064) => q(vaidika),
-      q(0065) => q(valencia),
-      q(0066) => q(vallader),
-      q(0067) => q(wadegile),
+      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(bauddha),
+      q(0017) => q(biscayan),
+      q(0018) => q(biske),
+      q(0019) => q(bohoric),
+      q(0020) => q(boont),
+      q(0021) => q(colb1945),
+      q(0022) => q(dajnko),
+      q(0023) => q(ekavsk),
+      q(0024) => q(emodeng),
+      q(0025) => q(fonipa),
+      q(0026) => q(fonupa),
+      q(0027) => q(fonxsamp),
+      q(0028) => q(hepburn),
+      q(0029) => q(hognorsk),
+      q(0030) => q(ijekavsk),
+      q(0031) => q(itihasa),
+      q(0032) => q(jauer),
+      q(0033) => q(jyutping),
+      q(0034) => q(kkcor),
+      q(0035) => q(kociewie),
+      q(0036) => q(kscor),
+      q(0037) => q(laukika),
+      q(0038) => q(lipaw),
+      q(0039) => q(luna1918),
+      q(0040) => q(metelko),
+      q(0041) => q(monoton),
+      q(0042) => q(ndyuka),
+      q(0043) => q(nedis),
+      q(0044) => q(njiva),
+      q(0045) => q(nulik),
+      q(0046) => q(osojs),
+      q(0047) => q(oxendict),
+      q(0048) => q(pamaka),
+      q(0049) => q(petr1708),
+      q(0050) => q(pinyin),
+      q(0051) => q(polyton),
+      q(0052) => q(puter),
+      q(0053) => q(rigik),
+      q(0054) => q(rozaj),
+      q(0055) => q(rumgr),
+      q(0056) => q(scotland),
+      q(0057) => q(scouse),
+      q(0058) => q(solba),
+      q(0059) => q(sotav),
+      q(0060) => q(surmiran),
+      q(0061) => q(sursilv),
+      q(0062) => q(sutsilv),
+      q(0063) => q(tarask),
+      q(0064) => q(uccor),
+      q(0065) => q(ucrcor),
+      q(0066) => q(ulster),
+      q(0067) => q(unifon),
+      q(0068) => q(vaidika),
+      q(0069) => q(valencia),
+      q(0070) => q(vallader),
+      q(0071) => q(wadegile),
       },
 };
 
index 67ce0e9..0abf3fd 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangVar_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Feb 20 15:27:22 GMT 2015
+#    Generated on: Mon Jun  1 13:35:17 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,12 +11,13 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Retired{'langvar'}{'alpha'}{'code'} = {
 };
 
 $Locale::Codes::Retired{'langvar'}{'alpha'}{'name'} = {
+   q("academic" ("governmental") variant of belarusian as) => [ q(1959acad), q("Academic" ("governmental") variant of Belarusian as) ],
    q(slovene in bohoric alphabet) => [ q(bohoric), q(Slovene in Bohoric alphabet) ],
 };
 
index 3daf645..76fd54c 100644 (file)
@@ -22,7 +22,7 @@ use Locale::Codes::Language_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.34';
+$VERSION='3.35';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2language
                 language2code
index a914566..123d2a8 100644 (file)
@@ -16,7 +16,7 @@ Locale::Codes::Language - standard codes for language identification
 
 =head1 DESCRIPTION
 
-The C<Locale::Codes::Language> module provides access to standard codes used
+This module provides access to standard codes used
 for identifying languages, such as those as defined in ISO 639.
 
 Most of the routines take an optional additional argument which
@@ -63,33 +63,33 @@ ISO 639.
 
 =over 4
 
-=item B<code2language ( CODE [,CODESET] [,'retired'])>
+=item B<code2language(CODE [,CODESET] [,'retired'])>
 
-=item B<language2code ( NAME [,CODESET] [,'retired'])>
+=item B<language2code(NAME [,CODESET] [,'retired'])>
 
-=item B<language_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<language_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_language_codes ( [CODESET] [,'retired'])>
+=item B<all_language_codes([CODESET] [,'retired'])>
 
-=item B<all_language_names ( [CODESET] [,'retired'])>
+=item B<all_language_names([CODESET] [,'retired'])>
 
-=item B<Locale::Codes::Language::rename_language  ( CODE ,NEW_NAME [,CODESET] )>
+=item B<Locale::Codes::Language::rename_language(CODE ,NEW_NAME [,CODESET])>
 
-=item B<Locale::Codes::Language::add_language  ( CODE ,NAME [,CODESET] )>
+=item B<Locale::Codes::Language::add_language(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Codes::Language::delete_language  ( CODE [,CODESET] )>
+=item B<Locale::Codes::Language::delete_language(CODE [,CODESET])>
 
-=item B<Locale::Codes::Language::add_language_alias  ( NAME ,NEW_NAME )>
+=item B<Locale::Codes::Language::add_language_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::Language::delete_language_alias  ( NAME )>
+=item B<Locale::Codes::Language::delete_language_alias(NAME)>
 
-=item B<Locale::Codes::Language::rename_language_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::Language::rename_language_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::Language::add_language_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::Language::add_language_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::Language::delete_language_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Codes::Language::delete_language_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =back
 
@@ -97,23 +97,23 @@ These routines are all documented in the Locale::Codes::API man page.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<http://www.loc.gov/standards/iso639-2/>
+=item L<http://www.loc.gov/standards/iso639-2/>
 
 Source of the ISO 639-2 codes.
 
-=item B<http://www.loc.gov/standards/iso639-5/>
+=item L<http://www.loc.gov/standards/iso639-5/>
 
 Source of the ISO 639-5 codes.
 
-=item B<http://www.iana.org/assignments/language-subtag-registry>
+=item L<http://www.iana.org/assignments/language-subtag-registry>
 
 The IANA language subtag registry.
 
index 7c2fa83..b8ab44c 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Language_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Thu Feb 19 20:49:39 GMT 2015
+#    Generated on: Mon Jun  1 10:50:22 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Data{'language'}{'id'} = '7974';
 
@@ -7921,6 +7921,7 @@ $Locale::Codes::Data{'language'}{'id2names'} = {
       ],
    q(2574) => [
       q(//Gana),
+      q(Gana),
       ],
    q(2575) => [
       q(Gangulu),
@@ -7935,15341 +7936,15350 @@ $Locale::Codes::Data{'language'}{'id2names'} = {
       q(Northern Gondi),
       ],
    q(2579) => [
-      q(Gana),
-      ],
-   q(2580) => [
       q(Gureng Gureng),
       ],
-   q(2581) => [
+   q(2580) => [
       q(Guntai),
       ],
-   q(2582) => [
+   q(2581) => [
       q(Gnau),
       ],
-   q(2583) => [
+   q(2582) => [
       q(Western Bolivian Guarani),
       ],
-   q(2584) => [
+   q(2583) => [
       q(Ganzi),
       ],
-   q(2585) => [
+   q(2584) => [
       q(Guro),
       ],
-   q(2586) => [
+   q(2585) => [
       q(Playero),
       ],
-   q(2587) => [
+   q(2586) => [
       q(Gorakor),
       ],
-   q(2588) => [
+   q(2587) => [
       q(Godie),
       ],
-   q(2589) => [
+   q(2588) => [
       q(Gongduk),
       ],
-   q(2590) => [
+   q(2589) => [
       q(Gofa),
       ],
-   q(2591) => [
+   q(2590) => [
       q(Gogo),
       ],
-   q(2592) => [
+   q(2591) => [
       q(Gobasi),
       ],
-   q(2593) => [
+   q(2592) => [
       q(Gowlan),
       ],
-   q(2594) => [
+   q(2593) => [
       q(Gowli),
       ],
-   q(2595) => [
+   q(2594) => [
       q(Gola),
       ],
-   q(2596) => [
+   q(2595) => [
       q(Goan Konkani),
       ],
-   q(2597) => [
+   q(2596) => [
       q(Gone Dau),
       ],
-   q(2598) => [
+   q(2597) => [
       q(Yeretuar),
       ],
-   q(2599) => [
+   q(2598) => [
       q(Gorap),
       ],
-   q(2600) => [
+   q(2599) => [
       q(Gronings),
       ],
-   q(2601) => [
+   q(2600) => [
       q(Gavar),
       ],
-   q(2602) => [
+   q(2601) => [
       q(Gorowa),
       ],
-   q(2603) => [
+   q(2602) => [
       q(Gobu),
       ],
-   q(2604) => [
+   q(2603) => [
       q(Goundo),
       ],
-   q(2605) => [
+   q(2604) => [
       q(Gozarkhani),
       ],
-   q(2606) => [
+   q(2605) => [
       q(Gupa-Abawa),
       ],
-   q(2607) => [
+   q(2606) => [
       q(Ghanaian Pidgin English),
       ],
-   q(2608) => [
+   q(2607) => [
       q(Taiap),
       ],
-   q(2609) => [
+   q(2608) => [
       q(Ga'anda),
       ],
-   q(2610) => [
+   q(2609) => [
       q(Guiqiong),
       ],
-   q(2611) => [
+   q(2610) => [
       q(Guana (Brazil)),
       ],
-   q(2612) => [
+   q(2611) => [
       q(Gor),
       ],
-   q(2613) => [
+   q(2612) => [
       q(Qau),
       ],
-   q(2614) => [
+   q(2613) => [
       q(Rajput Garasia),
       ],
-   q(2615) => [
+   q(2614) => [
       q(Guruntum-Mbaaru),
       ],
-   q(2616) => [
+   q(2615) => [
       q(Madi),
       ],
-   q(2617) => [
+   q(2616) => [
       q(Gbiri-Niragu),
       ],
-   q(2618) => [
+   q(2617) => [
       q(Ghari),
       ],
-   q(2619) => [
+   q(2618) => [
       q(Southern Grebo),
       ],
-   q(2620) => [
+   q(2619) => [
       q(Kota Marudu Talantang),
       ],
-   q(2621) => [
+   q(2620) => [
       q(Groma),
       ],
-   q(2622) => [
+   q(2621) => [
       q(Gorovu),
       ],
-   q(2623) => [
+   q(2622) => [
       q(Taznatit),
       ],
-   q(2624) => [
+   q(2623) => [
       q(Gresi),
       ],
-   q(2625) => [
+   q(2624) => [
       q(Garo),
       ],
-   q(2626) => [
+   q(2625) => [
       q(Kistane),
       ],
-   q(2627) => [
+   q(2626) => [
       q(Central Grebo),
       ],
-   q(2628) => [
+   q(2627) => [
       q(Gweda),
       ],
-   q(2629) => [
+   q(2628) => [
       q(Guriaso),
       ],
-   q(2630) => [
+   q(2629) => [
       q(Barclayville Grebo),
       ],
-   q(2631) => [
+   q(2630) => [
       q(Guramalum),
       ],
-   q(2632) => [
+   q(2631) => [
       q(Ghanaian Sign Language),
       ],
-   q(2633) => [
+   q(2632) => [
       q(German Sign Language),
       ],
-   q(2634) => [
+   q(2633) => [
       q(Gusilay),
       ],
-   q(2635) => [
+   q(2634) => [
       q(Guatemalan Sign Language),
       ],
-   q(2636) => [
+   q(2635) => [
       q(Gusan),
       ],
-   q(2637) => [
+   q(2636) => [
       q(Southwest Gbaya),
       ],
-   q(2638) => [
+   q(2637) => [
       q(Wasembo),
       ],
-   q(2639) => [
+   q(2638) => [
       q(Greek Sign Language),
       ],
-   q(2640) => [
+   q(2639) => [
       q(Guato),
       ],
-   q(2641) => [
+   q(2640) => [
       q(Aghu-Tharnggala),
       ],
-   q(2642) => [
+   q(2641) => [
       q(Shiki),
       ],
-   q(2643) => [
+   q(2642) => [
       q(Guajajara),
       ],
-   q(2644) => [
+   q(2643) => [
       q(Wayuu),
       ],
-   q(2645) => [
+   q(2644) => [
       q(Yocoboue Dida),
       ],
-   q(2646) => [
+   q(2645) => [
       q(Gurinji),
       ],
-   q(2647) => [
+   q(2646) => [
       q(Gupapuyngu),
       ],
-   q(2648) => [
+   q(2647) => [
       q(Paraguayan Guarani),
       ],
-   q(2649) => [
+   q(2648) => [
       q(Guahibo),
       ],
-   q(2650) => [
+   q(2649) => [
       q(Eastern Bolivian Guarani),
       ],
-   q(2651) => [
+   q(2650) => [
       q(Gumuz),
       ],
-   q(2652) => [
+   q(2651) => [
       q(Sea Island Creole English),
       ],
-   q(2653) => [
+   q(2652) => [
       q(Guambiano),
       ],
-   q(2654) => [
+   q(2653) => [
       q(Mbya Guarani),
       ],
-   q(2655) => [
+   q(2654) => [
       q(Guayabero),
       ],
-   q(2656) => [
+   q(2655) => [
       q(Gunwinggu),
       ],
-   q(2657) => [
+   q(2656) => [
       q(Ache),
       ],
-   q(2658) => [
+   q(2657) => [
       q(Farefare),
       ],
-   q(2659) => [
+   q(2658) => [
       q(Guinean Sign Language),
       ],
-   q(2660) => [
+   q(2659) => [
       q(Maleku Jaika),
       ],
-   q(2661) => [
+   q(2660) => [
       q(Yanomamo),
       ],
-   q(2662) => [
+   q(2661) => [
       q(Gey),
       ],
-   q(2663) => [
+   q(2662) => [
       q(Gun),
       ],
-   q(2664) => [
+   q(2663) => [
       q(Gourmanchema),
       ],
-   q(2665) => [
+   q(2664) => [
       q(Gusii),
       q(Ekegusii),
       ],
-   q(2666) => [
+   q(2665) => [
       q(Guana (Paraguay)),
       ],
-   q(2667) => [
+   q(2666) => [
       q(Guanano),
       ],
-   q(2668) => [
+   q(2667) => [
       q(Duwet),
       ],
-   q(2669) => [
+   q(2668) => [
       q(Golin),
       ],
-   q(2670) => [
+   q(2669) => [
       q(Guaja),
       ],
-   q(2671) => [
+   q(2670) => [
       q(Gulay),
       ],
-   q(2672) => [
+   q(2671) => [
       q(Gurmana),
       ],
-   q(2673) => [
+   q(2672) => [
       q(Kuku-Yalanji),
       ],
-   q(2674) => [
+   q(2673) => [
       q(Gaviao Do Jiparana),
       ],
-   q(2675) => [
+   q(2674) => [
       q(Para Gaviao),
       ],
-   q(2676) => [
+   q(2675) => [
       q(Western Gurung),
       ],
-   q(2677) => [
+   q(2676) => [
       q(Gumawana),
       ],
-   q(2678) => [
+   q(2677) => [
       q(Guyani),
       ],
-   q(2679) => [
+   q(2678) => [
       q(Mbato),
       ],
-   q(2680) => [
+   q(2679) => [
       q(Gwa),
       ],
-   q(2681) => [
+   q(2680) => [
       q(Kalami),
       ],
-   q(2682) => [
+   q(2681) => [
       q(Gawwada),
       ],
-   q(2683) => [
+   q(2682) => [
       q(Gweno),
       ],
-   q(2684) => [
+   q(2683) => [
       q(Gowro),
       ],
-   q(2685) => [
+   q(2684) => [
       q(Moo),
       ],
-   q(2686) => [
+   q(2685) => [
       q(/Gwi),
+      q(Gwi),
       ],
-   q(2687) => [
+   q(2686) => [
       q(Awngthim),
       ],
-   q(2688) => [
+   q(2687) => [
       q(Gwandara),
       ],
-   q(2689) => [
+   q(2688) => [
       q(Gwere),
       ],
-   q(2690) => [
+   q(2689) => [
       q(Gawar-Bati),
       ],
-   q(2691) => [
+   q(2690) => [
       q(Guwamu),
       ],
-   q(2692) => [
+   q(2691) => [
       q(Kwini),
       ],
-   q(2693) => [
+   q(2692) => [
       q(Gua),
       ],
-   q(2694) => [
+   q(2693) => [
       q(We Southern),
       ],
-   q(2695) => [
+   q(2694) => [
       q(Northwest Gbaya),
       ],
-   q(2696) => [
+   q(2695) => [
       q(Garus),
       ],
-   q(2697) => [
+   q(2696) => [
       q(Kayardild),
       ],
-   q(2698) => [
+   q(2697) => [
       q(Gyem),
       ],
-   q(2699) => [
+   q(2698) => [
       q(Gungabula),
       ],
-   q(2700) => [
+   q(2699) => [
       q(Gbayi),
       ],
-   q(2701) => [
+   q(2700) => [
       q(Gyele),
       ],
-   q(2702) => [
+   q(2701) => [
       q(Gayil),
       ],
-   q(2703) => [
+   q(2702) => [
       q(Ngabere),
       ],
-   q(2704) => [
+   q(2703) => [
       q(Guyanese Creole English),
       ],
-   q(2705) => [
+   q(2704) => [
       q(Guarayu),
       ],
-   q(2706) => [
+   q(2705) => [
       q(Gunya),
       ],
-   q(2707) => [
+   q(2706) => [
       q(Ganza),
       ],
-   q(2708) => [
+   q(2707) => [
       q(Gazi),
       ],
-   q(2709) => [
+   q(2708) => [
       q(Gane),
       ],
-   q(2710) => [
+   q(2709) => [
       q(Han),
       ],
-   q(2711) => [
+   q(2710) => [
       q(Hanoi Sign Language),
       ],
-   q(2712) => [
+   q(2711) => [
       q(Gurani),
       ],
-   q(2713) => [
+   q(2712) => [
       q(Hatam),
       ],
-   q(2714) => [
+   q(2713) => [
       q(Eastern Oromo),
       ],
-   q(2715) => [
+   q(2714) => [
       q(Haiphong Sign Language),
       ],
-   q(2716) => [
+   q(2715) => [
       q(Hanga),
       ],
-   q(2717) => [
+   q(2716) => [
       q(Hahon),
       ],
-   q(2718) => [
+   q(2717) => [
       q(Hajong),
       ],
-   q(2719) => [
+   q(2718) => [
       q(Hakka Chinese),
       ],
-   q(2720) => [
+   q(2719) => [
       q(Halang),
       ],
-   q(2721) => [
+   q(2720) => [
       q(Hewa),
       ],
-   q(2722) => [
+   q(2721) => [
       q(Hangaza),
       ],
-   q(2723) => [
+   q(2722) => [
       q(Hako),
       ],
-   q(2724) => [
+   q(2723) => [
       q(Hupla),
       ],
-   q(2725) => [
+   q(2724) => [
       q(Ha),
       ],
-   q(2726) => [
+   q(2725) => [
       q(Harari),
       ],
-   q(2727) => [
+   q(2726) => [
       q(Haisla),
       ],
-   q(2728) => [
+   q(2727) => [
       q(Havu),
       ],
-   q(2729) => [
+   q(2728) => [
       q(Southern Haida),
       ],
-   q(2730) => [
+   q(2729) => [
       q(Haya),
       ],
-   q(2731) => [
+   q(2730) => [
       q(Hazaragi),
       ],
-   q(2732) => [
+   q(2731) => [
       q(Hamba),
       ],
-   q(2733) => [
+   q(2732) => [
       q(Huba),
       ],
-   q(2734) => [
+   q(2733) => [
       q(Heiban),
       ],
-   q(2735) => [
+   q(2734) => [
       q(Ancient Hebrew),
       ],
-   q(2736) => [
+   q(2735) => [
       q(Habu),
       ],
-   q(2737) => [
+   q(2736) => [
       q(Andaman Creole Hindi),
       ],
-   q(2738) => [
+   q(2737) => [
       q(Huichol),
       ],
-   q(2739) => [
+   q(2738) => [
       q(Northern Haida),
       ],
-   q(2740) => [
+   q(2739) => [
       q(Honduras Sign Language),
       ],
-   q(2741) => [
+   q(2740) => [
       q(Hadiyya),
       ],
-   q(2742) => [
+   q(2741) => [
       q(Northern Qiandong Miao),
       ],
-   q(2743) => [
+   q(2742) => [
       q(Herde),
       ],
-   q(2744) => [
+   q(2743) => [
       q(Helong),
       ],
-   q(2745) => [
+   q(2744) => [
       q(Hehe),
       ],
-   q(2746) => [
+   q(2745) => [
       q(Heiltsuk),
       ],
-   q(2747) => [
+   q(2746) => [
       q(Hemba),
       ],
-   q(2748) => [
+   q(2747) => [
       q(Hai//om),
+      q(Haiom),
       ],
-   q(2749) => [
+   q(2748) => [
       q(Haigwai),
       ],
-   q(2750) => [
+   q(2749) => [
       q(Hoia Hoia),
       ],
-   q(2751) => [
+   q(2750) => [
       q(Kerak),
       ],
-   q(2752) => [
+   q(2751) => [
       q(Hoyahoya),
       ],
-   q(2753) => [
+   q(2752) => [
       q(Lamang),
       ],
-   q(2754) => [
+   q(2753) => [
       q(Hibito),
       ],
-   q(2755) => [
+   q(2754) => [
       q(Hidatsa),
       ],
-   q(2756) => [
+   q(2755) => [
       q(Fiji Hindi),
       ],
-   q(2757) => [
+   q(2756) => [
       q(Kamwe),
       ],
-   q(2758) => [
+   q(2757) => [
       q(Pamosu),
       ],
-   q(2759) => [
+   q(2758) => [
       q(Hinduri),
       ],
-   q(2760) => [
+   q(2759) => [
       q(Hijuk),
       ],
-   q(2761) => [
+   q(2760) => [
       q(Seit-Kaitetu),
       ],
-   q(2762) => [
+   q(2761) => [
       q(Tsoa),
       ],
-   q(2763) => [
+   q(2762) => [
       q(Himarima),
       ],
-   q(2764) => [
+   q(2763) => [
       q(Hiw),
       ],
-   q(2765) => [
+   q(2764) => [
       q(Hixkaryana),
       ],
-   q(2766) => [
+   q(2765) => [
       q(Haji),
       ],
-   q(2767) => [
+   q(2766) => [
       q(Kahe),
       ],
-   q(2768) => [
+   q(2767) => [
       q(Hunde),
       ],
-   q(2769) => [
+   q(2768) => [
       q(Hunjara-Kaina Ke),
       ],
-   q(2770) => [
+   q(2769) => [
       q(Hong Kong Sign Language),
       q(Heung Kong Sau Yue),
       ],
-   q(2771) => [
+   q(2770) => [
       q(Halia),
       ],
-   q(2772) => [
+   q(2771) => [
       q(Halbi),
       ],
-   q(2773) => [
+   q(2772) => [
       q(Halang Doan),
       ],
-   q(2774) => [
+   q(2773) => [
       q(Hlersu),
       ],
-   q(2775) => [
+   q(2774) => [
       q(Matu Chin),
       ],
-   q(2776) => [
+   q(2775) => [
       q(Hieroglyphic Luwian),
       ],
-   q(2777) => [
+   q(2776) => [
       q(Southern Mashan Hmong),
       q(Southern Mashan Miao),
       ],
-   q(2778) => [
+   q(2777) => [
       q(Humburi Senni Songhay),
       ],
-   q(2779) => [
+   q(2778) => [
       q(Central Huishui Hmong),
       q(Central Huishui Miao),
       ],
-   q(2780) => [
+   q(2779) => [
       q(Large Flowery Miao),
       q(A-hmaos),
       q(Da-Hua Miao),
       ],
-   q(2781) => [
+   q(2780) => [
       q(Eastern Huishui Hmong),
       q(Eastern Huishui Miao),
       ],
-   q(2782) => [
+   q(2781) => [
       q(Hmong Don),
       ],
-   q(2783) => [
+   q(2782) => [
       q(Southwestern Guiyang Hmong),
       ],
-   q(2784) => [
+   q(2783) => [
       q(Southwestern Huishui Hmong),
       q(Southwestern Huishui Miao),
       ],
-   q(2785) => [
+   q(2784) => [
       q(Northern Huishui Hmong),
       q(Northern Huishui Miao),
       ],
-   q(2786) => [
+   q(2785) => [
       q(Ge),
       q(Gejia),
       ],
-   q(2787) => [
+   q(2786) => [
       q(Maek),
       ],
-   q(2788) => [
+   q(2787) => [
       q(Luopohe Hmong),
       q(Luopohe Miao),
       ],
-   q(2789) => [
+   q(2788) => [
       q(Central Mashan Hmong),
       q(Central Mashan Miao),
       ],
-   q(2790) => [
+   q(2789) => [
       q(Northern Mashan Hmong),
       q(Northern Mashan Miao),
       ],
-   q(2791) => [
+   q(2790) => [
       q(Eastern Qiandong Miao),
       ],
-   q(2792) => [
+   q(2791) => [
       q(Hmar),
       ],
-   q(2793) => [
+   q(2792) => [
       q(Southern Qiandong Miao),
       ],
-   q(2794) => [
+   q(2793) => [
       q(Hamtai),
       ],
-   q(2795) => [
+   q(2794) => [
       q(Hamap),
       ],
-   q(2796) => [
+   q(2795) => [
       q(Hmong Do),
       ],
-   q(2797) => [
+   q(2796) => [
       q(Western Mashan Hmong),
       q(Western Mashan Miao),
       ],
-   q(2798) => [
+   q(2797) => [
       q(Southern Guiyang Hmong),
       q(Southern Guiyang Miao),
       ],
-   q(2799) => [
+   q(2798) => [
       q(Hmong Shua),
       q(Sinicized Miao),
       ],
-   q(2800) => [
+   q(2799) => [
       q(Mina (Cameroon)),
       ],
-   q(2801) => [
+   q(2800) => [
       q(Southern Hindko),
       ],
-   q(2802) => [
+   q(2801) => [
       q(Chhattisgarhi),
       ],
-   q(2803) => [
+   q(2802) => [
       q(//Ani),
+      q(Ani),
       ],
-   q(2804) => [
+   q(2803) => [
       q(Hani),
       ],
-   q(2805) => [
+   q(2804) => [
       q(Hmong Njua),
       q(Mong Leng),
       q(Mong Njua),
       ],
-   q(2806) => [
+   q(2805) => [
       q(Hanunoo),
       ],
-   q(2807) => [
+   q(2806) => [
       q(Northern Hindko),
       ],
-   q(2808) => [
+   q(2807) => [
       q(Caribbean Hindustani),
       ],
-   q(2809) => [
+   q(2808) => [
       q(Hung),
       ],
-   q(2810) => [
+   q(2809) => [
       q(Hoava),
       ],
-   q(2811) => [
+   q(2810) => [
       q(Mari (Madang Province)),
       ],
-   q(2812) => [
+   q(2811) => [
       q(Ho),
       ],
-   q(2813) => [
+   q(2812) => [
       q(Holma),
       ],
-   q(2814) => [
+   q(2813) => [
       q(Horom),
       ],
-   q(2815) => [
+   q(2814) => [
       q(Hobyot),
       ],
-   q(2816) => [
+   q(2815) => [
       q(Holikachuk),
       ],
-   q(2817) => [
+   q(2816) => [
       q(Hadothi),
       q(Haroti),
       ],
-   q(2818) => [
+   q(2817) => [
       q(Holu),
       ],
-   q(2819) => [
+   q(2818) => [
       q(Homa),
       ],
-   q(2820) => [
+   q(2819) => [
       q(Holoholo),
       ],
-   q(2821) => [
+   q(2820) => [
       q(Hopi),
       ],
-   q(2822) => [
+   q(2821) => [
       q(Horo),
       ],
-   q(2823) => [
+   q(2822) => [
       q(Ho Chi Minh City Sign Language),
       ],
-   q(2824) => [
+   q(2823) => [
       q(Hote),
       q(Male),
       ],
-   q(2825) => [
+   q(2824) => [
       q(Hovongan),
       ],
-   q(2826) => [
+   q(2825) => [
       q(Honi),
       ],
-   q(2827) => [
+   q(2826) => [
       q(Holiya),
       ],
-   q(2828) => [
+   q(2827) => [
       q(Hozo),
       ],
-   q(2829) => [
+   q(2828) => [
       q(Hpon),
       ],
-   q(2830) => [
+   q(2829) => [
       q(Hawai'i Sign Language (HSL)),
       q(Hawai'i Pidgin Sign Language),
       ],
-   q(2831) => [
+   q(2830) => [
       q(Hrangkhol),
       ],
-   q(2832) => [
+   q(2831) => [
       q(Niwer Mil),
       ],
-   q(2833) => [
+   q(2832) => [
       q(Hre),
       ],
-   q(2834) => [
+   q(2833) => [
       q(Haruku),
       ],
-   q(2835) => [
+   q(2834) => [
       q(Horned Miao),
       ],
-   q(2836) => [
+   q(2835) => [
       q(Haroi),
       ],
-   q(2837) => [
+   q(2836) => [
       q(Nhirrpi),
       ],
-   q(2838) => [
+   q(2837) => [
       q(Hertevin),
       ],
-   q(2839) => [
+   q(2838) => [
       q(Hruso),
       ],
-   q(2840) => [
+   q(2839) => [
       q(Warwar Feni),
       ],
-   q(2841) => [
+   q(2840) => [
       q(Hunsrik),
       ],
-   q(2842) => [
+   q(2841) => [
       q(Harzani),
       ],
-   q(2843) => [
+   q(2842) => [
       q(Hungarian Sign Language),
       ],
-   q(2844) => [
+   q(2843) => [
       q(Hausa Sign Language),
       ],
-   q(2845) => [
+   q(2844) => [
       q(Xiang Chinese),
       ],
-   q(2846) => [
+   q(2845) => [
       q(Harsusi),
       ],
-   q(2847) => [
+   q(2846) => [
       q(Hoti),
       ],
-   q(2848) => [
+   q(2847) => [
       q(Minica Huitoto),
       ],
-   q(2849) => [
+   q(2848) => [
       q(Hadza),
       ],
-   q(2850) => [
+   q(2849) => [
       q(Hitu),
       ],
-   q(2851) => [
+   q(2850) => [
       q(Middle Hittite),
       ],
-   q(2852) => [
+   q(2851) => [
       q(Huambisa),
       ],
-   q(2853) => [
+   q(2852) => [
       q(=/Hua),
+      q(Hua),
       ],
-   q(2854) => [
+   q(2853) => [
       q(Huaulu),
       ],
-   q(2855) => [
+   q(2854) => [
       q(San Francisco Del Mar Huave),
       ],
-   q(2856) => [
+   q(2855) => [
       q(Humene),
       ],
-   q(2857) => [
+   q(2856) => [
       q(Huachipaeri),
       ],
-   q(2858) => [
+   q(2857) => [
       q(Huilliche),
       ],
-   q(2859) => [
+   q(2858) => [
       q(Huli),
       ],
-   q(2860) => [
+   q(2859) => [
       q(Northern Guiyang Hmong),
       q(Northern Guiyang Miao),
       ],
-   q(2861) => [
+   q(2860) => [
       q(Hulung),
       ],
-   q(2862) => [
+   q(2861) => [
       q(Hula),
       ],
-   q(2863) => [
+   q(2862) => [
       q(Hungana),
       ],
-   q(2864) => [
+   q(2863) => [
       q(Hu),
       ],
-   q(2865) => [
+   q(2864) => [
       q(Tsat),
       ],
-   q(2866) => [
+   q(2865) => [
       q(Halkomelem),
       ],
-   q(2867) => [
+   q(2866) => [
       q(Huastec),
       ],
-   q(2868) => [
+   q(2867) => [
       q(Humla),
       ],
-   q(2869) => [
+   q(2868) => [
       q(Murui Huitoto),
       ],
-   q(2870) => [
+   q(2869) => [
       q(San Mateo Del Mar Huave),
       ],
-   q(2871) => [
+   q(2870) => [
       q(Hukumina),
       ],
-   q(2872) => [
+   q(2871) => [
       q(Nupode Huitoto),
       ],
-   q(2873) => [
+   q(2872) => [
       q(Hulaula),
       ],
-   q(2874) => [
+   q(2873) => [
       q(Hunzib),
       ],
-   q(2875) => [
+   q(2874) => [
       q(Haitian Vodoun Culture Language),
       ],
-   q(2876) => [
+   q(2875) => [
       q(San Dionisio Del Mar Huave),
       ],
-   q(2877) => [
+   q(2876) => [
       q(Haveke),
       ],
-   q(2878) => [
+   q(2877) => [
       q(Sabu),
       ],
-   q(2879) => [
+   q(2878) => [
       q(Santa Maria Del Mar Huave),
       ],
-   q(2880) => [
+   q(2879) => [
       q(Wane),
       ],
-   q(2881) => [
+   q(2880) => [
       q(Hawai'i Creole English),
       q(Hawai'i Pidgin),
       ],
-   q(2882) => [
+   q(2881) => [
       q(Hwana),
       ],
-   q(2883) => [
+   q(2882) => [
       q(Hya),
       ],
-   q(2884) => [
+   q(2883) => [
       q(Iaai),
       ],
-   q(2885) => [
+   q(2884) => [
       q(Iatmul),
       ],
-   q(2886) => [
+   q(2885) => [
       q(Iapama),
       ],
-   q(2887) => [
+   q(2886) => [
       q(Purari),
       ],
-   q(2888) => [
+   q(2887) => [
       q(Ibibio),
       ],
-   q(2889) => [
+   q(2888) => [
       q(Iwaidja),
       ],
-   q(2890) => [
+   q(2889) => [
       q(Akpes),
       ],
-   q(2891) => [
+   q(2890) => [
       q(Ibanag),
       ],
-   q(2892) => [
+   q(2891) => [
       q(Ibaloi),
       ],
-   q(2893) => [
+   q(2892) => [
       q(Agoi),
       ],
-   q(2894) => [
+   q(2893) => [
       q(Ibino),
       ],
-   q(2895) => [
+   q(2894) => [
       q(Ibuoro),
       ],
-   q(2896) => [
+   q(2895) => [
       q(Ibu),
       ],
-   q(2897) => [
+   q(2896) => [
       q(Ibani),
       ],
-   q(2898) => [
+   q(2897) => [
       q(Ede Ica),
       ],
-   q(2899) => [
+   q(2898) => [
       q(Etkywan),
       ],
-   q(2900) => [
+   q(2899) => [
       q(Icelandic Sign Language),
       ],
-   q(2901) => [
+   q(2900) => [
       q(Islander Creole English),
       ],
-   q(2902) => [
+   q(2901) => [
       q(Idakho-Isukha-Tiriki),
       q(Luidakho-Luisukha-Lutirichi),
       ],
-   q(2903) => [
+   q(2902) => [
       q(Indo-Portuguese),
       ],
-   q(2904) => [
+   q(2903) => [
       q(Idon),
       q(Ajiya),
       ],
-   q(2905) => [
+   q(2904) => [
       q(Ede Idaca),
       ],
-   q(2906) => [
+   q(2905) => [
       q(Idere),
       ],
-   q(2907) => [
+   q(2906) => [
       q(Idi),
       ],
-   q(2908) => [
+   q(2907) => [
       q(Indri),
       ],
-   q(2909) => [
+   q(2908) => [
       q(Idesa),
       ],
-   q(2910) => [
+   q(2909) => [
       q(Idate),
       ],
-   q(2911) => [
+   q(2910) => [
       q(Idoma),
       ],
-   q(2912) => [
+   q(2911) => [
       q(Amganad Ifugao),
       ],
-   q(2913) => [
+   q(2912) => [
       q(Batad Ifugao),
       q(Ayangan Ifugao),
       ],
-   q(2914) => [
+   q(2913) => [
       q(Ife),
       ],
-   q(2915) => [
+   q(2914) => [
       q(Ifo),
       ],
-   q(2916) => [
+   q(2915) => [
       q(Tuwali Ifugao),
       ],
-   q(2917) => [
+   q(2916) => [
       q(Teke-Fuumu),
       ],
-   q(2918) => [
+   q(2917) => [
       q(Mayoyao Ifugao),
       ],
-   q(2919) => [
+   q(2918) => [
       q(Keley-I Kallahan),
       ],
-   q(2920) => [
+   q(2919) => [
       q(Ebira),
       ],
-   q(2921) => [
+   q(2920) => [
       q(Igede),
       ],
-   q(2922) => [
+   q(2921) => [
       q(Igana),
       ],
-   q(2923) => [
+   q(2922) => [
       q(Igala),
       ],
-   q(2924) => [
+   q(2923) => [
       q(Kanggape),
       ],
-   q(2925) => [
+   q(2924) => [
       q(Ignaciano),
       ],
-   q(2926) => [
+   q(2925) => [
       q(Isebe),
       ],
-   q(2927) => [
+   q(2926) => [
       q(Interglossa),
       ],
-   q(2928) => [
+   q(2927) => [
       q(Igwe),
       ],
-   q(2929) => [
+   q(2928) => [
       q(Iha Based Pidgin),
       ],
-   q(2930) => [
+   q(2929) => [
       q(Ihievbe),
       ],
-   q(2931) => [
+   q(2930) => [
       q(Iha),
       ],
-   q(2932) => [
+   q(2931) => [
       q(Bidhawal),
       ],
-   q(2933) => [
+   q(2932) => [
       q(Thiin),
       ],
-   q(2934) => [
+   q(2933) => [
       q(Izon),
       ],
-   q(2935) => [
+   q(2934) => [
       q(Biseni),
       ],
-   q(2936) => [
+   q(2935) => [
       q(Ede Ije),
       ],
-   q(2937) => [
+   q(2936) => [
       q(Kalabari),
       ],
-   q(2938) => [
+   q(2937) => [
       q(Southeast Ijo),
       ],
-   q(2939) => [
+   q(2938) => [
       q(Eastern Canadian Inuktitut),
       ],
-   q(2940) => [
+   q(2939) => [
       q(Iko),
       ],
-   q(2941) => [
+   q(2940) => [
       q(Ika),
       ],
-   q(2942) => [
+   q(2941) => [
       q(Ikulu),
       ],
-   q(2943) => [
+   q(2942) => [
       q(Olulumo-Ikom),
       ],
-   q(2944) => [
+   q(2943) => [
       q(Ikpeshi),
       ],
-   q(2945) => [
+   q(2944) => [
       q(Ikaranggal),
       ],
-   q(2946) => [
+   q(2945) => [
       q(Inuit Sign Language),
       ],
-   q(2947) => [
+   q(2946) => [
       q(Inuinnaqtun),
       q(Western Canadian Inuktitut),
       ],
-   q(2948) => [
+   q(2947) => [
       q(Iku-Gora-Ankwa),
       ],
-   q(2949) => [
+   q(2948) => [
       q(Ikwere),
       ],
-   q(2950) => [
+   q(2949) => [
       q(Ik),
       ],
-   q(2951) => [
+   q(2950) => [
       q(Ikizu),
       ],
-   q(2952) => [
+   q(2951) => [
       q(Ile Ape),
       ],
-   q(2953) => [
+   q(2952) => [
       q(Ila),
       ],
-   q(2954) => [
+   q(2953) => [
       q(Garig-Ilgar),
       ],
-   q(2955) => [
+   q(2954) => [
       q(Ili Turki),
       ],
-   q(2956) => [
+   q(2955) => [
       q(Ilongot),
       ],
-   q(2957) => [
+   q(2956) => [
       q(Iranun),
       ],
-   q(2958) => [
+   q(2957) => [
       q(International Sign),
       ],
-   q(2959) => [
+   q(2958) => [
       q(Ili'uun),
       ],
-   q(2960) => [
+   q(2959) => [
       q(Ilue),
       ],
-   q(2961) => [
+   q(2960) => [
       q(Mala Malasar),
       ],
-   q(2962) => [
+   q(2961) => [
       q(Anamgura),
       ],
-   q(2963) => [
+   q(2962) => [
       q(Miluk),
       ],
-   q(2964) => [
+   q(2963) => [
       q(Imonda),
       ],
-   q(2965) => [
+   q(2964) => [
       q(Imbongu),
       ],
-   q(2966) => [
+   q(2965) => [
       q(Imroing),
       ],
-   q(2967) => [
+   q(2966) => [
       q(Marsian),
       ],
-   q(2968) => [
+   q(2967) => [
       q(Milyan),
       ],
-   q(2969) => [
+   q(2968) => [
       q(Inga),
       ],
-   q(2970) => [
+   q(2969) => [
       q(Degexit'an),
       ],
-   q(2971) => [
+   q(2970) => [
       q(Jungle Inga),
       ],
-   q(2972) => [
+   q(2971) => [
       q(Indonesian Sign Language),
       ],
-   q(2973) => [
+   q(2972) => [
       q(Minaean),
       ],
-   q(2974) => [
+   q(2973) => [
       q(Isinai),
       ],
-   q(2975) => [
+   q(2974) => [
       q(Inoke-Yate),
       ],
-   q(2976) => [
+   q(2975) => [
       q(Inapari),
       ],
-   q(2977) => [
+   q(2976) => [
       q(Indian Sign Language),
       ],
-   q(2978) => [
+   q(2977) => [
       q(Intha),
       ],
-   q(2979) => [
+   q(2978) => [
       q(Ineseno),
       ],
-   q(2980) => [
+   q(2979) => [
       q(Inor),
       ],
-   q(2981) => [
+   q(2980) => [
       q(Tuma-Irumu),
       ],
-   q(2982) => [
+   q(2981) => [
       q(Iowa-Oto),
       ],
-   q(2983) => [
+   q(2982) => [
       q(Ipili),
       ],
-   q(2984) => [
+   q(2983) => [
       q(Ipiko),
       ],
-   q(2985) => [
+   q(2984) => [
       q(Iquito),
       ],
-   q(2986) => [
+   q(2985) => [
       q(Ikwo),
       ],
-   q(2987) => [
+   q(2986) => [
       q(Iresim),
       ],
-   q(2988) => [
+   q(2987) => [
       q(Irarutu),
       ],
-   q(2989) => [
+   q(2988) => [
       q(Irigwe),
       ],
-   q(2990) => [
+   q(2989) => [
       q(Iraqw),
       ],
-   q(2991) => [
+   q(2990) => [
       q(Irantxe),
       ],
-   q(2992) => [
+   q(2991) => [
       q(Ir),
       ],
-   q(2993) => [
+   q(2992) => [
       q(Irula),
       ],
-   q(2994) => [
+   q(2993) => [
       q(Kamberau),
       ],
-   q(2995) => [
+   q(2994) => [
       q(Iraya),
       ],
-   q(2996) => [
+   q(2995) => [
       q(Isabi),
       ],
-   q(2997) => [
+   q(2996) => [
       q(Isconahua),
       ],
-   q(2998) => [
+   q(2997) => [
       q(Isnag),
       ],
-   q(2999) => [
+   q(2998) => [
       q(Italian Sign Language),
       ],
-   q(3000) => [
+   q(2999) => [
       q(Irish Sign Language),
       ],
-   q(3001) => [
+   q(3000) => [
       q(Esan),
       ],
-   q(3002) => [
+   q(3001) => [
       q(Nkem-Nkum),
       ],
-   q(3003) => [
+   q(3002) => [
       q(Ishkashimi),
       ],
-   q(3004) => [
+   q(3003) => [
       q(Masimasi),
       ],
-   q(3005) => [
+   q(3004) => [
       q(Isanzu),
       ],
-   q(3006) => [
+   q(3005) => [
       q(Isoko),
       ],
-   q(3007) => [
+   q(3006) => [
       q(Israeli Sign Language),
       ],
-   q(3008) => [
+   q(3007) => [
       q(Istriot),
       ],
-   q(3009) => [
+   q(3008) => [
       q(Isu (Menchum Division)),
       ],
-   q(3010) => [
+   q(3009) => [
       q(Binongan Itneg),
       ],
-   q(3011) => [
+   q(3010) => [
       q(Itene),
       ],
-   q(3012) => [
+   q(3011) => [
       q(Inlaod Itneg),
       ],
-   q(3013) => [
+   q(3012) => [
       q(Judeo-Italian),
       ],
-   q(3014) => [
+   q(3013) => [
       q(Itelmen),
       ],
-   q(3015) => [
+   q(3014) => [
       q(Itu Mbon Uzo),
       ],
-   q(3016) => [
+   q(3015) => [
       q(Itonama),
       ],
-   q(3017) => [
+   q(3016) => [
       q(Iteri),
       ],
-   q(3018) => [
+   q(3017) => [
       q(Isekiri),
       ],
-   q(3019) => [
+   q(3018) => [
       q(Maeng Itneg),
       ],
-   q(3020) => [
+   q(3019) => [
       q(Itawit),
       ],
-   q(3021) => [
+   q(3020) => [
       q(Ito),
       ],
-   q(3022) => [
+   q(3021) => [
       q(Itik),
       ],
-   q(3023) => [
+   q(3022) => [
       q(Moyadan Itneg),
       ],
-   q(3024) => [
+   q(3023) => [
       q(Itza),
       ],
-   q(3025) => [
+   q(3024) => [
       q(Iu Mien),
       ],
-   q(3026) => [
+   q(3025) => [
       q(Ibatan),
       ],
-   q(3027) => [
+   q(3026) => [
       q(Ivatan),
       ],
-   q(3028) => [
+   q(3027) => [
       q(I-Wak),
       ],
-   q(3029) => [
+   q(3028) => [
       q(Iwam),
       ],
-   q(3030) => [
+   q(3029) => [
       q(Iwur),
       ],
-   q(3031) => [
+   q(3030) => [
       q(Sepik Iwam),
       ],
-   q(3032) => [
+   q(3031) => [
       q(Ixcatec),
       ],
-   q(3033) => [
+   q(3032) => [
       q(Ixil),
       ],
-   q(3034) => [
+   q(3033) => [
       q(Iyayu),
       ],
-   q(3035) => [
+   q(3034) => [
       q(Mesaka),
       ],
-   q(3036) => [
+   q(3035) => [
       q(Yaka (Congo)),
       ],
-   q(3037) => [
+   q(3036) => [
       q(Ingrian),
       ],
-   q(3038) => [
+   q(3037) => [
       q(Izere),
       ],
-   q(3039) => [
+   q(3038) => [
       q(Izii),
       ],
-   q(3040) => [
+   q(3039) => [
       q(Jamamadi),
       ],
-   q(3041) => [
+   q(3040) => [
       q(Hyam),
       ],
-   q(3042) => [
+   q(3041) => [
       q(Popti'),
       q(Jakalteko),
       ],
-   q(3043) => [
+   q(3042) => [
       q(Jahanka),
       ],
-   q(3044) => [
+   q(3043) => [
       q(Yabem),
       ],
-   q(3045) => [
+   q(3044) => [
       q(Jara),
       ],
-   q(3046) => [
+   q(3045) => [
       q(Jah Hut),
       ],
-   q(3047) => [
+   q(3046) => [
       q(Zazao),
       ],
-   q(3048) => [
+   q(3047) => [
       q(Jakun),
       ],
-   q(3049) => [
+   q(3048) => [
       q(Yalahatan),
       ],
-   q(3050) => [
+   q(3049) => [
       q(Jamaican Creole English),
       ],
-   q(3051) => [
+   q(3050) => [
       q(Jandai),
       ],
-   q(3052) => [
+   q(3051) => [
       q(Yanyuwa),
       ],
-   q(3053) => [
+   q(3052) => [
       q(Yaqay),
       ],
-   q(3054) => [
+   q(3053) => [
       q(New Caledonian Javanese),
       ],
-   q(3055) => [
+   q(3054) => [
       q(Jakati),
       ],
-   q(3056) => [
+   q(3055) => [
       q(Yaur),
       ],
-   q(3057) => [
+   q(3056) => [
       q(Jambi Malay),
       ],
-   q(3058) => [
+   q(3057) => [
       q(Yan-nhangu),
       ],
-   q(3059) => [
+   q(3058) => [
       q(Jawe),
       ],
-   q(3060) => [
+   q(3059) => [
       q(Judeo-Berber),
       ],
-   q(3061) => [
+   q(3060) => [
       q(Badjiri),
       ],
-   q(3062) => [
+   q(3061) => [
       q(Arandai),
       ],
-   q(3063) => [
+   q(3062) => [
       q(Barikewa),
       ],
-   q(3064) => [
+   q(3063) => [
       q(Nafusi),
       ],
-   q(3065) => [
+   q(3064) => [
       q(Jofotek-Bromnya),
       ],
-   q(3066) => [
+   q(3065) => [
       q(Jabuti),
       ],
-   q(3067) => [
+   q(3066) => [
       q(Jukun Takum),
       ],
-   q(3068) => [
+   q(3067) => [
       q(Yawijibaya),
       ],
-   q(3069) => [
+   q(3068) => [
       q(Jamaican Country Sign Language),
       ],
-   q(3070) => [
+   q(3069) => [
       q(Krymchak),
       ],
-   q(3071) => [
+   q(3070) => [
       q(Jad),
       ],
-   q(3072) => [
+   q(3071) => [
       q(Jadgali),
       ],
-   q(3073) => [
+   q(3072) => [
       q(Judeo-Tat),
       ],
-   q(3074) => [
+   q(3073) => [
       q(Jebero),
       ],
-   q(3075) => [
+   q(3074) => [
       q(Jerung),
       ],
-   q(3076) => [
+   q(3075) => [
       q(Jeng),
       ],
-   q(3077) => [
+   q(3076) => [
       q(Jeh),
       ],
-   q(3078) => [
+   q(3077) => [
       q(Yei),
       ],
-   q(3079) => [
+   q(3078) => [
       q(Jeri Kuo),
       ],
-   q(3080) => [
+   q(3079) => [
       q(Yelmek),
       ],
-   q(3081) => [
+   q(3080) => [
       q(Dza),
       ],
-   q(3082) => [
+   q(3081) => [
       q(Jere),
       ],
-   q(3083) => [
+   q(3082) => [
       q(Manem),
       ],
-   q(3084) => [
+   q(3083) => [
       q(Jonkor Bourmataguil),
       ],
-   q(3085) => [
+   q(3084) => [
       q(Ngbee),
       ],
-   q(3086) => [
+   q(3085) => [
       q(Judeo-Georgian),
       ],
-   q(3087) => [
+   q(3086) => [
       q(Gwak),
       ],
-   q(3088) => [
+   q(3087) => [
       q(Ngomba),
       ],
-   q(3089) => [
+   q(3088) => [
       q(Jehai),
       ],
-   q(3090) => [
+   q(3089) => [
       q(Jhankot Sign Language),
       ],
-   q(3091) => [
+   q(3090) => [
       q(Jina),
       ],
-   q(3092) => [
+   q(3091) => [
       q(Jibu),
       ],
-   q(3093) => [
+   q(3092) => [
       q(Tol),
       ],
-   q(3094) => [
+   q(3093) => [
       q(Bu),
       ],
-   q(3095) => [
+   q(3094) => [
       q(Jilbe),
       ],
-   q(3096) => [
+   q(3095) => [
       q(Djingili),
       ],
-   q(3097) => [
+   q(3096) => [
       q(sTodsde),
       q(Shangzhai),
       ],
-   q(3098) => [
+   q(3097) => [
       q(Jiiddu),
       ],
-   q(3099) => [
+   q(3098) => [
       q(Jilim),
       ],
-   q(3100) => [
+   q(3099) => [
       q(Jimi (Cameroon)),
       ],
-   q(3101) => [
+   q(3100) => [
       q(Jiamao),
       ],
-   q(3102) => [
+   q(3101) => [
       q(Guanyinqiao),
       q(Lavrung),
       ],
-   q(3103) => [
+   q(3102) => [
       q(Jita),
       ],
-   q(3104) => [
+   q(3103) => [
       q(Youle Jinuo),
       ],
-   q(3105) => [
+   q(3104) => [
       q(Shuar),
       ],
-   q(3106) => [
+   q(3105) => [
       q(Buyuan Jinuo),
       ],
-   q(3107) => [
+   q(3106) => [
       q(Jejueo),
       ],
-   q(3108) => [
+   q(3107) => [
       q(Bankal),
       ],
-   q(3109) => [
+   q(3108) => [
       q(Mobwa Karen),
       ],
-   q(3110) => [
+   q(3109) => [
       q(Kubo),
       ],
-   q(3111) => [
+   q(3110) => [
       q(Paku Karen),
       ],
-   q(3112) => [
+   q(3111) => [
       q(Koro (India)),
       ],
-   q(3113) => [
+   q(3112) => [
       q(Labir),
       ],
-   q(3114) => [
+   q(3113) => [
       q(Ngile),
       ],
-   q(3115) => [
+   q(3114) => [
       q(Jamaican Sign Language),
       ],
-   q(3116) => [
+   q(3115) => [
       q(Dima),
       ],
-   q(3117) => [
+   q(3116) => [
       q(Zumbun),
       ],
-   q(3118) => [
+   q(3117) => [
       q(Machame),
       ],
-   q(3119) => [
+   q(3118) => [
       q(Yamdena),
       ],
-   q(3120) => [
+   q(3119) => [
       q(Jimi (Nigeria)),
       ],
-   q(3121) => [
+   q(3120) => [
       q(Jumli),
       ],
-   q(3122) => [
+   q(3121) => [
       q(Makuri Naga),
       ],
-   q(3123) => [
+   q(3122) => [
       q(Kamara),
       ],
-   q(3124) => [
+   q(3123) => [
       q(Mashi (Nigeria)),
       ],
-   q(3125) => [
+   q(3124) => [
       q(Mouwase),
       ],
-   q(3126) => [
+   q(3125) => [
       q(Western Juxtlahuaca Mixtec),
       ],
-   q(3127) => [
+   q(3126) => [
       q(Jangshung),
       ],
-   q(3128) => [
+   q(3127) => [
       q(Jandavra),
       ],
-   q(3129) => [
+   q(3128) => [
       q(Yangman),
       ],
-   q(3130) => [
+   q(3129) => [
       q(Janji),
       ],
-   q(3131) => [
+   q(3130) => [
       q(Yemsa),
       ],
-   q(3132) => [
+   q(3131) => [
       q(Rawat),
       ],
-   q(3133) => [
+   q(3132) => [
       q(Jaunsari),
       ],
-   q(3134) => [
+   q(3133) => [
       q(Joba),
       ],
-   q(3135) => [
+   q(3134) => [
       q(Wojenaka),
       ],
-   q(3136) => [
+   q(3135) => [
       q(Jora),
       ],
-   q(3137) => [
+   q(3136) => [
       q(Jordanian Sign Language),
       ],
-   q(3138) => [
+   q(3137) => [
       q(Jowulu),
       ],
-   q(3139) => [
+   q(3138) => [
       q(Jewish Palestinian Aramaic),
       ],
-   q(3140) => [
+   q(3139) => [
       q(Jaqaru),
       ],
-   q(3141) => [
+   q(3140) => [
       q(Jarai),
       ],
-   q(3142) => [
+   q(3141) => [
       q(Jiru),
       ],
-   q(3143) => [
+   q(3142) => [
       q(Jorto),
       ],
-   q(3144) => [
+   q(3143) => [
       q(Japreria),
       ],
-   q(3145) => [
+   q(3144) => [
       q(Japanese Sign Language),
       ],
-   q(3146) => [
+   q(3145) => [
       q(Juma),
       ],
-   q(3147) => [
+   q(3146) => [
       q(Wannu),
       ],
-   q(3148) => [
+   q(3147) => [
       q(Jurchen),
       ],
-   q(3149) => [
+   q(3148) => [
       q(Worodougou),
       ],
-   q(3150) => [
+   q(3149) => [
       q(Hone),
       ],
-   q(3151) => [
+   q(3150) => [
       q(Ngadjuri),
       ],
-   q(3152) => [
+   q(3151) => [
       q(Wapan),
       ],
-   q(3153) => [
+   q(3152) => [
       q(Jirel),
       ],
-   q(3154) => [
+   q(3153) => [
       q(Jumjum),
       ],
-   q(3155) => [
+   q(3154) => [
       q(Juang),
       ],
-   q(3156) => [
+   q(3155) => [
       q(Jiba),
       ],
-   q(3157) => [
+   q(3156) => [
       q(Hupde),
       ],
-   q(3158) => [
+   q(3157) => [
       q(Juruna),
       ],
-   q(3159) => [
+   q(3158) => [
       q(Jumla Sign Language),
       ],
-   q(3160) => [
+   q(3159) => [
       q(Jutish),
       ],
-   q(3161) => [
+   q(3160) => [
       q(Ju),
       ],
-   q(3162) => [
+   q(3161) => [
       q(Wapha),
       ],
-   q(3163) => [
+   q(3162) => [
       q(Juray),
       ],
-   q(3164) => [
+   q(3163) => [
       q(Javindo),
       ],
-   q(3165) => [
+   q(3164) => [
       q(Caribbean Javanese),
       ],
-   q(3166) => [
+   q(3165) => [
       q(Jwira-Pepesa),
       ],
-   q(3167) => [
+   q(3166) => [
       q(Jiarong),
       ],
-   q(3168) => [
+   q(3167) => [
       q(Judeo-Yemeni Arabic),
       ],
-   q(3169) => [
+   q(3168) => [
       q(Jaya),
       ],
-   q(3170) => [
+   q(3169) => [
       q(Adara),
       ],
-   q(3171) => [
+   q(3170) => [
       q(Ketangalan),
       ],
-   q(3172) => [
+   q(3171) => [
       q(Katso),
       ],
-   q(3173) => [
+   q(3172) => [
       q(Kajaman),
       ],
-   q(3174) => [
+   q(3173) => [
       q(Kara (Central African Republic)),
       ],
-   q(3175) => [
+   q(3174) => [
       q(Karekare),
       ],
-   q(3176) => [
+   q(3175) => [
       q(Jju),
       ],
-   q(3177) => [
+   q(3176) => [
       q(Kayapa Kallahan),
       ],
-   q(3178) => [
+   q(3177) => [
       q(Xaasongaxango),
       ],
-   q(3179) => [
+   q(3178) => [
       q(Bezhta),
       ],
-   q(3180) => [
+   q(3179) => [
       q(Capanahua),
       ],
-   q(3181) => [
+   q(3180) => [
       q(Katukina),
       ],
-   q(3182) => [
+   q(3181) => [
       q(Kao),
       ],
-   q(3183) => [
+   q(3182) => [
       q(Kamayura),
       ],
-   q(3184) => [
+   q(3183) => [
       q(Kalarko),
       ],
-   q(3185) => [
+   q(3184) => [
       q(Kaxuiana),
       ],
-   q(3186) => [
+   q(3185) => [
       q(Kadiweu),
       ],
-   q(3187) => [
+   q(3186) => [
       q(Kanju),
       ],
-   q(3188) => [
+   q(3187) => [
       q(Khamba),
       ],
-   q(3189) => [
+   q(3188) => [
       q(Camsa),
       ],
-   q(3190) => [
+   q(3189) => [
       q(Kaptiau),
       ],
-   q(3191) => [
+   q(3190) => [
       q(Kari),
       ],
-   q(3192) => [
+   q(3191) => [
       q(Grass Koiari),
       ],
-   q(3193) => [
+   q(3192) => [
       q(Kanembu),
       ],
-   q(3194) => [
+   q(3193) => [
       q(Iwal),
       ],
-   q(3195) => [
+   q(3194) => [
       q(Kare (Central African Republic)),
       ],
-   q(3196) => [
+   q(3195) => [
       q(Keliko),
       ],
-   q(3197) => [
+   q(3196) => [
       q(Kabiye),
       ],
-   q(3198) => [
+   q(3197) => [
       q(Kamano),
       ],
-   q(3199) => [
+   q(3198) => [
       q(Kafa),
       ],
-   q(3200) => [
+   q(3199) => [
       q(Kande),
       ],
-   q(3201) => [
+   q(3200) => [
       q(Abadi),
       ],
-   q(3202) => [
+   q(3201) => [
       q(Kabutra),
       ],
-   q(3203) => [
+   q(3202) => [
       q(Dera (Indonesia)),
       ],
-   q(3204) => [
+   q(3203) => [
       q(Kaiep),
       ],
-   q(3205) => [
+   q(3204) => [
       q(Ap Ma),
       ],
-   q(3206) => [
+   q(3205) => [
       q(Manga Kanuri),
       ],
-   q(3207) => [
+   q(3206) => [
       q(Duhwa),
       ],
-   q(3208) => [
+   q(3207) => [
       q(Khanty),
       ],
-   q(3209) => [
+   q(3208) => [
       q(Kawacha),
       ],
-   q(3210) => [
+   q(3209) => [
       q(Lubila),
       ],
-   q(3211) => [
+   q(3210) => [
       q(Ngkalmpw Kanum),
       ],
-   q(3212) => [
+   q(3211) => [
       q(Kaivi),
       ],
-   q(3213) => [
+   q(3212) => [
       q(Ukaan),
       ],
-   q(3214) => [
+   q(3213) => [
       q(Tyap),
       ],
-   q(3215) => [
+   q(3214) => [
       q(Vono),
       ],
-   q(3216) => [
+   q(3215) => [
       q(Kamantan),
       ],
-   q(3217) => [
+   q(3216) => [
       q(Kobiana),
       ],
-   q(3218) => [
+   q(3217) => [
       q(Kalanga),
       ],
-   q(3219) => [
+   q(3218) => [
       q(Kela (Papua New Guinea)),
       q(Kala),
       ],
-   q(3220) => [
+   q(3219) => [
       q(Gula (Central African Republic)),
       ],
-   q(3221) => [
+   q(3220) => [
       q(Nubi),
       ],
-   q(3222) => [
+   q(3221) => [
       q(Kinalakna),
       ],
-   q(3223) => [
+   q(3222) => [
       q(Kanga),
       ],
-   q(3224) => [
+   q(3223) => [
       q(Kamo),
       ],
-   q(3225) => [
+   q(3224) => [
       q(Katla),
       ],
-   q(3226) => [
+   q(3225) => [
       q(Koenoem),
       ],
-   q(3227) => [
+   q(3226) => [
       q(Kaian),
       ],
-   q(3228) => [
+   q(3227) => [
       q(Kami (Tanzania)),
       ],
-   q(3229) => [
+   q(3228) => [
       q(Kete),
       ],
-   q(3230) => [
+   q(3229) => [
       q(Kabwari),
       ],
-   q(3231) => [
+   q(3230) => [
       q(Kachama-Ganjule),
       ],
-   q(3232) => [
+   q(3231) => [
       q(Korandje),
       ],
-   q(3233) => [
+   q(3232) => [
       q(Konongo),
       ],
-   q(3234) => [
+   q(3233) => [
       q(Worimi),
       ],
-   q(3235) => [
+   q(3234) => [
       q(Kutu),
       ],
-   q(3236) => [
+   q(3235) => [
       q(Yankunytjatjara),
       ],
-   q(3237) => [
+   q(3236) => [
       q(Makonde),
       ],
-   q(3238) => [
+   q(3237) => [
       q(Mamusi),
       ],
-   q(3239) => [
+   q(3238) => [
       q(Seba),
       ],
-   q(3240) => [
+   q(3239) => [
       q(Tem),
       ],
-   q(3241) => [
+   q(3240) => [
       q(Kumam),
       ],
-   q(3242) => [
+   q(3241) => [
       q(Karamojong),
       ],
-   q(3243) => [
+   q(3242) => [
       q(Numee),
       q(Kwenyi),
       ],
-   q(3244) => [
+   q(3243) => [
       q(Tsikimba),
       ],
-   q(3245) => [
+   q(3244) => [
       q(Kagoma),
       ],
-   q(3246) => [
+   q(3245) => [
       q(Kunda),
       ],
-   q(3247) => [
+   q(3246) => [
       q(Kaningdon-Nindem),
       ],
-   q(3248) => [
+   q(3247) => [
       q(Koch),
       ],
-   q(3249) => [
+   q(3248) => [
       q(Karaim),
       ],
-   q(3250) => [
+   q(3249) => [
       q(Kuy),
       ],
-   q(3251) => [
+   q(3250) => [
       q(Kadaru),
       ],
-   q(3252) => [
+   q(3251) => [
       q(Koneraw),
       ],
-   q(3253) => [
+   q(3252) => [
       q(Kam),
       ],
-   q(3254) => [
+   q(3253) => [
       q(Keder),
       q(Keijar),
       ],
-   q(3255) => [
+   q(3254) => [
       q(Kwaja),
       ],
-   q(3256) => [
+   q(3255) => [
       q(Kabuverdianu),
       ],
-   q(3257) => [
+   q(3256) => [
       q(Kele),
       ],
-   q(3258) => [
+   q(3257) => [
       q(Keiga),
       ],
-   q(3259) => [
+   q(3258) => [
       q(Kerewe),
       ],
-   q(3260) => [
+   q(3259) => [
       q(Eastern Keres),
       ],
-   q(3261) => [
+   q(3260) => [
       q(Kpessi),
       ],
-   q(3262) => [
+   q(3261) => [
       q(Tese),
       ],
-   q(3263) => [
+   q(3262) => [
       q(Keak),
       ],
-   q(3264) => [
+   q(3263) => [
       q(Kei),
       ],
-   q(3265) => [
+   q(3264) => [
       q(Kadar),
       ],
-   q(3266) => [
+   q(3265) => [
       q(Kekchi),
       ],
-   q(3267) => [
+   q(3266) => [
       q(Kela (Democratic Republic of Congo)),
       ],
-   q(3268) => [
+   q(3267) => [
       q(Kemak),
       ],
-   q(3269) => [
+   q(3268) => [
       q(Kenyang),
       ],
-   q(3270) => [
+   q(3269) => [
       q(Kakwa),
       ],
-   q(3271) => [
+   q(3270) => [
       q(Kaikadi),
       ],
-   q(3272) => [
+   q(3271) => [
       q(Kamar),
       ],
-   q(3273) => [
+   q(3272) => [
       q(Kera),
       ],
-   q(3274) => [
+   q(3273) => [
       q(Kugbo),
       ],
-   q(3275) => [
+   q(3274) => [
       q(Ket),
       ],
-   q(3276) => [
+   q(3275) => [
       q(Akebu),
       ],
-   q(3277) => [
+   q(3276) => [
       q(Kanikkaran),
       ],
-   q(3278) => [
+   q(3277) => [
       q(West Kewa),
       ],
-   q(3279) => [
+   q(3278) => [
       q(Kukna),
       ],
-   q(3280) => [
+   q(3279) => [
       q(Kupia),
       ],
-   q(3281) => [
+   q(3280) => [
       q(Kukele),
       ],
-   q(3282) => [
+   q(3281) => [
       q(Kodava),
       ],
-   q(3283) => [
+   q(3282) => [
       q(Northwestern Kolami),
       ],
-   q(3284) => [
+   q(3283) => [
       q(Konda-Dora),
       ],
-   q(3285) => [
+   q(3284) => [
       q(Korra Koraga),
       ],
-   q(3286) => [
+   q(3285) => [
       q(Kota (India)),
       ],
-   q(3287) => [
+   q(3286) => [
       q(Koya),
       ],
-   q(3288) => [
+   q(3287) => [
       q(Kudiya),
       ],
-   q(3289) => [
+   q(3288) => [
       q(Kurichiya),
       ],
-   q(3290) => [
+   q(3289) => [
       q(Kannada Kurumba),
       ],
-   q(3291) => [
+   q(3290) => [
       q(Kemiehua),
       ],
-   q(3292) => [
+   q(3291) => [
       q(Kinnauri),
       ],
-   q(3293) => [
+   q(3292) => [
       q(Kung),
       ],
-   q(3294) => [
+   q(3293) => [
       q(Khunsari),
       ],
-   q(3295) => [
+   q(3294) => [
       q(Kuk),
       ],
-   q(3296) => [
+   q(3295) => [
       q(Koro (Cote d'Ivoire)),
       ],
-   q(3297) => [
+   q(3296) => [
       q(Korwa),
       ],
-   q(3298) => [
+   q(3297) => [
       q(Korku),
       ],
-   q(3299) => [
+   q(3298) => [
       q(Kachchi),
       ],
-   q(3300) => [
+   q(3299) => [
       q(Bilaspuri),
       ],
-   q(3301) => [
+   q(3300) => [
       q(Kanjari),
       ],
-   q(3302) => [
+   q(3301) => [
       q(Katkari),
       ],
-   q(3303) => [
+   q(3302) => [
       q(Kurmukar),
       ],
-   q(3304) => [
+   q(3303) => [
       q(Kharam Naga),
       ],
-   q(3305) => [
+   q(3304) => [
       q(Kullu Pahari),
       ],
-   q(3306) => [
+   q(3305) => [
       q(Kumaoni),
       ],
-   q(3307) => [
+   q(3306) => [
       q(Koromfe),
       ],
-   q(3308) => [
+   q(3307) => [
       q(Koyaga),
       ],
-   q(3309) => [
+   q(3308) => [
       q(Kawe),
       ],
-   q(3310) => [
+   q(3309) => [
       q(Kasseng),
       ],
-   q(3311) => [
+   q(3310) => [
       q(Kataang),
       ],
-   q(3312) => [
+   q(3311) => [
       q(Komering),
       ],
-   q(3313) => [
+   q(3312) => [
       q(Kube),
       ],
-   q(3314) => [
+   q(3313) => [
       q(Kusunda),
       ],
-   q(3315) => [
+   q(3314) => [
       q(Selangor Sign Language),
       ],
-   q(3316) => [
+   q(3315) => [
       q(Gamale Kham),
       ],
-   q(3317) => [
+   q(3316) => [
       q(Kaiwa),
       ],
-   q(3318) => [
+   q(3317) => [
       q(Kunggari),
       ],
-   q(3319) => [
+   q(3318) => [
       q(Karipuna),
       ],
-   q(3320) => [
+   q(3319) => [
       q(Karingani),
       ],
-   q(3321) => [
+   q(3320) => [
       q(Krongo),
       ],
-   q(3322) => [
+   q(3321) => [
       q(Kaingang),
       ],
-   q(3323) => [
+   q(3322) => [
       q(Kamoro),
       ],
-   q(3324) => [
+   q(3323) => [
       q(Abun),
       ],
-   q(3325) => [
+   q(3324) => [
       q(Kumbainggar),
       ],
-   q(3326) => [
+   q(3325) => [
       q(Somyev),
       ],
-   q(3327) => [
+   q(3326) => [
       q(Kobol),
       ],
-   q(3328) => [
+   q(3327) => [
       q(Karas),
       ],
-   q(3329) => [
+   q(3328) => [
       q(Karon Dori),
       ],
-   q(3330) => [
+   q(3329) => [
       q(Kamaru),
       ],
-   q(3331) => [
+   q(3330) => [
       q(Kyerung),
       ],
-   q(3332) => [
+   q(3331) => [
       q(Lu),
       ],
-   q(3333) => [
+   q(3332) => [
       q(Tukang Besi North),
       ],
-   q(3334) => [
+   q(3333) => [
       q(Badi Kanum),
       ],
-   q(3335) => [
+   q(3334) => [
       q(Korowai),
       ],
-   q(3336) => [
+   q(3335) => [
       q(Khuen),
       ],
-   q(3337) => [
+   q(3336) => [
       q(Khams Tibetan),
       ],
-   q(3338) => [
+   q(3337) => [
       q(Kehu),
       ],
-   q(3339) => [
+   q(3338) => [
       q(Kuturmi),
       ],
-   q(3340) => [
+   q(3339) => [
       q(Halh Mongolian),
       ],
-   q(3341) => [
+   q(3340) => [
       q(Lusi),
       ],
-   q(3342) => [
+   q(3341) => [
       q(Khandesi),
       ],
-   q(3343) => [
+   q(3342) => [
       q(Kapori),
       q(Kapauri),
       ],
-   q(3344) => [
+   q(3343) => [
       q(Koyra Chiini Songhay),
       ],
-   q(3345) => [
+   q(3344) => [
       q(Kharia),
       ],
-   q(3346) => [
+   q(3345) => [
       q(Kasua),
       ],
-   q(3347) => [
+   q(3346) => [
       q(Khamti),
       ],
-   q(3348) => [
+   q(3347) => [
       q(Nkhumbi),
       ],
-   q(3349) => [
+   q(3348) => [
       q(Khvarshi),
       ],
-   q(3350) => [
+   q(3349) => [
       q(Khowar),
       ],
-   q(3351) => [
+   q(3350) => [
       q(Kanu),
       ],
-   q(3352) => [
+   q(3351) => [
       q(Kele (Democratic Republic of Congo)),
       ],
-   q(3353) => [
+   q(3352) => [
       q(Keapara),
       ],
-   q(3354) => [
+   q(3353) => [
       q(Kim),
       ],
-   q(3355) => [
+   q(3354) => [
       q(Koalib),
       ],
-   q(3356) => [
+   q(3355) => [
       q(Kickapoo),
       ],
-   q(3357) => [
+   q(3356) => [
       q(Koshin),
       ],
-   q(3358) => [
+   q(3357) => [
       q(Kibet),
       ],
-   q(3359) => [
+   q(3358) => [
       q(Eastern Parbate Kham),
       ],
-   q(3360) => [
+   q(3359) => [
       q(Kimaama),
       q(Kimaghima),
       ],
-   q(3361) => [
+   q(3360) => [
       q(Kilmeri),
       ],
-   q(3362) => [
+   q(3361) => [
       q(Kitsai),
       ],
-   q(3363) => [
+   q(3362) => [
       q(Kilivila),
       ],
-   q(3364) => [
+   q(3363) => [
       q(Kariya),
       ],
-   q(3365) => [
+   q(3364) => [
       q(Karagas),
       ],
-   q(3366) => [
+   q(3365) => [
       q(Kiowa),
       ],
-   q(3367) => [
+   q(3366) => [
       q(Sheshi Kham),
       ],
-   q(3368) => [
+   q(3367) => [
       q(Kosadle),
       q(Kosare),
       ],
-   q(3369) => [
+   q(3368) => [
       q(Kis),
       ],
-   q(3370) => [
+   q(3369) => [
       q(Agob),
       ],
-   q(3371) => [
+   q(3370) => [
       q(Kirmanjki (individual language)),
       ],
-   q(3372) => [
+   q(3371) => [
       q(Kimbu),
       ],
-   q(3373) => [
+   q(3372) => [
       q(Northeast Kiwai),
       ],
-   q(3374) => [
+   q(3373) => [
       q(Khiamniungan Naga),
       ],
-   q(3375) => [
+   q(3374) => [
       q(Kirikiri),
       ],
-   q(3376) => [
+   q(3375) => [
       q(Kisi),
       ],
-   q(3377) => [
+   q(3376) => [
       q(Mlap),
       ],
-   q(3378) => [
+   q(3377) => [
       q(Q'anjob'al),
       q(Kanjobal),
       ],
-   q(3379) => [
+   q(3378) => [
       q(Coastal Konjo),
       ],
-   q(3380) => [
+   q(3379) => [
       q(Southern Kiwai),
       ],
-   q(3381) => [
+   q(3380) => [
       q(Kisar),
       ],
-   q(3382) => [
+   q(3381) => [
       q(Khalaj),
       ],
-   q(3383) => [
+   q(3382) => [
       q(Khmu),
       ],
-   q(3384) => [
+   q(3383) => [
       q(Khakas),
       ],
-   q(3385) => [
+   q(3384) => [
       q(Zabana),
       ],
-   q(3386) => [
+   q(3385) => [
       q(Khinalugh),
       ],
-   q(3387) => [
+   q(3386) => [
       q(Highland Konjo),
       ],
-   q(3388) => [
+   q(3387) => [
       q(Western Parbate Kham),
       ],
-   q(3389) => [
+   q(3388) => [
       q(Khang),
       ],
-   q(3390) => [
+   q(3389) => [
       q(Kunjen),
       ],
-   q(3391) => [
+   q(3390) => [
       q(Harijan Kinnauri),
       ],
-   q(3392) => [
+   q(3391) => [
       q(Pwo Eastern Karen),
       ],
-   q(3393) => [
+   q(3392) => [
       q(Western Keres),
       ],
-   q(3394) => [
+   q(3393) => [
       q(Kurudu),
       ],
-   q(3395) => [
+   q(3394) => [
       q(East Kewa),
       ],
-   q(3396) => [
+   q(3395) => [
       q(Phrae Pwo Karen),
       ],
-   q(3397) => [
+   q(3396) => [
       q(Kashaya),
       ],
-   q(3398) => [
+   q(3397) => [
       q(Kaikavian Literary Language),
       ],
-   q(3399) => [
+   q(3398) => [
       q(Ramopa),
       ],
-   q(3400) => [
+   q(3399) => [
       q(Erave),
       ],
-   q(3401) => [
+   q(3400) => [
       q(Bumthangkha),
       ],
-   q(3402) => [
+   q(3401) => [
       q(Kakanda),
       ],
-   q(3403) => [
+   q(3402) => [
       q(Kwerisa),
       ],
-   q(3404) => [
+   q(3403) => [
       q(Odoodee),
       ],
-   q(3405) => [
+   q(3404) => [
       q(Kinuku),
       ],
-   q(3406) => [
+   q(3405) => [
       q(Kakabe),
       ],
-   q(3407) => [
+   q(3406) => [
       q(Kalaktang Monpa),
       ],
-   q(3408) => [
+   q(3407) => [
       q(Mabaka Valley Kalinga),
       ],
-   q(3409) => [
+   q(3408) => [
       q(Khun),
       ],
-   q(3410) => [
+   q(3409) => [
       q(Kagulu),
       ],
-   q(3411) => [
+   q(3410) => [
       q(Kako),
       ],
-   q(3412) => [
+   q(3411) => [
       q(Kokota),
       ],
-   q(3413) => [
+   q(3412) => [
       q(Kosarek Yale),
       ],
-   q(3414) => [
+   q(3413) => [
       q(Kiong),
       ],
-   q(3415) => [
+   q(3414) => [
       q(Kon Keu),
       ],
-   q(3416) => [
+   q(3415) => [
       q(Karko),
       ],
-   q(3417) => [
+   q(3416) => [
       q(Gugubera),
       ],
-   q(3418) => [
+   q(3417) => [
       q(Kaiku),
       ],
-   q(3419) => [
+   q(3418) => [
       q(Kir-Balar),
       ],
-   q(3420) => [
+   q(3419) => [
       q(Giiwo),
       ],
-   q(3421) => [
+   q(3420) => [
       q(Koi),
       ],
-   q(3422) => [
+   q(3421) => [
       q(Tumi),
       ],
-   q(3423) => [
+   q(3422) => [
       q(Kangean),
       ],
-   q(3424) => [
+   q(3423) => [
       q(Teke-Kukuya),
       ],
-   q(3425) => [
+   q(3424) => [
       q(Kohin),
       ],
-   q(3426) => [
+   q(3425) => [
       q(Guguyimidjir),
       ],
-   q(3427) => [
+   q(3426) => [
       q(Kaska),
       ],
-   q(3428) => [
+   q(3427) => [
       q(Klamath-Modoc),
       ],
-   q(3429) => [
+   q(3428) => [
       q(Kiliwa),
       ],
-   q(3430) => [
+   q(3429) => [
       q(Kolbila),
       ],
-   q(3431) => [
+   q(3430) => [
       q(Gamilaraay),
       ],
-   q(3432) => [
+   q(3431) => [
       q(Kulung (Nepal)),
       ],
-   q(3433) => [
+   q(3432) => [
       q(Kendeje),
       ],
-   q(3434) => [
+   q(3433) => [
       q(Tagakaulo),
       ],
-   q(3435) => [
+   q(3434) => [
       q(Weliki),
       ],
-   q(3436) => [
+   q(3435) => [
       q(Kalumpang),
       ],
-   q(3437) => [
+   q(3436) => [
       q(Turkic Khalaj),
       ],
-   q(3438) => [
+   q(3437) => [
       q(Kono (Nigeria)),
       ],
-   q(3439) => [
+   q(3438) => [
       q(Kagan Kalagan),
       ],
-   q(3440) => [
+   q(3439) => [
       q(Migum),
       ],
-   q(3441) => [
+   q(3440) => [
       q(Kalenjin),
       ],
-   q(3442) => [
+   q(3441) => [
       q(Kapya),
       ],
-   q(3443) => [
+   q(3442) => [
       q(Kamasa),
       ],
-   q(3444) => [
+   q(3443) => [
       q(Rumu),
       ],
-   q(3445) => [
+   q(3444) => [
       q(Khaling),
       ],
-   q(3446) => [
+   q(3445) => [
       q(Kalasha),
       ],
-   q(3447) => [
+   q(3446) => [
       q(Nukna),
       ],
-   q(3448) => [
+   q(3447) => [
       q(Klao),
       ],
-   q(3449) => [
+   q(3448) => [
       q(Maskelynes),
       ],
-   q(3450) => [
+   q(3449) => [
       q(Lindu),
       ],
-   q(3451) => [
+   q(3450) => [
       q(Koluwawa),
       ],
-   q(3452) => [
+   q(3451) => [
       q(Kalao),
       ],
-   q(3453) => [
+   q(3452) => [
       q(Kabola),
       ],
-   q(3454) => [
+   q(3453) => [
       q(Konni),
       ],
-   q(3455) => [
+   q(3454) => [
       q(Southern Dong),
       ],
-   q(3456) => [
+   q(3455) => [
       q(Majukayang Kalinga),
       ],
-   q(3457) => [
+   q(3456) => [
       q(Bakole),
       ],
-   q(3458) => [
+   q(3457) => [
       q(Kare (Papua New Guinea)),
       ],
-   q(3459) => [
+   q(3458) => [
       q(Kate),
       ],
-   q(3460) => [
+   q(3459) => [
       q(Kalam),
       ],
-   q(3461) => [
+   q(3460) => [
       q(Kami (Nigeria)),
       ],
-   q(3462) => [
+   q(3461) => [
       q(Kumarbhag Paharia),
       ],
-   q(3463) => [
+   q(3462) => [
       q(Limos Kalinga),
       ],
-   q(3464) => [
+   q(3463) => [
       q(Tanudan Kalinga),
       ],
-   q(3465) => [
+   q(3464) => [
       q(Kom (India)),
       ],
-   q(3466) => [
+   q(3465) => [
       q(Awtuw),
       ],
-   q(3467) => [
+   q(3466) => [
       q(Kwoma),
       ],
-   q(3468) => [
+   q(3467) => [
       q(Gimme),
       ],
-   q(3469) => [
+   q(3468) => [
       q(Kwama),
       ],
-   q(3470) => [
+   q(3469) => [
       q(Northern Kurdish),
       ],
-   q(3471) => [
+   q(3470) => [
       q(Kamasau),
       ],
-   q(3472) => [
+   q(3471) => [
       q(Kemtuik),
       ],
-   q(3473) => [
+   q(3472) => [
       q(Kanite),
       ],
-   q(3474) => [
+   q(3473) => [
       q(Karipuna Creole French),
       ],
-   q(3475) => [
+   q(3474) => [
       q(Komo (Democratic Republic of Congo)),
       ],
-   q(3476) => [
+   q(3475) => [
       q(Waboda),
       ],
-   q(3477) => [
+   q(3476) => [
       q(Koma),
       ],
-   q(3478) => [
+   q(3477) => [
       q(Khorasani Turkish),
       ],
-   q(3479) => [
+   q(3478) => [
       q(Dera (Nigeria)),
       ],
-   q(3480) => [
+   q(3479) => [
       q(Lubuagan Kalinga),
       ],
-   q(3481) => [
+   q(3480) => [
       q(Central Kanuri),
       ],
-   q(3482) => [
+   q(3481) => [
       q(Konda),
       ],
-   q(3483) => [
+   q(3482) => [
       q(Kankanaey),
       ],
-   q(3484) => [
+   q(3483) => [
       q(Mankanya),
       ],
-   q(3485) => [
+   q(3484) => [
       q(Koongo),
       ],
-   q(3486) => [
+   q(3485) => [
       q(Kanufi),
       ],
-   q(3487) => [
+   q(3486) => [
       q(Western Kanjobal),
       ],
-   q(3488) => [
+   q(3487) => [
       q(Kuranko),
       ],
-   q(3489) => [
+   q(3488) => [
       q(Keninjal),
       ],
-   q(3490) => [
+   q(3489) => [
       q(Kanamari),
       ],
-   q(3491) => [
+   q(3490) => [
       q(Konkani (individual language)),
       ],
-   q(3492) => [
+   q(3491) => [
       q(Kono (Sierra Leone)),
       ],
-   q(3493) => [
+   q(3492) => [
       q(Kwanja),
       ],
-   q(3494) => [
+   q(3493) => [
       q(Kintaq),
       ],
-   q(3495) => [
+   q(3494) => [
       q(Kaningra),
       ],
-   q(3496) => [
+   q(3495) => [
       q(Kensiu),
       ],
-   q(3497) => [
+   q(3496) => [
       q(Panoan Katukina),
       ],
-   q(3498) => [
+   q(3497) => [
       q(Kono (Guinea)),
       ],
-   q(3499) => [
+   q(3498) => [
       q(Tabo),
       ],
-   q(3500) => [
+   q(3499) => [
       q(Kung-Ekoka),
       ],
-   q(3501) => [
+   q(3500) => [
       q(Kendayan),
       q(Salako),
       ],
-   q(3502) => [
+   q(3501) => [
       q(Kanyok),
       ],
-   q(3503) => [
+   q(3502) => [
       q(Kalamse),
       ],
-   q(3504) => [
+   q(3503) => [
       q(Konomala),
       ],
-   q(3505) => [
+   q(3504) => [
       q(Kpati),
       ],
-   q(3506) => [
+   q(3505) => [
       q(Kodi),
       ],
-   q(3507) => [
+   q(3506) => [
       q(Kacipo-Balesi),
       ],
-   q(3508) => [
+   q(3507) => [
       q(Kubi),
       ],
-   q(3509) => [
+   q(3508) => [
       q(Cogui),
       q(Kogi),
       ],
-   q(3510) => [
+   q(3509) => [
       q(Koyo),
       ],
-   q(3511) => [
+   q(3510) => [
       q(Komi-Permyak),
       ],
-   q(3512) => [
+   q(3511) => [
       q(Kol (Papua New Guinea)),
       ],
-   q(3513) => [
+   q(3512) => [
       q(Konzo),
       ],
-   q(3514) => [
+   q(3513) => [
       q(Waube),
       ],
-   q(3515) => [
+   q(3514) => [
       q(Kota (Gabon)),
       ],
-   q(3516) => [
+   q(3515) => [
       q(Lagwan),
       ],
-   q(3517) => [
+   q(3516) => [
       q(Koke),
       ],
-   q(3518) => [
+   q(3517) => [
       q(Kudu-Camo),
       ],
-   q(3519) => [
+   q(3518) => [
       q(Kugama),
       ],
-   q(3520) => [
+   q(3519) => [
       q(Coxima),
       ],
-   q(3521) => [
+   q(3520) => [
       q(Koyukon),
       ],
-   q(3522) => [
+   q(3521) => [
       q(Korak),
       ],
-   q(3523) => [
+   q(3522) => [
       q(Kutto),
       ],
-   q(3524) => [
+   q(3523) => [
       q(Mullu Kurumba),
       ],
-   q(3525) => [
+   q(3524) => [
       q(Curripaco),
       ],
-   q(3526) => [
+   q(3525) => [
       q(Koba),
       ],
-   q(3527) => [
+   q(3526) => [
       q(Komba),
       ],
-   q(3528) => [
+   q(3527) => [
       q(Kapingamarangi),
       ],
-   q(3529) => [
+   q(3528) => [
       q(Kplang),
       ],
-   q(3530) => [
+   q(3529) => [
       q(Kofei),
       ],
-   q(3531) => [
+   q(3530) => [
       q(Karaja),
       ],
-   q(3532) => [
+   q(3531) => [
       q(Kpan),
       ],
-   q(3533) => [
+   q(3532) => [
       q(Kpala),
       ],
-   q(3534) => [
+   q(3533) => [
       q(Koho),
       ],
-   q(3535) => [
+   q(3534) => [
       q(Kepkiriwat),
       ],
-   q(3536) => [
+   q(3535) => [
       q(Ikposo),
       ],
-   q(3537) => [
+   q(3536) => [
       q(Korupun-Sela),
       ],
-   q(3538) => [
+   q(3537) => [
       q(Korafe-Yegha),
       ],
-   q(3539) => [
+   q(3538) => [
       q(Tehit),
       ],
-   q(3540) => [
+   q(3539) => [
       q(Karata),
       ],
-   q(3541) => [
+   q(3540) => [
       q(Kafoa),
       ],
-   q(3542) => [
+   q(3541) => [
       q(Komi-Zyrian),
       ],
-   q(3543) => [
+   q(3542) => [
       q(Kobon),
       ],
-   q(3544) => [
+   q(3543) => [
       q(Mountain Koiali),
       ],
-   q(3545) => [
+   q(3544) => [
       q(Koryak),
       ],
-   q(3546) => [
+   q(3545) => [
       q(Kupsabiny),
       ],
-   q(3547) => [
+   q(3546) => [
       q(Mum),
       ],
-   q(3548) => [
+   q(3547) => [
       q(Kovai),
       ],
-   q(3549) => [
+   q(3548) => [
       q(Doromu-Koki),
       ],
-   q(3550) => [
+   q(3549) => [
       q(Koy Sanjaq Surat),
       ],
-   q(3551) => [
+   q(3550) => [
       q(Kalagan),
       ],
-   q(3552) => [
+   q(3551) => [
       q(Kakabai),
       ],
-   q(3553) => [
+   q(3552) => [
       q(Khe),
       ],
-   q(3554) => [
+   q(3553) => [
       q(Kisankasa),
       ],
-   q(3555) => [
+   q(3554) => [
       q(Koitabu),
       ],
-   q(3556) => [
+   q(3555) => [
       q(Koromira),
       ],
-   q(3557) => [
+   q(3556) => [
       q(Kotafon Gbe),
       ],
-   q(3558) => [
+   q(3557) => [
       q(Kyenele),
       ],
-   q(3559) => [
+   q(3558) => [
       q(Khisa),
       ],
-   q(3560) => [
+   q(3559) => [
       q(Kaonde),
       ],
-   q(3561) => [
+   q(3560) => [
       q(Eastern Krahn),
       ],
-   q(3562) => [
+   q(3561) => [
       q(Kimre),
       ],
-   q(3563) => [
+   q(3562) => [
       q(Krenak),
       ],
-   q(3564) => [
+   q(3563) => [
       q(Kimaragang),
       ],
-   q(3565) => [
+   q(3564) => [
       q(Northern Kissi),
       ],
-   q(3566) => [
+   q(3565) => [
       q(Klias River Kadazan),
       ],
-   q(3567) => [
+   q(3566) => [
       q(Seroa),
       ],
-   q(3568) => [
+   q(3567) => [
       q(Okolod),
       ],
-   q(3569) => [
+   q(3568) => [
       q(Kandas),
       ],
-   q(3570) => [
+   q(3569) => [
       q(Mser),
       ],
-   q(3571) => [
+   q(3570) => [
       q(Koorete),
       ],
-   q(3572) => [
+   q(3571) => [
       q(Korana),
       ],
-   q(3573) => [
+   q(3572) => [
       q(Kumhali),
       ],
-   q(3574) => [
+   q(3573) => [
       q(Karkin),
       ],
-   q(3575) => [
+   q(3574) => [
       q(Kairui-Midiki),
       ],
-   q(3576) => [
+   q(3575) => [
       q(Panara),
       ],
-   q(3577) => [
+   q(3576) => [
       q(Koro (Vanuatu)),
       ],
-   q(3578) => [
+   q(3577) => [
       q(Kurama),
       ],
-   q(3579) => [
+   q(3578) => [
       q(Krio),
       ],
-   q(3580) => [
+   q(3579) => [
       q(Kinaray-A),
       ],
-   q(3581) => [
+   q(3580) => [
       q(Kerek),
       ],
-   q(3582) => [
+   q(3581) => [
       q(Krim),
       ],
-   q(3583) => [
+   q(3582) => [
       q(Sapo),
       ],
-   q(3584) => [
+   q(3583) => [
       q(Korop),
       ],
-   q(3585) => [
+   q(3584) => [
       q(Kru'ng 2),
       ],
-   q(3586) => [
+   q(3585) => [
       q(Gbaya (Sudan)),
       ],
-   q(3587) => [
+   q(3586) => [
       q(Tumari Kanuri),
       ],
-   q(3588) => [
+   q(3587) => [
       q(Kavet),
       ],
-   q(3589) => [
+   q(3588) => [
       q(Western Krahn),
       ],
-   q(3590) => [
+   q(3589) => [
       q(Karon),
       ],
-   q(3591) => [
+   q(3590) => [
       q(Kryts),
       ],
-   q(3592) => [
+   q(3591) => [
       q(Sota Kanum),
       ],
-   q(3593) => [
+   q(3592) => [
       q(Shuwa-Zamani),
       ],
-   q(3594) => [
+   q(3593) => [
       q(Shambala),
       ],
-   q(3595) => [
+   q(3594) => [
       q(Southern Kalinga),
       ],
-   q(3596) => [
+   q(3595) => [
       q(Kuanua),
       ],
-   q(3597) => [
+   q(3596) => [
       q(Kuni),
       ],
-   q(3598) => [
+   q(3597) => [
       q(Bafia),
       ],
-   q(3599) => [
+   q(3598) => [
       q(Kusaghe),
       ],
-   q(3600) => [
+   q(3599) => [
       q(Kolsch),
       ],
-   q(3601) => [
+   q(3600) => [
       q(Krisa),
       q(I'saka),
       ],
-   q(3602) => [
+   q(3601) => [
       q(Uare),
       ],
-   q(3603) => [
+   q(3602) => [
       q(Kansa),
       ],
-   q(3604) => [
+   q(3603) => [
       q(Kumalu),
       ],
-   q(3605) => [
+   q(3604) => [
       q(Kumba),
       ],
-   q(3606) => [
+   q(3605) => [
       q(Kasiguranin),
       ],
-   q(3607) => [
+   q(3606) => [
       q(Kofa),
       ],
-   q(3608) => [
+   q(3607) => [
       q(Kaba),
       ],
-   q(3609) => [
+   q(3608) => [
       q(Kwaami),
       ],
-   q(3610) => [
+   q(3609) => [
       q(Borong),
       ],
-   q(3611) => [
+   q(3610) => [
       q(Southern Kisi),
       ],
-   q(3612) => [
+   q(3611) => [
       q(Winye),
       ],
-   q(3613) => [
+   q(3612) => [
       q(Khamyang),
       ],
-   q(3614) => [
+   q(3613) => [
       q(Kusu),
       ],
-   q(3615) => [
+   q(3614) => [
       q(S'gaw Karen),
       ],
-   q(3616) => [
+   q(3615) => [
       q(Kedang),
       ],
-   q(3617) => [
+   q(3616) => [
       q(Kharia Thar),
       ],
-   q(3618) => [
+   q(3617) => [
       q(Kodaku),
       ],
-   q(3619) => [
+   q(3618) => [
       q(Katua),
       ],
-   q(3620) => [
+   q(3619) => [
       q(Kambaata),
       ],
-   q(3621) => [
+   q(3620) => [
       q(Kholok),
       ],
-   q(3622) => [
+   q(3621) => [
       q(Kokata),
       ],
-   q(3623) => [
+   q(3622) => [
       q(Nubri),
       ],
-   q(3624) => [
+   q(3623) => [
       q(Kwami),
       ],
-   q(3625) => [
+   q(3624) => [
       q(Kalkutung),
       ],
-   q(3626) => [
+   q(3625) => [
       q(Karanga),
       ],
-   q(3627) => [
+   q(3626) => [
       q(North Muyu),
       ],
-   q(3628) => [
+   q(3627) => [
       q(Plapo Krumen),
       ],
-   q(3629) => [
+   q(3628) => [
       q(Kaniet),
       ],
-   q(3630) => [
+   q(3629) => [
       q(Koroshi),
       ],
-   q(3631) => [
+   q(3630) => [
       q(Kurti),
       ],
-   q(3632) => [
+   q(3631) => [
       q(Karitiana),
       ],
-   q(3633) => [
+   q(3632) => [
       q(Kuot),
       ],
-   q(3634) => [
+   q(3633) => [
       q(Kaduo),
       ],
-   q(3635) => [
+   q(3634) => [
       q(Katabaga),
       ],
-   q(3636) => [
+   q(3635) => [
       q(Kota Marudu Tinagas),
       ],
-   q(3637) => [
+   q(3636) => [
       q(South Muyu),
       ],
-   q(3638) => [
+   q(3637) => [
       q(Ketum),
       ],
-   q(3639) => [
+   q(3638) => [
       q(Kituba (Democratic Republic of Congo)),
       ],
-   q(3640) => [
+   q(3639) => [
       q(Eastern Katu),
       ],
-   q(3641) => [
+   q(3640) => [
       q(Kato),
       ],
-   q(3642) => [
+   q(3641) => [
       q(Kaxarari),
       ],
-   q(3643) => [
+   q(3642) => [
       q(Kango (Bas-Uele District)),
       ],
-   q(3644) => [
+   q(3643) => [
       q(Ju/'hoan),
+      q(Juhoan),
       ],
-   q(3645) => [
+   q(3644) => [
       q(Kutep),
       ],
-   q(3646) => [
+   q(3645) => [
       q(Kwinsu),
       ],
-   q(3647) => [
+   q(3646) => [
       q('Auhelawa),
       ],
-   q(3648) => [
+   q(3647) => [
       q(Kuman (Papua New Guinea)),
       ],
-   q(3649) => [
+   q(3648) => [
       q(Western Katu),
       ],
-   q(3650) => [
+   q(3649) => [
       q(Kupa),
       ],
-   q(3651) => [
+   q(3650) => [
       q(Kushi),
       ],
-   q(3652) => [
+   q(3651) => [
       q(Kuikuro-Kalapalo),
       ],
-   q(3653) => [
+   q(3652) => [
       q(Kuria),
       ],
-   q(3654) => [
+   q(3653) => [
       q(Kepo'),
       ],
-   q(3655) => [
+   q(3654) => [
       q(Kulere),
       ],
-   q(3656) => [
+   q(3655) => [
       q(Kunama),
       ],
-   q(3657) => [
+   q(3656) => [
       q(Kumukio),
       ],
-   q(3658) => [
+   q(3657) => [
       q(Kunimaipa),
       ],
-   q(3659) => [
+   q(3658) => [
       q(Kusaal),
       ],
-   q(3660) => [
+   q(3659) => [
       q(Upper Kuskokwim),
       ],
-   q(3661) => [
+   q(3660) => [
       q(Kur),
       ],
-   q(3662) => [
+   q(3661) => [
       q(Kpagua),
       ],
-   q(3663) => [
+   q(3662) => [
       q(Kukatja),
       ],
-   q(3664) => [
+   q(3663) => [
       q(Kuuku-Ya'u),
       ],
-   q(3665) => [
+   q(3664) => [
       q(Kunza),
       ],
-   q(3666) => [
+   q(3665) => [
       q(Bagvalal),
       ],
-   q(3667) => [
+   q(3666) => [
       q(Kubu),
       ],
-   q(3668) => [
+   q(3667) => [
       q(Kove),
       ],
-   q(3669) => [
+   q(3668) => [
       q(Kui (Indonesia)),
       ],
-   q(3670) => [
+   q(3669) => [
       q(Kalabakan),
       ],
-   q(3671) => [
+   q(3670) => [
       q(Kabalai),
       ],
-   q(3672) => [
+   q(3671) => [
       q(Kuni-Boazi),
       ],
-   q(3673) => [
+   q(3672) => [
       q(Komodo),
       ],
-   q(3674) => [
+   q(3673) => [
       q(Kwang),
       ],
-   q(3675) => [
+   q(3674) => [
       q(Psikye),
       ],
-   q(3676) => [
+   q(3675) => [
       q(Korean Sign Language),
       ],
-   q(3677) => [
+   q(3676) => [
       q(Kayaw),
       ],
-   q(3678) => [
+   q(3677) => [
       q(Kendem),
       ],
-   q(3679) => [
+   q(3678) => [
       q(Border Kuna),
       ],
-   q(3680) => [
+   q(3679) => [
       q(Dobel),
       ],
-   q(3681) => [
+   q(3680) => [
       q(Kompane),
       ],
-   q(3682) => [
+   q(3681) => [
       q(Geba Karen),
       ],
-   q(3683) => [
+   q(3682) => [
       q(Kerinci),
       ],
-   q(3684) => [
+   q(3683) => [
       q(Kunggara),
       ],
-   q(3685) => [
+   q(3684) => [
       q(Lahta Karen),
       q(Lahta),
       ],
-   q(3686) => [
+   q(3685) => [
       q(Yinbaw Karen),
       ],
-   q(3687) => [
+   q(3686) => [
       q(Kola),
       ],
-   q(3688) => [
+   q(3687) => [
       q(Wersing),
       ],
-   q(3689) => [
+   q(3688) => [
       q(Parkari Koli),
       ],
-   q(3690) => [
+   q(3689) => [
       q(Yintale Karen),
       q(Yintale),
       ],
-   q(3691) => [
+   q(3690) => [
       q(Tsakwambo),
       q(Tsaukambo),
       ],
-   q(3692) => [
+   q(3691) => [
       q(Daw),
       ],
-   q(3693) => [
+   q(3692) => [
       q(Kwa),
       ],
-   q(3694) => [
+   q(3693) => [
       q(Likwala),
       ],
-   q(3695) => [
+   q(3694) => [
       q(Kwaio),
       ],
-   q(3696) => [
+   q(3695) => [
       q(Kwerba),
       ],
-   q(3697) => [
+   q(3696) => [
       q(Kwara'ae),
       ],
-   q(3698) => [
+   q(3697) => [
       q(Sara Kaba Deme),
       ],
-   q(3699) => [
+   q(3698) => [
       q(Kowiai),
       ],
-   q(3700) => [
+   q(3699) => [
       q(Awa-Cuaiquer),
       ],
-   q(3701) => [
+   q(3700) => [
       q(Kwanga),
       ],
-   q(3702) => [
+   q(3701) => [
       q(Kwakiutl),
       ],
-   q(3703) => [
+   q(3702) => [
       q(Kofyar),
       ],
-   q(3704) => [
+   q(3703) => [
       q(Kwambi),
       ],
-   q(3705) => [
+   q(3704) => [
       q(Kwangali),
       ],
-   q(3706) => [
+   q(3705) => [
       q(Kwomtari),
       ],
-   q(3707) => [
+   q(3706) => [
       q(Kodia),
       ],
-   q(3708) => [
+   q(3707) => [
       q(Kwer),
       ],
-   q(3709) => [
+   q(3708) => [
       q(Kwese),
       ],
-   q(3710) => [
+   q(3709) => [
       q(Kwesten),
       ],
-   q(3711) => [
+   q(3710) => [
       q(Kwakum),
       ],
-   q(3712) => [
+   q(3711) => [
       q(Sara Kaba Naa),
       ],
-   q(3713) => [
+   q(3712) => [
       q(Kwinti),
       ],
-   q(3714) => [
+   q(3713) => [
       q(Khirwar),
       ],
-   q(3715) => [
+   q(3714) => [
       q(San Salvador Kongo),
       ],
-   q(3716) => [
+   q(3715) => [
       q(Kwadi),
       ],
-   q(3717) => [
+   q(3716) => [
       q(Kairiru),
       ],
-   q(3718) => [
+   q(3717) => [
       q(Krobu),
       ],
-   q(3719) => [
+   q(3718) => [
       q(Konso),
       q(Khonso),
       ],
-   q(3720) => [
+   q(3719) => [
       q(Brunei),
       ],
-   q(3721) => [
+   q(3720) => [
       q(Manumanaw Karen),
       q(Manumanaw),
       ],
-   q(3722) => [
+   q(3721) => [
       q(Karo (Ethiopia)),
       ],
-   q(3723) => [
+   q(3722) => [
       q(Keningau Murut),
       ],
-   q(3724) => [
+   q(3723) => [
       q(Kulfa),
       ],
-   q(3725) => [
+   q(3724) => [
       q(Zayein Karen),
       ],
-   q(3726) => [
+   q(3725) => [
       q(Nepali Kurux),
       ],
-   q(3727) => [
+   q(3726) => [
       q(Northern Khmer),
       ],
-   q(3728) => [
+   q(3727) => [
       q(Kanowit-Tanjong Melanau),
       ],
-   q(3729) => [
+   q(3728) => [
       q(Kanoe),
       ],
-   q(3730) => [
+   q(3729) => [
       q(Wadiyara Koli),
       ],
-   q(3731) => [
+   q(3730) => [
       q(Smarky Kanum),
       ],
-   q(3732) => [
+   q(3731) => [
       q(Koro (Papua New Guinea)),
       ],
-   q(3733) => [
+   q(3732) => [
       q(Kangjia),
       ],
-   q(3734) => [
+   q(3733) => [
       q(Koiwat),
       ],
-   q(3735) => [
+   q(3734) => [
       q(Kui (India)),
       ],
-   q(3736) => [
+   q(3735) => [
       q(Kuvi),
       ],
-   q(3737) => [
+   q(3736) => [
       q(Konai),
       ],
-   q(3738) => [
+   q(3737) => [
       q(Likuba),
       ],
-   q(3739) => [
+   q(3738) => [
       q(Kayong),
       ],
-   q(3740) => [
+   q(3739) => [
       q(Kerewo),
       ],
-   q(3741) => [
+   q(3740) => [
       q(Kwaya),
       ],
-   q(3742) => [
+   q(3741) => [
       q(Butbut Kalinga),
       ],
-   q(3743) => [
+   q(3742) => [
       q(Kyaka),
       ],
-   q(3744) => [
+   q(3743) => [
       q(Karey),
       ],
-   q(3745) => [
+   q(3744) => [
       q(Krache),
       ],
-   q(3746) => [
+   q(3745) => [
       q(Kouya),
       ],
-   q(3747) => [
+   q(3746) => [
       q(Keyagana),
       ],
-   q(3748) => [
+   q(3747) => [
       q(Karok),
       ],
-   q(3749) => [
+   q(3748) => [
       q(Kiput),
       ],
-   q(3750) => [
+   q(3749) => [
       q(Karao),
       ],
-   q(3751) => [
+   q(3750) => [
       q(Kamayo),
       ],
-   q(3752) => [
+   q(3751) => [
       q(Kalapuya),
       ],
-   q(3753) => [
+   q(3752) => [
       q(Kpatili),
       ],
-   q(3754) => [
+   q(3753) => [
       q(Northern Binukidnon),
       ],
-   q(3755) => [
+   q(3754) => [
       q(Kelon),
       ],
-   q(3756) => [
+   q(3755) => [
       q(Kang),
       ],
-   q(3757) => [
+   q(3756) => [
       q(Kenga),
       ],
-   q(3758) => [
+   q(3757) => [
       q(Kuruaya),
       ],
-   q(3759) => [
+   q(3758) => [
       q(Baram Kayan),
       ],
-   q(3760) => [
+   q(3759) => [
       q(Kayagar),
       ],
-   q(3761) => [
+   q(3760) => [
       q(Western Kayah),
       ],
-   q(3762) => [
+   q(3761) => [
       q(Kayort),
       ],
-   q(3763) => [
+   q(3762) => [
       q(Kudmali),
       ],
-   q(3764) => [
+   q(3763) => [
       q(Rapoisi),
       ],
-   q(3765) => [
+   q(3764) => [
       q(Kambaira),
       ],
-   q(3766) => [
+   q(3765) => [
       q(Kayabi),
       ],
-   q(3767) => [
+   q(3766) => [
       q(Western Karaboro),
       ],
-   q(3768) => [
+   q(3767) => [
       q(Kaibobo),
       ],
-   q(3769) => [
+   q(3768) => [
       q(Bondoukou Kulango),
       ],
-   q(3770) => [
+   q(3769) => [
       q(Kadai),
       ],
-   q(3771) => [
+   q(3770) => [
       q(Kosena),
       ],
-   q(3772) => [
+   q(3771) => [
       q(Da'a Kaili),
       ],
-   q(3773) => [
+   q(3772) => [
       q(Kikai),
       ],
-   q(3774) => [
+   q(3773) => [
       q(Kelabit),
       ],
-   q(3775) => [
+   q(3774) => [
       q(Coastal Kadazan),
       ],
-   q(3776) => [
+   q(3775) => [
       q(Kazukuru),
       ],
-   q(3777) => [
+   q(3776) => [
       q(Kayeli),
       ],
-   q(3778) => [
+   q(3777) => [
       q(Kais),
       ],
-   q(3779) => [
+   q(3778) => [
       q(Kokola),
       ],
-   q(3780) => [
+   q(3779) => [
       q(Kaningi),
       ],
-   q(3781) => [
+   q(3780) => [
       q(Kaidipang),
       ],
-   q(3782) => [
+   q(3781) => [
       q(Kaike),
       ],
-   q(3783) => [
+   q(3782) => [
       q(Karang),
       ],
-   q(3784) => [
+   q(3783) => [
       q(Sugut Dusun),
       ],
-   q(3785) => [
+   q(3784) => [
       q(Tambunan Dusun),
       ],
-   q(3786) => [
+   q(3785) => [
       q(Kayupulau),
       ],
-   q(3787) => [
+   q(3786) => [
       q(Komyandaret),
       ],
-   q(3788) => [
+   q(3787) => [
       q(Kariri-Xoco),
       ],
-   q(3789) => [
+   q(3788) => [
       q(Kamarian),
       ],
-   q(3790) => [
+   q(3789) => [
       q(Kango (Tshopo District)),
       ],
-   q(3791) => [
+   q(3790) => [
       q(Kalabra),
       ],
-   q(3792) => [
+   q(3791) => [
       q(Southern Subanen),
       ],
-   q(3793) => [
+   q(3792) => [
       q(Linear A),
       ],
-   q(3794) => [
+   q(3793) => [
       q(Lacandon),
       ],
-   q(3795) => [
+   q(3794) => [
       q(Pattani),
       ],
-   q(3796) => [
+   q(3795) => [
       q(Lafofa),
       ],
-   q(3797) => [
+   q(3796) => [
       q(Langi),
       ],
-   q(3798) => [
+   q(3797) => [
       q(Lambya),
       ],
-   q(3799) => [
+   q(3798) => [
       q(Lango (Uganda)),
       ],
-   q(3800) => [
+   q(3799) => [
       q(Laka (Nigeria)),
       ],
-   q(3801) => [
+   q(3800) => [
       q(Lalia),
       ],
-   q(3802) => [
+   q(3801) => [
       q(Laru),
       ],
-   q(3803) => [
+   q(3802) => [
       q(Laka (Chad)),
       ],
-   q(3804) => [
+   q(3803) => [
       q(Qabiao),
       ],
-   q(3805) => [
+   q(3804) => [
       q(Larteh),
       ],
-   q(3806) => [
+   q(3805) => [
       q(Lama (Togo)),
       ],
-   q(3807) => [
+   q(3806) => [
       q(Laba),
       ],
-   q(3808) => [
+   q(3807) => [
       q(Lauje),
       ],
-   q(3809) => [
+   q(3808) => [
       q(Tiwa),
       ],
-   q(3810) => [
+   q(3809) => [
       q(Lama Bai),
       ],
-   q(3811) => [
+   q(3810) => [
       q(Aribwatsa),
       ],
-   q(3812) => [
+   q(3811) => [
       q(Lui),
       ],
-   q(3813) => [
+   q(3812) => [
       q(Label),
       ],
-   q(3814) => [
+   q(3813) => [
       q(Lakkia),
       ],
-   q(3815) => [
+   q(3814) => [
       q(Lak),
       ],
-   q(3816) => [
+   q(3815) => [
       q(Tinani),
       ],
-   q(3817) => [
+   q(3816) => [
       q(Laopang),
       ],
-   q(3818) => [
+   q(3817) => [
       q(La'bi),
       ],
-   q(3819) => [
+   q(3818) => [
       q(Ladakhi),
       ],
-   q(3820) => [
+   q(3819) => [
       q(Central Bontok),
       ],
-   q(3821) => [
+   q(3820) => [
       q(Libon Bikol),
       ],
-   q(3822) => [
+   q(3821) => [
       q(Lodhi),
       ],
-   q(3823) => [
+   q(3822) => [
       q(Lamet),
       ],
-   q(3824) => [
+   q(3823) => [
       q(Laven),
       ],
-   q(3825) => [
+   q(3824) => [
       q(Wampar),
       ],
-   q(3826) => [
+   q(3825) => [
       q(Lohorung),
       ],
-   q(3827) => [
+   q(3826) => [
       q(Libyan Sign Language),
       ],
-   q(3828) => [
+   q(3827) => [
       q(Lachi),
       ],
-   q(3829) => [
+   q(3828) => [
       q(Labu),
       ],
-   q(3830) => [
+   q(3829) => [
       q(Lavatbura-Lamusong),
       ],
-   q(3831) => [
+   q(3830) => [
       q(Tolaki),
       ],
-   q(3832) => [
+   q(3831) => [
       q(Lawangan),
       ],
-   q(3833) => [
+   q(3832) => [
       q(Lamu-Lamu),
       ],
-   q(3834) => [
+   q(3833) => [
       q(Lardil),
       ],
-   q(3835) => [
+   q(3834) => [
       q(Legenyem),
       ],
-   q(3836) => [
+   q(3835) => [
       q(Lola),
       ],
-   q(3837) => [
+   q(3836) => [
       q(Loncong),
       ],
-   q(3838) => [
+   q(3837) => [
       q(Lubu),
       ],
-   q(3839) => [
+   q(3838) => [
       q(Luchazi),
       ],
-   q(3840) => [
+   q(3839) => [
       q(Lisela),
       ],
-   q(3841) => [
+   q(3840) => [
       q(Tungag),
       ],
-   q(3842) => [
+   q(3841) => [
       q(Western Lawa),
       ],
-   q(3843) => [
+   q(3842) => [
       q(Luhu),
       ],
-   q(3844) => [
+   q(3843) => [
       q(Lisabata-Nuniali),
       ],
-   q(3845) => [
+   q(3844) => [
       q(Kla-Dan),
       ],
-   q(3846) => [
+   q(3845) => [
       q(Duya),
       ],
-   q(3847) => [
+   q(3846) => [
       q(Luri),
       ],
-   q(3848) => [
+   q(3847) => [
       q(Lenyima),
       ],
-   q(3849) => [
+   q(3848) => [
       q(Lamja-Dengsa-Tola),
       ],
-   q(3850) => [
+   q(3849) => [
       q(Laari),
       ],
-   q(3851) => [
+   q(3850) => [
       q(Lemoro),
       ],
-   q(3852) => [
+   q(3851) => [
       q(Leelau),
       ],
-   q(3853) => [
+   q(3852) => [
       q(Kaan),
       ],
-   q(3854) => [
+   q(3853) => [
       q(Landoma),
       ],
-   q(3855) => [
+   q(3854) => [
       q(Laadan),
       ],
-   q(3856) => [
+   q(3855) => [
       q(Loo),
       ],
-   q(3857) => [
+   q(3856) => [
       q(Tso),
       ],
-   q(3858) => [
+   q(3857) => [
       q(Lufu),
       ],
-   q(3859) => [
+   q(3858) => [
       q(Lega-Shabunda),
       ],
-   q(3860) => [
+   q(3859) => [
       q(Lala-Bisa),
       ],
-   q(3861) => [
+   q(3860) => [
       q(Leco),
       ],
-   q(3862) => [
+   q(3861) => [
       q(Lendu),
       ],
-   q(3863) => [
+   q(3862) => [
       q(Lyele),
       ],
-   q(3864) => [
+   q(3863) => [
       q(Lelemi),
       ],
-   q(3865) => [
+   q(3864) => [
       q(Lenje),
       ],
-   q(3866) => [
+   q(3865) => [
       q(Lemio),
       ],
-   q(3867) => [
+   q(3866) => [
       q(Lengola),
       ],
-   q(3868) => [
+   q(3867) => [
       q(Leipon),
       ],
-   q(3869) => [
+   q(3868) => [
       q(Lele (Democratic Republic of Congo)),
       ],
-   q(3870) => [
+   q(3869) => [
       q(Nomaande),
       ],
-   q(3871) => [
+   q(3870) => [
       q(Lenca),
       ],
-   q(3872) => [
+   q(3871) => [
       q(Leti (Cameroon)),
       ],
-   q(3873) => [
+   q(3872) => [
       q(Lepcha),
       ],
-   q(3874) => [
+   q(3873) => [
       q(Lembena),
       ],
-   q(3875) => [
+   q(3874) => [
       q(Lenkau),
       ],
-   q(3876) => [
+   q(3875) => [
       q(Lese),
       ],
-   q(3877) => [
+   q(3876) => [
       q(Lesing-Gelimi),
       q(Amio-Gelimi),
       ],
-   q(3878) => [
+   q(3877) => [
       q(Kara (Papua New Guinea)),
       ],
-   q(3879) => [
+   q(3878) => [
       q(Lamma),
       ],
-   q(3880) => [
+   q(3879) => [
       q(Ledo Kaili),
       ],
-   q(3881) => [
+   q(3880) => [
       q(Luang),
       ],
-   q(3882) => [
+   q(3881) => [
       q(Lemolang),
       ],
-   q(3883) => [
+   q(3882) => [
       q(Lefa),
       ],
-   q(3884) => [
+   q(3883) => [
       q(Lingua Franca Nova),
       ],
-   q(3885) => [
+   q(3884) => [
       q(Lungga),
       ],
-   q(3886) => [
+   q(3885) => [
       q(Laghu),
       ],
-   q(3887) => [
+   q(3886) => [
       q(Lugbara),
       ],
-   q(3888) => [
+   q(3887) => [
       q(Laghuu),
       ],
-   q(3889) => [
+   q(3888) => [
       q(Lengilu),
       ],
-   q(3890) => [
+   q(3889) => [
       q(Lingarak),
       q(Neverver),
       ],
-   q(3891) => [
+   q(3890) => [
       q(Wala),
       ],
-   q(3892) => [
+   q(3891) => [
       q(Lega-Mwenga),
       ],
-   q(3893) => [
+   q(3892) => [
       q(Opuuo),
       ],
-   q(3894) => [
+   q(3893) => [
       q(Logba),
       ],
-   q(3895) => [
+   q(3894) => [
       q(Lengo),
       ],
-   q(3896) => [
+   q(3895) => [
       q(Pahi),
       ],
-   q(3897) => [
+   q(3896) => [
       q(Longgu),
       ],
-   q(3898) => [
+   q(3897) => [
       q(Ligenza),
       ],
-   q(3899) => [
+   q(3898) => [
       q(Laha (Viet Nam)),
       ],
-   q(3900) => [
+   q(3899) => [
       q(Laha (Indonesia)),
       ],
-   q(3901) => [
+   q(3900) => [
       q(Lahu Shi),
       ],
-   q(3902) => [
+   q(3901) => [
       q(Lahul Lohar),
       ],
-   q(3903) => [
+   q(3902) => [
       q(Lhomi),
       ],
-   q(3904) => [
+   q(3903) => [
       q(Lahanan),
       ],
-   q(3905) => [
+   q(3904) => [
       q(Lhokpu),
       ],
-   q(3906) => [
+   q(3905) => [
       q(Mlahso),
       ],
-   q(3907) => [
+   q(3906) => [
       q(Lo-Toga),
       ],
-   q(3908) => [
+   q(3907) => [
       q(Lahu),
       ],
-   q(3909) => [
+   q(3908) => [
       q(West-Central Limba),
       ],
-   q(3910) => [
+   q(3909) => [
       q(Likum),
       ],
-   q(3911) => [
+   q(3910) => [
       q(Hlai),
       ],
-   q(3912) => [
+   q(3911) => [
       q(Nyindrou),
       ],
-   q(3913) => [
+   q(3912) => [
       q(Likila),
       ],
-   q(3914) => [
+   q(3913) => [
       q(Limbu),
       ],
-   q(3915) => [
+   q(3914) => [
       q(Ligbi),
       ],
-   q(3916) => [
+   q(3915) => [
       q(Lihir),
       ],
-   q(3917) => [
+   q(3916) => [
       q(Ligurian),
       ],
-   q(3918) => [
+   q(3917) => [
       q(Lika),
       ],
-   q(3919) => [
+   q(3918) => [
       q(Lillooet),
       ],
-   q(3920) => [
+   q(3919) => [
       q(Liki),
       ],
-   q(3921) => [
+   q(3920) => [
       q(Sekpele),
       ],
-   q(3922) => [
+   q(3921) => [
       q(Libido),
       ],
-   q(3923) => [
+   q(3922) => [
       q(Liberian English),
       ],
-   q(3924) => [
+   q(3923) => [
       q(Lisu),
       ],
-   q(3925) => [
+   q(3924) => [
       q(Logorik),
       ],
-   q(3926) => [
+   q(3925) => [
       q(Liv),
       ],
-   q(3927) => [
+   q(3926) => [
       q(Col),
       ],
-   q(3928) => [
+   q(3927) => [
       q(Liabuku),
       ],
-   q(3929) => [
+   q(3928) => [
       q(Banda-Bambari),
       ],
-   q(3930) => [
+   q(3929) => [
       q(Libinza),
       ],
-   q(3931) => [
+   q(3930) => [
       q(Golpa),
       ],
-   q(3932) => [
+   q(3931) => [
       q(Rampi),
       ],
-   q(3933) => [
+   q(3932) => [
       q(Laiyolo),
       ],
-   q(3934) => [
+   q(3933) => [
       q(Li'o),
       ],
-   q(3935) => [
+   q(3934) => [
       q(Lampung Api),
       ],
-   q(3936) => [
+   q(3935) => [
       q(Yirandali),
       ],
-   q(3937) => [
+   q(3936) => [
       q(Yuru),
       ],
-   q(3938) => [
+   q(3937) => [
       q(Lakalei),
       ],
-   q(3939) => [
+   q(3938) => [
       q(Kabras),
       q(Lukabaras),
       ],
-   q(3940) => [
+   q(3939) => [
       q(Kucong),
       ],
-   q(3941) => [
+   q(3940) => [
       q(Lakonde),
       ],
-   q(3942) => [
+   q(3941) => [
       q(Kenyi),
       ],
-   q(3943) => [
+   q(3942) => [
       q(Lakha),
       ],
-   q(3944) => [
+   q(3943) => [
       q(Laki),
       ],
-   q(3945) => [
+   q(3944) => [
       q(Remun),
       ],
-   q(3946) => [
+   q(3945) => [
       q(Laeko-Libuat),
       ],
-   q(3947) => [
+   q(3946) => [
       q(Kalaamaya),
       ],
-   q(3948) => [
+   q(3947) => [
       q(Lakon),
       q(Vure),
       ],
-   q(3949) => [
+   q(3948) => [
       q(Khayo),
       q(Olukhayo),
       ],
-   q(3950) => [
+   q(3949) => [
       q(Pari),
       ],
-   q(3951) => [
+   q(3950) => [
       q(Kisa),
       q(Olushisa),
       ],
-   q(3952) => [
+   q(3951) => [
       q(Lakota),
       ],
-   q(3953) => [
+   q(3952) => [
       q(Kungkari),
       ],
-   q(3954) => [
+   q(3953) => [
       q(Lokoya),
       ],
-   q(3955) => [
+   q(3954) => [
       q(Lala-Roba),
       ],
-   q(3956) => [
+   q(3955) => [
       q(Lolo),
       ],
-   q(3957) => [
+   q(3956) => [
       q(Lele (Guinea)),
       ],
-   q(3958) => [
+   q(3957) => [
       q(Ladin),
       ],
-   q(3959) => [
+   q(3958) => [
       q(Lele (Papua New Guinea)),
       ],
-   q(3960) => [
+   q(3959) => [
       q(Hermit),
       ],
-   q(3961) => [
+   q(3960) => [
       q(Lole),
       ],
-   q(3962) => [
+   q(3961) => [
       q(Lamu),
       ],
-   q(3963) => [
+   q(3962) => [
       q(Teke-Laali),
       ],
-   q(3964) => [
+   q(3963) => [
       q(Ladji Ladji),
       ],
-   q(3965) => [
+   q(3964) => [
       q(Lelak),
       ],
-   q(3966) => [
+   q(3965) => [
       q(Lilau),
       ],
-   q(3967) => [
+   q(3966) => [
       q(Lasalimu),
       ],
-   q(3968) => [
+   q(3967) => [
       q(Lele (Chad)),
       ],
-   q(3969) => [
+   q(3968) => [
       q(Khlor),
       ],
-   q(3970) => [
+   q(3969) => [
       q(North Efate),
       ],
-   q(3971) => [
+   q(3970) => [
       q(Lolak),
       ],
-   q(3972) => [
+   q(3971) => [
       q(Lithuanian Sign Language),
       ],
-   q(3973) => [
+   q(3972) => [
       q(Lau),
       ],
-   q(3974) => [
+   q(3973) => [
       q(Lauan),
       ],
-   q(3975) => [
+   q(3974) => [
       q(East Limba),
       ],
-   q(3976) => [
+   q(3975) => [
       q(Merei),
       ],
-   q(3977) => [
+   q(3976) => [
       q(Limilngan),
       ],
-   q(3978) => [
+   q(3977) => [
       q(Lumun),
       ],
-   q(3979) => [
+   q(3978) => [
       q(Peve),
       ],
-   q(3980) => [
+   q(3979) => [
       q(South Lembata),
       ],
-   q(3981) => [
+   q(3980) => [
       q(Lamogai),
       ],
-   q(3982) => [
+   q(3981) => [
       q(Lambichhong),
       ],
-   q(3983) => [
+   q(3982) => [
       q(Lombi),
       ],
-   q(3984) => [
+   q(3983) => [
       q(West Lembata),
       ],
-   q(3985) => [
+   q(3984) => [
       q(Lamkang),
       ],
-   q(3986) => [
+   q(3985) => [
       q(Hano),
       ],
-   q(3987) => [
+   q(3986) => [
       q(Lambadi),
       ],
-   q(3988) => [
+   q(3987) => [
       q(Lombard),
       ],
-   q(3989) => [
+   q(3988) => [
       q(Limbum),
       ],
-   q(3990) => [
+   q(3989) => [
       q(Lamatuka),
       ],
-   q(3991) => [
+   q(3990) => [
       q(Lamalera),
       ],
-   q(3992) => [
+   q(3991) => [
       q(Lamenu),
       ],
-   q(3993) => [
+   q(3992) => [
       q(Lomaiviti),
       ],
-   q(3994) => [
+   q(3993) => [
       q(Lake Miwok),
       ],
-   q(3995) => [
+   q(3994) => [
       q(Laimbue),
       ],
-   q(3996) => [
+   q(3995) => [
       q(Lamboya),
       ],
-   q(3997) => [
+   q(3996) => [
       q(Lumbee),
       ],
-   q(3998) => [
+   q(3997) => [
       q(Langbashe),
       ],
-   q(3999) => [
+   q(3998) => [
       q(Mbalanhu),
       ],
-   q(4000) => [
+   q(3999) => [
       q(Lundayeh),
       q(Lun Bawang),
       ],
-   q(4001) => [
+   q(4000) => [
       q(Langobardic),
       ],
-   q(4002) => [
+   q(4001) => [
       q(Lanoh),
       ],
-   q(4003) => [
+   q(4002) => [
       q(Daantanai'),
       ],
-   q(4004) => [
+   q(4003) => [
       q(Leningitij),
       ],
-   q(4005) => [
+   q(4004) => [
       q(South Central Banda),
       ],
-   q(4006) => [
+   q(4005) => [
       q(Langam),
       ],
-   q(4007) => [
+   q(4006) => [
       q(Lorediakarkar),
       ],
-   q(4008) => [
+   q(4007) => [
       q(Lango (Sudan)),
       ],
-   q(4009) => [
+   q(4008) => [
       q(Lamnso'),
       ],
-   q(4010) => [
+   q(4009) => [
       q(Longuda),
       ],
-   q(4011) => [
+   q(4010) => [
       q(Lanima),
       ],
-   q(4012) => [
+   q(4011) => [
       q(Lonzo),
       ],
-   q(4013) => [
+   q(4012) => [
       q(Loloda),
       ],
-   q(4014) => [
+   q(4013) => [
       q(Lobi),
       ],
-   q(4015) => [
+   q(4014) => [
       q(Inonhan),
       ],
-   q(4016) => [
+   q(4015) => [
       q(Saluan),
       ],
-   q(4017) => [
+   q(4016) => [
       q(Logol),
       ],
-   q(4018) => [
+   q(4017) => [
       q(Logo),
       ],
-   q(4019) => [
+   q(4018) => [
       q(Narim),
       ],
-   q(4020) => [
+   q(4019) => [
       q(Loma (Cote d'Ivoire)),
       ],
-   q(4021) => [
+   q(4020) => [
       q(Lou),
       ],
-   q(4022) => [
+   q(4021) => [
       q(Loko),
       ],
-   q(4023) => [
+   q(4022) => [
       q(Loma (Liberia)),
       ],
-   q(4024) => [
+   q(4023) => [
       q(Malawi Lomwe),
       ],
-   q(4025) => [
+   q(4024) => [
       q(Lombo),
       ],
-   q(4026) => [
+   q(4025) => [
       q(Lopa),
       ],
-   q(4027) => [
+   q(4026) => [
       q(Lobala),
       ],
-   q(4028) => [
+   q(4027) => [
       q(Teen),
       ],
-   q(4029) => [
+   q(4028) => [
       q(Loniu),
       ],
-   q(4030) => [
+   q(4029) => [
       q(Otuho),
       ],
-   q(4031) => [
+   q(4030) => [
       q(Louisiana Creole French),
       ],
-   q(4032) => [
+   q(4031) => [
       q(Lopi),
       ],
-   q(4033) => [
+   q(4032) => [
       q(Tampias Lobu),
       ],
-   q(4034) => [
+   q(4033) => [
       q(Loun),
       ],
-   q(4035) => [
+   q(4034) => [
       q(Loke),
       ],
-   q(4036) => [
+   q(4035) => [
       q(Lelepa),
       ],
-   q(4037) => [
+   q(4036) => [
       q(Lepki),
       ],
-   q(4038) => [
+   q(4037) => [
       q(Long Phuri Naga),
       ],
-   q(4039) => [
+   q(4038) => [
       q(Lipo),
       ],
-   q(4040) => [
+   q(4039) => [
       q(Lopit),
       ],
-   q(4041) => [
+   q(4040) => [
       q(Rara Bakati'),
       ],
-   q(4042) => [
+   q(4041) => [
       q(Northern Luri),
       ],
-   q(4043) => [
+   q(4042) => [
       q(Laurentian),
       ],
-   q(4044) => [
+   q(4043) => [
       q(Laragia),
       ],
-   q(4045) => [
+   q(4044) => [
       q(Marachi),
       q(Olumarachi),
       ],
-   q(4046) => [
+   q(4045) => [
       q(Loarki),
       ],
-   q(4047) => [
+   q(4046) => [
       q(Lari),
       ],
-   q(4048) => [
+   q(4047) => [
       q(Marama),
       q(Olumarama),
       ],
-   q(4049) => [
+   q(4048) => [
       q(Lorang),
       ],
-   q(4050) => [
+   q(4049) => [
       q(Laro),
       ],
-   q(4051) => [
+   q(4050) => [
       q(Southern Yamphu),
       ],
-   q(4052) => [
+   q(4051) => [
       q(Larantuka Malay),
       ],
-   q(4053) => [
+   q(4052) => [
       q(Larevat),
       ],
-   q(4054) => [
+   q(4053) => [
       q(Lemerig),
       ],
-   q(4055) => [
+   q(4054) => [
       q(Lasgerdi),
       ],
-   q(4056) => [
+   q(4055) => [
       q(Lishana Deni),
       ],
-   q(4057) => [
+   q(4056) => [
       q(Lusengo),
       ],
-   q(4058) => [
+   q(4057) => [
       q(Lyons Sign Language),
       ],
-   q(4059) => [
+   q(4058) => [
       q(Lish),
       ],
-   q(4060) => [
+   q(4059) => [
       q(Lashi),
       ],
-   q(4061) => [
+   q(4060) => [
       q(Latvian Sign Language),
       ],
-   q(4062) => [
+   q(4061) => [
       q(Saamia),
       q(Olusamia),
       ],
-   q(4063) => [
+   q(4062) => [
       q(Laos Sign Language),
       ],
-   q(4064) => [
+   q(4063) => [
       q(Panamanian Sign Language),
       q(Lengua de Senas Panamenas),
       ],
-   q(4065) => [
+   q(4064) => [
       q(Aruop),
       ],
-   q(4066) => [
+   q(4065) => [
       q(Lasi),
       ],
-   q(4067) => [
+   q(4066) => [
       q(Trinidad and Tobago Sign Language),
       ],
-   q(4068) => [
+   q(4067) => [
       q(Mauritian Sign Language),
       ],
-   q(4069) => [
+   q(4068) => [
       q(Late Middle Chinese),
       ],
-   q(4070) => [
+   q(4069) => [
       q(Latgalian),
       ],
-   q(4071) => [
+   q(4070) => [
       q(Leti (Indonesia)),
       ],
-   q(4072) => [
+   q(4071) => [
       q(Latunde),
       ],
-   q(4073) => [
+   q(4072) => [
       q(Tsotso),
       q(Olutsotso),
       ],
-   q(4074) => [
+   q(4073) => [
       q(Tachoni),
       q(Lutachoni),
       ],
-   q(4075) => [
+   q(4074) => [
       q(Latu),
       ],
-   q(4076) => [
+   q(4075) => [
       q(Aringa),
       ],
-   q(4077) => [
+   q(4076) => [
       q(Ludian),
       ],
-   q(4078) => [
+   q(4077) => [
       q(Luvale),
       ],
-   q(4079) => [
+   q(4078) => [
       q(Laua),
       ],
-   q(4080) => [
+   q(4079) => [
       q(Luna),
       ],
-   q(4081) => [
+   q(4080) => [
       q(Lunanakha),
       ],
-   q(4082) => [
+   q(4081) => [
       q(Olu'bo),
       ],
-   q(4083) => [
+   q(4082) => [
       q(Luimbi),
       ],
-   q(4084) => [
+   q(4083) => [
       q(Lumbu),
       ],
-   q(4085) => [
+   q(4084) => [
       q(Lucumi),
       ],
-   q(4086) => [
+   q(4085) => [
       q(Laura),
       ],
-   q(4087) => [
+   q(4086) => [
       q(Lushootseed),
       ],
-   q(4088) => [
+   q(4087) => [
       q(Lumba-Yakkha),
       ],
-   q(4089) => [
+   q(4088) => [
       q(Luwati),
       ],
-   q(4090) => [
+   q(4089) => [
       q(Luo (Cameroon)),
       ],
-   q(4091) => [
+   q(4090) => [
       q(Luyia),
       q(Oluluyia),
       ],
-   q(4092) => [
+   q(4091) => [
       q(Southern Luri),
       ],
-   q(4093) => [
+   q(4092) => [
       q(Maku'a),
       ],
-   q(4094) => [
+   q(4093) => [
       q(Lavukaleve),
       ],
-   q(4095) => [
+   q(4094) => [
       q(Standard Latvian),
       ],
-   q(4096) => [
+   q(4095) => [
       q(Levuka),
       ],
-   q(4097) => [
+   q(4096) => [
       q(Lwalu),
       ],
-   q(4098) => [
+   q(4097) => [
       q(Lewo Eleng),
       ],
-   q(4099) => [
+   q(4098) => [
       q(Wanga),
       q(Oluwanga),
       ],
-   q(4100) => [
+   q(4099) => [
       q(White Lachi),
       ],
-   q(4101) => [
+   q(4100) => [
       q(Eastern Lawa),
       ],
-   q(4102) => [
+   q(4101) => [
       q(Laomian),
       ],
-   q(4103) => [
+   q(4102) => [
       q(Luwo),
       ],
-   q(4104) => [
+   q(4103) => [
       q(Lewotobi),
       ],
-   q(4105) => [
+   q(4104) => [
       q(Lawu),
       ],
-   q(4106) => [
+   q(4105) => [
       q(Lewo),
       ],
-   q(4107) => [
+   q(4106) => [
       q(Layakha),
       ],
-   q(4108) => [
+   q(4107) => [
       q(Lyngngam),
       ],
-   q(4109) => [
+   q(4108) => [
       q(Luyana),
       ],
-   q(4110) => [
+   q(4109) => [
       q(Literary Chinese),
       ],
-   q(4111) => [
+   q(4110) => [
       q(Litzlitz),
       ],
-   q(4112) => [
+   q(4111) => [
       q(Leinong Naga),
       ],
-   q(4113) => [
+   q(4112) => [
       q(Laz),
       ],
-   q(4114) => [
+   q(4113) => [
       q(San Jeronimo Tecoatl Mazatec),
       ],
-   q(4115) => [
+   q(4114) => [
       q(Yutanduchi Mixtec),
       ],
-   q(4116) => [
+   q(4115) => [
       q(Bo-Rukul),
       ],
-   q(4117) => [
+   q(4116) => [
       q(Mafa),
       ],
-   q(4118) => [
+   q(4117) => [
       q(Jalapa De Diaz Mazatec),
       ],
-   q(4119) => [
+   q(4118) => [
       q(Mam),
       ],
-   q(4120) => [
+   q(4119) => [
       q(Chiquihuitlan Mazatec),
       ],
-   q(4121) => [
+   q(4120) => [
       q(San Francisco Matlatzinca),
       ],
-   q(4122) => [
+   q(4121) => [
       q(Huautla Mazatec),
       ],
-   q(4123) => [
+   q(4122) => [
       q(Satere-Mawe),
       ],
-   q(4124) => [
+   q(4123) => [
       q(Mampruli),
       ],
-   q(4125) => [
+   q(4124) => [
       q(North Moluccan Malay),
       ],
-   q(4126) => [
+   q(4125) => [
       q(Central Mazahua),
       ],
-   q(4127) => [
+   q(4126) => [
       q(Higaonon),
       ],
-   q(4128) => [
+   q(4127) => [
       q(Western Bukidnon Manobo),
       ],
-   q(4129) => [
+   q(4128) => [
       q(Macushi),
       ],
-   q(4130) => [
+   q(4129) => [
       q(Dibabawon Manobo),
       ],
-   q(4131) => [
+   q(4130) => [
       q(Molale),
       ],
-   q(4132) => [
+   q(4131) => [
       q(Baba Malay),
       ],
-   q(4133) => [
+   q(4132) => [
       q(Mangseng),
       ],
-   q(4134) => [
+   q(4133) => [
       q(Ilianen Manobo),
       ],
-   q(4135) => [
+   q(4134) => [
       q(Nadeb),
       ],
-   q(4136) => [
+   q(4135) => [
       q(Malol),
       ],
-   q(4137) => [
+   q(4136) => [
       q(Maxakali),
       ],
-   q(4138) => [
+   q(4137) => [
       q(Ombamba),
       ],
-   q(4139) => [
+   q(4138) => [
       q(Macaguan),
       ],
-   q(4140) => [
+   q(4139) => [
       q(Mbo (Cameroon)),
       ],
-   q(4141) => [
+   q(4140) => [
       q(Malayo),
       ],
-   q(4142) => [
+   q(4141) => [
       q(Maisin),
       ],
-   q(4143) => [
+   q(4142) => [
       q(Nukak Maku),
       ],
-   q(4144) => [
+   q(4143) => [
       q(Sarangani Manobo),
       ],
-   q(4145) => [
+   q(4144) => [
       q(Matigsalug Manobo),
       ],
-   q(4146) => [
+   q(4145) => [
       q(Mbula-Bwazza),
       ],
-   q(4147) => [
+   q(4146) => [
       q(Mbulungish),
       ],
-   q(4148) => [
+   q(4147) => [
       q(Maring),
       ],
-   q(4149) => [
+   q(4148) => [
       q(Mari (East Sepik Province)),
       ],
-   q(4150) => [
+   q(4149) => [
       q(Memoni),
       ],
-   q(4151) => [
+   q(4150) => [
       q(Amoltepec Mixtec),
       ],
-   q(4152) => [
+   q(4151) => [
       q(Maca),
       ],
-   q(4153) => [
+   q(4152) => [
       q(Machiguenga),
       ],
-   q(4154) => [
+   q(4153) => [
       q(Bitur),
       ],
-   q(4155) => [
+   q(4154) => [
       q(Sharanahua),
       ],
-   q(4156) => [
+   q(4155) => [
       q(Itundujia Mixtec),
       ],
-   q(4157) => [
+   q(4156) => [
       q(Matses),
       ],
-   q(4158) => [
+   q(4157) => [
       q(Mapoyo),
       ],
-   q(4159) => [
+   q(4158) => [
       q(Maquiritari),
       ],
-   q(4160) => [
+   q(4159) => [
       q(Mese),
       ],
-   q(4161) => [
+   q(4160) => [
       q(Mvanip),
       ],
-   q(4162) => [
+   q(4161) => [
       q(Mbunda),
       ],
-   q(4163) => [
+   q(4162) => [
       q(Macaguaje),
       ],
-   q(4164) => [
+   q(4163) => [
       q(Malaccan Creole Portuguese),
       ],
-   q(4165) => [
+   q(4164) => [
       q(Masana),
       ],
-   q(4166) => [
+   q(4165) => [
       q(Coatlan Mixe),
       ],
-   q(4167) => [
+   q(4166) => [
       q(Makaa),
       ],
-   q(4168) => [
+   q(4167) => [
       q(Ese),
       ],
-   q(4169) => [
+   q(4168) => [
       q(Menya),
       ],
-   q(4170) => [
+   q(4169) => [
       q(Mambai),
       ],
-   q(4171) => [
+   q(4170) => [
       q(Mengisa),
       ],
-   q(4172) => [
+   q(4171) => [
       q(Cameroon Mambila),
       ],
-   q(4173) => [
+   q(4172) => [
       q(Minanibai),
       ],
-   q(4174) => [
+   q(4173) => [
       q(Mawa (Chad)),
       ],
-   q(4175) => [
+   q(4174) => [
       q(Mpiemo),
       ],
-   q(4176) => [
+   q(4175) => [
       q(South Watut),
       ],
-   q(4177) => [
+   q(4176) => [
       q(Mawan),
       ],
-   q(4178) => [
+   q(4177) => [
       q(Mada (Nigeria)),
       ],
-   q(4179) => [
+   q(4178) => [
       q(Morigi),
       ],
-   q(4180) => [
+   q(4179) => [
       q(Male (Papua New Guinea)),
       ],
-   q(4181) => [
+   q(4180) => [
       q(Mbum),
       ],
-   q(4182) => [
+   q(4181) => [
       q(Maba (Chad)),
       ],
-   q(4183) => [
+   q(4182) => [
       q(Massalat),
       ],
-   q(4184) => [
+   q(4183) => [
       q(Maguindanaon),
       ],
-   q(4185) => [
+   q(4184) => [
       q(Mamvu),
       ],
-   q(4186) => [
+   q(4185) => [
       q(Mangbetu),
       ],
-   q(4187) => [
+   q(4186) => [
       q(Mangbutu),
       ],
-   q(4188) => [
+   q(4187) => [
       q(Maltese Sign Language),
       ],
-   q(4189) => [
+   q(4188) => [
       q(Mayogo),
       ],
-   q(4190) => [
+   q(4189) => [
       q(Mbati),
       ],
-   q(4191) => [
+   q(4190) => [
       q(Mbala),
       ],
-   q(4192) => [
+   q(4191) => [
       q(Mbole),
       ],
-   q(4193) => [
+   q(4192) => [
       q(Maria (Papua New Guinea)),
       ],
-   q(4194) => [
+   q(4193) => [
       q(Mbere),
       ],
-   q(4195) => [
+   q(4194) => [
       q(Mboko),
       ],
-   q(4196) => [
+   q(4195) => [
       q(Santa Lucia Monteverde Mixtec),
       ],
-   q(4197) => [
+   q(4196) => [
       q(Mbosi),
       ],
-   q(4198) => [
+   q(4197) => [
       q(Dizin),
       ],
-   q(4199) => [
+   q(4198) => [
       q(Male (Ethiopia)),
       ],
-   q(4200) => [
+   q(4199) => [
       q(Surui Do Para),
       ],
-   q(4201) => [
+   q(4200) => [
       q(Menka),
       ],
-   q(4202) => [
+   q(4201) => [
       q(Ikobi),
       ],
-   q(4203) => [
+   q(4202) => [
       q(Mara),
       ],
-   q(4204) => [
+   q(4203) => [
       q(Melpa),
       ],
-   q(4205) => [
+   q(4204) => [
       q(Mengen),
       ],
-   q(4206) => [
+   q(4205) => [
       q(Megam),
       ],
-   q(4207) => [
+   q(4206) => [
       q(Southwestern Tlaxiaco Mixtec),
       ],
-   q(4208) => [
+   q(4207) => [
       q(Midob),
       ],
-   q(4209) => [
+   q(4208) => [
       q(Meyah),
       ],
-   q(4210) => [
+   q(4209) => [
       q(Mekeo),
       ],
-   q(4211) => [
+   q(4210) => [
       q(Central Melanau),
       ],
-   q(4212) => [
+   q(4211) => [
       q(Mangala),
       ],
-   q(4213) => [
+   q(4212) => [
       q(Kedah Malay),
       ],
-   q(4214) => [
+   q(4213) => [
       q(Miriwung),
       ],
-   q(4215) => [
+   q(4214) => [
       q(Merey),
       ],
-   q(4216) => [
+   q(4215) => [
       q(Meru),
       ],
-   q(4217) => [
+   q(4216) => [
       q(Masmaje),
       ],
-   q(4218) => [
+   q(4217) => [
       q(Mato),
       ],
-   q(4219) => [
+   q(4218) => [
       q(Motu),
       ],
-   q(4220) => [
+   q(4219) => [
       q(Mano),
       ],
-   q(4221) => [
+   q(4220) => [
       q(Maaka),
       ],
-   q(4222) => [
+   q(4221) => [
       q(Hassaniyya),
       ],
-   q(4223) => [
+   q(4222) => [
       q(Menominee),
       ],
-   q(4224) => [
+   q(4223) => [
       q(Pattani Malay),
       ],
-   q(4225) => [
+   q(4224) => [
       q(Bangka),
       ],
-   q(4226) => [
+   q(4225) => [
       q(Mba),
       ],
-   q(4227) => [
+   q(4226) => [
       q(Mendankwe-Nkwen),
       ],
-   q(4228) => [
+   q(4227) => [
       q(Morisyen),
       ],
-   q(4229) => [
+   q(4228) => [
       q(Naki),
       ],
-   q(4230) => [
+   q(4229) => [
       q(Mogofin),
       ],
-   q(4231) => [
+   q(4230) => [
       q(Matal),
       ],
-   q(4232) => [
+   q(4231) => [
       q(Wandala),
       ],
-   q(4233) => [
+   q(4232) => [
       q(Mefele),
       ],
-   q(4234) => [
+   q(4233) => [
       q(North Mofu),
       ],
-   q(4235) => [
+   q(4234) => [
       q(Putai),
       ],
-   q(4236) => [
+   q(4235) => [
       q(Marghi South),
       ],
-   q(4237) => [
+   q(4236) => [
       q(Cross River Mbembe),
       ],
-   q(4238) => [
+   q(4237) => [
       q(Mbe),
       ],
-   q(4239) => [
+   q(4238) => [
       q(Makassar Malay),
       ],
-   q(4240) => [
+   q(4239) => [
       q(Moba),
       ],
-   q(4241) => [
+   q(4240) => [
       q(Marithiel),
       ],
-   q(4242) => [
+   q(4241) => [
       q(Mexican Sign Language),
       ],
-   q(4243) => [
+   q(4242) => [
       q(Mokerang),
       ],
-   q(4244) => [
+   q(4243) => [
       q(Mbwela),
       ],
-   q(4245) => [
+   q(4244) => [
       q(Mandjak),
       ],
-   q(4246) => [
+   q(4245) => [
       q(Mulaha),
       ],
-   q(4247) => [
+   q(4246) => [
       q(Melo),
       ],
-   q(4248) => [
+   q(4247) => [
       q(Mayo),
       ],
-   q(4249) => [
+   q(4248) => [
       q(Mabaan),
       ],
-   q(4250) => [
+   q(4249) => [
       q(Mararit),
       ],
-   q(4251) => [
+   q(4250) => [
       q(Morokodo),
       ],
-   q(4252) => [
+   q(4251) => [
       q(Moru),
       ],
-   q(4253) => [
+   q(4252) => [
       q(Mango),
       ],
-   q(4254) => [
+   q(4253) => [
       q(Maklew),
       ],
-   q(4255) => [
+   q(4254) => [
       q(Mpumpong),
       ],
-   q(4256) => [
+   q(4255) => [
       q(Makhuwa-Meetto),
       ],
-   q(4257) => [
+   q(4256) => [
       q(Lijili),
       ],
-   q(4258) => [
+   q(4257) => [
       q(Abureni),
       ],
-   q(4259) => [
+   q(4258) => [
       q(Mawes),
       ],
-   q(4260) => [
+   q(4259) => [
       q(Maleu-Kilenge),
       ],
-   q(4261) => [
+   q(4260) => [
       q(Mambae),
       ],
-   q(4262) => [
+   q(4261) => [
       q(Mbangi),
       ],
-   q(4263) => [
+   q(4262) => [
       q(Meta'),
       ],
-   q(4264) => [
+   q(4263) => [
       q(Eastern Magar),
       ],
-   q(4265) => [
+   q(4264) => [
       q(Malila),
       ],
-   q(4266) => [
+   q(4265) => [
       q(Mambwe-Lungu),
       ],
-   q(4267) => [
+   q(4266) => [
       q(Manda (Tanzania)),
       ],
-   q(4268) => [
+   q(4267) => [
       q(Mongol),
       ],
-   q(4269) => [
+   q(4268) => [
       q(Mailu),
       ],
-   q(4270) => [
+   q(4269) => [
       q(Matengo),
       ],
-   q(4271) => [
+   q(4270) => [
       q(Matumbi),
       ],
-   q(4272) => [
+   q(4271) => [
       q(Mbunga),
       ],
-   q(4273) => [
+   q(4272) => [
       q(Mbugwe),
       ],
-   q(4274) => [
+   q(4273) => [
       q(Manda (India)),
       ],
-   q(4275) => [
+   q(4274) => [
       q(Mahongwe),
       ],
-   q(4276) => [
+   q(4275) => [
       q(Mocho),
       ],
-   q(4277) => [
+   q(4276) => [
       q(Mbugu),
       ],
-   q(4278) => [
+   q(4277) => [
       q(Besisi),
       q(Mah Meri),
       ],
-   q(4279) => [
+   q(4278) => [
       q(Mamaa),
       ],
-   q(4280) => [
+   q(4279) => [
       q(Margu),
       ],
-   q(4281) => [
+   q(4280) => [
       q(Ma'di),
       ],
-   q(4282) => [
+   q(4281) => [
       q(Mogholi),
       ],
-   q(4283) => [
+   q(4282) => [
       q(Mungaka),
       ],
-   q(4284) => [
+   q(4283) => [
       q(Mauwake),
       ],
-   q(4285) => [
+   q(4284) => [
       q(Makhuwa-Moniga),
       ],
-   q(4286) => [
+   q(4285) => [
       q(Mocheno),
       ],
-   q(4287) => [
+   q(4286) => [
       q(Mashi (Zambia)),
       ],
-   q(4288) => [
+   q(4287) => [
       q(Balinese Malay),
       ],
-   q(4289) => [
+   q(4288) => [
       q(Mandan),
       ],
-   q(4290) => [
+   q(4289) => [
       q(Eastern Mari),
       ],
-   q(4291) => [
+   q(4290) => [
       q(Buru (Indonesia)),
       ],
-   q(4292) => [
+   q(4291) => [
       q(Mandahuaca),
       ],
-   q(4293) => [
+   q(4292) => [
       q(Digaro-Mishmi),
       q(Darang Deng),
       ],
-   q(4294) => [
+   q(4293) => [
       q(Mbukushu),
       ],
-   q(4295) => [
+   q(4294) => [
       q(Maru),
       q(Lhaovo),
       ],
-   q(4296) => [
+   q(4295) => [
       q(Ma'anyan),
       ],
-   q(4297) => [
+   q(4296) => [
       q(Mor (Mor Islands)),
       ],
-   q(4298) => [
+   q(4297) => [
       q(Miami),
       ],
-   q(4299) => [
+   q(4298) => [
       q(Atatlahuca Mixtec),
       ],
-   q(4300) => [
+   q(4299) => [
       q(Mandaic),
       ],
-   q(4301) => [
+   q(4300) => [
       q(Ocotepec Mixtec),
       ],
-   q(4302) => [
+   q(4301) => [
       q(Mofu-Gudur),
       ],
-   q(4303) => [
+   q(4302) => [
       q(San Miguel El Grande Mixtec),
       ],
-   q(4304) => [
+   q(4303) => [
       q(Chayuco Mixtec),
       ],
-   q(4305) => [
+   q(4304) => [
       q(Chigmecatitlan Mixtec),
       ],
-   q(4306) => [
+   q(4305) => [
       q(Abar),
       q(Mungbam),
       ],
-   q(4307) => [
+   q(4306) => [
       q(Mikasuki),
       ],
-   q(4308) => [
+   q(4307) => [
       q(Penoles Mixtec),
       ],
-   q(4309) => [
+   q(4308) => [
       q(Alacatlatzala Mixtec),
       ],
-   q(4310) => [
+   q(4309) => [
       q(Pinotepa Nacional Mixtec),
       ],
-   q(4311) => [
+   q(4310) => [
       q(Apasco-Apoala Mixtec),
       ],
-   q(4312) => [
+   q(4311) => [
       q(Miskito),
       ],
-   q(4313) => [
+   q(4312) => [
       q(Isthmus Mixe),
       ],
-   q(4314) => [
+   q(4313) => [
       q(Southern Puebla Mixtec),
       ],
-   q(4315) => [
+   q(4314) => [
       q(Cacaloxtepec Mixtec),
       ],
-   q(4316) => [
+   q(4315) => [
       q(Akoye),
       ],
-   q(4317) => [
+   q(4316) => [
       q(Mixtepec Mixtec),
       ],
-   q(4318) => [
+   q(4317) => [
       q(Ayutla Mixtec),
       ],
-   q(4319) => [
+   q(4318) => [
       q(Coatzospan Mixtec),
       ],
-   q(4320) => [
+   q(4319) => [
       q(San Juan Colorado Mixtec),
       ],
-   q(4321) => [
+   q(4320) => [
       q(Northwest Maidu),
       ],
-   q(4322) => [
+   q(4321) => [
       q(Muskum),
       ],
-   q(4323) => [
+   q(4322) => [
       q(Tu),
       ],
-   q(4324) => [
+   q(4323) => [
       q(Mwera (Nyasa)),
       ],
-   q(4325) => [
+   q(4324) => [
       q(Kim Mun),
       ],
-   q(4326) => [
+   q(4325) => [
       q(Mawak),
       ],
-   q(4327) => [
+   q(4326) => [
       q(Matukar),
       ],
-   q(4328) => [
+   q(4327) => [
       q(Mandeali),
       ],
-   q(4329) => [
+   q(4328) => [
       q(Medebur),
       ],
-   q(4330) => [
+   q(4329) => [
       q(Ma (Papua New Guinea)),
       ],
-   q(4331) => [
+   q(4330) => [
       q(Malankuravan),
       ],
-   q(4332) => [
+   q(4331) => [
       q(Malapandaram),
       ],
-   q(4333) => [
+   q(4332) => [
       q(Malaryan),
       ],
-   q(4334) => [
+   q(4333) => [
       q(Malavedan),
       ],
-   q(4335) => [
+   q(4334) => [
       q(Miship),
       ],
-   q(4336) => [
+   q(4335) => [
       q(Sauria Paharia),
       ],
-   q(4337) => [
+   q(4336) => [
       q(Manna-Dora),
       ],
-   q(4338) => [
+   q(4337) => [
       q(Mannan),
       ],
-   q(4339) => [
+   q(4338) => [
       q(Karbi),
       ],
-   q(4340) => [
+   q(4339) => [
       q(Mahali),
       ],
-   q(4341) => [
+   q(4340) => [
       q(Mahican),
       ],
-   q(4342) => [
+   q(4341) => [
       q(Majhi),
       ],
-   q(4343) => [
+   q(4342) => [
       q(Mbre),
       ],
-   q(4344) => [
+   q(4343) => [
       q(Mal Paharia),
       ],
-   q(4345) => [
+   q(4344) => [
       q(Siliput),
       ],
-   q(4346) => [
+   q(4345) => [
       q(Mawchi),
       ],
-   q(4347) => [
+   q(4346) => [
       q(Miya),
       ],
-   q(4348) => [
+   q(4347) => [
       q(Mak (China)),
       ],
-   q(4349) => [
+   q(4348) => [
       q(Dhatki),
       ],
-   q(4350) => [
+   q(4349) => [
       q(Mokilese),
       ],
-   q(4351) => [
+   q(4350) => [
       q(Byep),
       ],
-   q(4352) => [
+   q(4351) => [
       q(Mokole),
       ],
-   q(4353) => [
+   q(4352) => [
       q(Moklen),
       ],
-   q(4354) => [
+   q(4353) => [
       q(Kupang Malay),
       ],
-   q(4355) => [
+   q(4354) => [
       q(Mingang Doso),
       ],
-   q(4356) => [
+   q(4355) => [
       q(Moikodi),
       ],
-   q(4357) => [
+   q(4356) => [
       q(Bay Miwok),
       ],
-   q(4358) => [
+   q(4357) => [
       q(Malas),
       ],
-   q(4359) => [
+   q(4358) => [
       q(Silacayoapan Mixtec),
       ],
-   q(4360) => [
+   q(4359) => [
       q(Vamale),
       ],
-   q(4361) => [
+   q(4360) => [
       q(Konyanka Maninka),
       ],
-   q(4362) => [
+   q(4361) => [
       q(Mafea),
       ],
-   q(4363) => [
+   q(4362) => [
       q(Kituba (Congo)),
       ],
-   q(4364) => [
+   q(4363) => [
       q(Kinamiging Manobo),
       ],
-   q(4365) => [
+   q(4364) => [
       q(East Makian),
       ],
-   q(4366) => [
+   q(4365) => [
       q(Makasae),
       ],
-   q(4367) => [
+   q(4366) => [
       q(Malo),
       ],
-   q(4368) => [
+   q(4367) => [
       q(Mbule),
       ],
-   q(4369) => [
+   q(4368) => [
       q(Cao Lan),
       ],
-   q(4370) => [
+   q(4369) => [
       q(Manambu),
       ],
-   q(4371) => [
+   q(4370) => [
       q(Mal),
       ],
-   q(4372) => [
+   q(4371) => [
       q(Mape),
       ],
-   q(4373) => [
+   q(4372) => [
       q(Malimpung),
       ],
-   q(4374) => [
+   q(4373) => [
       q(Miltu),
       ],
-   q(4375) => [
+   q(4374) => [
       q(Ilwana),
       q(Kiwilwana),
       ],
-   q(4376) => [
+   q(4375) => [
       q(Malua Bay),
       ],
-   q(4377) => [
+   q(4376) => [
       q(Mulam),
       ],
-   q(4378) => [
+   q(4377) => [
       q(Malango),
       ],
-   q(4379) => [
+   q(4378) => [
       q(Mlomp),
       ],
-   q(4380) => [
+   q(4379) => [
       q(Bargam),
       ],
-   q(4381) => [
+   q(4380) => [
       q(Western Maninkakan),
       ],
-   q(4382) => [
+   q(4381) => [
       q(Vame),
       ],
-   q(4383) => [
+   q(4382) => [
       q(Masalit),
       ],
-   q(4384) => [
+   q(4383) => [
       q(To'abaita),
       ],
-   q(4385) => [
+   q(4384) => [
       q(Motlav),
       q(Mwotlap),
       ],
-   q(4386) => [
+   q(4385) => [
       q(Moloko),
       ],
-   q(4387) => [
+   q(4386) => [
       q(Malfaxal),
       q(Naha'ai),
       ],
-   q(4388) => [
+   q(4387) => [
       q(Malaynon),
       ],
-   q(4389) => [
+   q(4388) => [
       q(Mama),
       ],
-   q(4390) => [
+   q(4389) => [
       q(Momina),
       ],
-   q(4391) => [
+   q(4390) => [
       q(Michoacan Mazahua),
       ],
-   q(4392) => [
+   q(4391) => [
       q(Maonan),
       ],
-   q(4393) => [
+   q(4392) => [
       q(Mae),
       ],
-   q(4394) => [
+   q(4393) => [
       q(Mundat),
       ],
-   q(4395) => [
+   q(4394) => [
       q(North Ambrym),
       ],
-   q(4396) => [
+   q(4395) => [
       q(Mehinaku),
       ],
-   q(4397) => [
+   q(4396) => [
       q(Musar),
       ],
-   q(4398) => [
+   q(4397) => [
       q(Majhwar),
       ],
-   q(4399) => [
+   q(4398) => [
       q(Mukha-Dora),
       ],
-   q(4400) => [
+   q(4399) => [
       q(Man Met),
       ],
-   q(4401) => [
+   q(4400) => [
       q(Maii),
       ],
-   q(4402) => [
+   q(4401) => [
       q(Mamanwa),
       ],
-   q(4403) => [
+   q(4402) => [
       q(Mangga Buang),
       ],
-   q(4404) => [
+   q(4403) => [
       q(Siawi),
       ],
-   q(4405) => [
+   q(4404) => [
       q(Musak),
       ],
-   q(4406) => [
+   q(4405) => [
       q(Western Xiangxi Miao),
       ],
-   q(4407) => [
+   q(4406) => [
       q(Malalamai),
       ],
-   q(4408) => [
+   q(4407) => [
       q(Mmaala),
       ],
-   q(4409) => [
+   q(4408) => [
       q(Miriti),
       ],
-   q(4410) => [
+   q(4409) => [
       q(Emae),
       ],
-   q(4411) => [
+   q(4410) => [
       q(Madak),
       ],
-   q(4412) => [
+   q(4411) => [
       q(Migaama),
       ],
-   q(4413) => [
+   q(4412) => [
       q(Mabaale),
       ],
-   q(4414) => [
+   q(4413) => [
       q(Mbula),
       ],
-   q(4415) => [
+   q(4414) => [
       q(Muna),
       ],
-   q(4416) => [
+   q(4415) => [
       q(Monde),
       ],
-   q(4417) => [
+   q(4416) => [
       q(Naba),
       ],
-   q(4418) => [
+   q(4417) => [
       q(Mundani),
       ],
-   q(4419) => [
+   q(4418) => [
       q(Eastern Mnong),
       ],
-   q(4420) => [
+   q(4419) => [
       q(Mono (Democratic Republic of Congo)),
       ],
-   q(4421) => [
+   q(4420) => [
       q(Munji),
       ],
-   q(4422) => [
+   q(4421) => [
       q(Mandinka),
       ],
-   q(4423) => [
+   q(4422) => [
       q(Tiale),
       ],
-   q(4424) => [
+   q(4423) => [
       q(Mapena),
       ],
-   q(4425) => [
+   q(4424) => [
       q(Southern Mnong),
       ],
-   q(4426) => [
+   q(4425) => [
       q(Min Bei Chinese),
       ],
-   q(4427) => [
+   q(4426) => [
       q(Minriq),
       ],
-   q(4428) => [
+   q(4427) => [
       q(Mono (USA)),
       ],
-   q(4429) => [
+   q(4428) => [
       q(Mansi),
       ],
-   q(4430) => [
+   q(4429) => [
       q(Mer),
       ],
-   q(4431) => [
+   q(4430) => [
       q(Rennell-Bellona),
       ],
-   q(4432) => [
+   q(4431) => [
       q(Mon),
       ],
-   q(4433) => [
+   q(4432) => [
       q(Manikion),
       ],
-   q(4434) => [
+   q(4433) => [
       q(Manyawa),
       ],
-   q(4435) => [
+   q(4434) => [
       q(Moni),
       ],
-   q(4436) => [
+   q(4435) => [
       q(Mwan),
       ],
-   q(4437) => [
+   q(4436) => [
       q(Mocovi),
       ],
-   q(4438) => [
+   q(4437) => [
       q(Mobilian),
       ],
-   q(4439) => [
+   q(4438) => [
       q(Montagnais),
       ],
-   q(4440) => [
+   q(4439) => [
       q(Mongondow),
       ],
-   q(4441) => [
+   q(4440) => [
       q(Mboi),
       ],
-   q(4442) => [
+   q(4441) => [
       q(Monzombo),
       ],
-   q(4443) => [
+   q(4442) => [
       q(Morori),
       ],
-   q(4444) => [
+   q(4443) => [
       q(Mangue),
       ],
-   q(4445) => [
+   q(4444) => [
       q(Monom),
       ],
-   q(4446) => [
+   q(4445) => [
       q(Mopan Maya),
       ],
-   q(4447) => [
+   q(4446) => [
       q(Mor (Bomberai Peninsula)),
       ],
-   q(4448) => [
+   q(4447) => [
       q(Moro),
       ],
-   q(4449) => [
+   q(4448) => [
       q(Mogum),
       ],
-   q(4450) => [
+   q(4449) => [
       q(Mohave),
       ],
-   q(4451) => [
+   q(4450) => [
       q(Moi (Congo)),
       ],
-   q(4452) => [
+   q(4451) => [
       q(Molima),
       ],
-   q(4453) => [
+   q(4452) => [
       q(Shekkacho),
       ],
-   q(4454) => [
+   q(4453) => [
       q(Mukulu),
       q(Gergiko),
       ],
-   q(4455) => [
+   q(4454) => [
       q(Mpoto),
       ],
-   q(4456) => [
+   q(4455) => [
       q(Mullukmulluk),
       ],
-   q(4457) => [
+   q(4456) => [
       q(Mangarayi),
       ],
-   q(4458) => [
+   q(4457) => [
       q(Machinere),
       ],
-   q(4459) => [
+   q(4458) => [
       q(Majang),
       ],
-   q(4460) => [
+   q(4459) => [
       q(Marba),
       ],
-   q(4461) => [
+   q(4460) => [
       q(Maung),
       ],
-   q(4462) => [
+   q(4461) => [
       q(Mpade),
       ],
-   q(4463) => [
+   q(4462) => [
       q(Martu Wangka),
       ],
-   q(4464) => [
+   q(4463) => [
       q(Mbara (Chad)),
       ],
-   q(4465) => [
+   q(4464) => [
       q(Middle Watut),
       ],
-   q(4466) => [
+   q(4465) => [
       q(Yosondua Mixtec),
       ],
-   q(4467) => [
+   q(4466) => [
       q(Mindiri),
       ],
-   q(4468) => [
+   q(4467) => [
       q(Miu),
       ],
-   q(4469) => [
+   q(4468) => [
       q(Migabac),
       ],
-   q(4470) => [
+   q(4469) => [
       q(Matis),
       ],
-   q(4471) => [
+   q(4470) => [
       q(Vangunu),
       ],
-   q(4472) => [
+   q(4471) => [
       q(Dadibi),
       ],
-   q(4473) => [
+   q(4472) => [
       q(Mian),
       ],
-   q(4474) => [
+   q(4473) => [
       q(Makurap),
       ],
-   q(4475) => [
+   q(4474) => [
       q(Mungkip),
       ],
-   q(4476) => [
+   q(4475) => [
       q(Mapidian),
       ],
-   q(4477) => [
+   q(4476) => [
       q(Misima-Panaeati),
       ],
-   q(4478) => [
+   q(4477) => [
       q(Mapia),
       ],
-   q(4479) => [
+   q(4478) => [
       q(Mpi),
       ],
-   q(4480) => [
+   q(4479) => [
       q(Maba (Indonesia)),
       ],
-   q(4481) => [
+   q(4480) => [
       q(Mbuko),
       ],
-   q(4482) => [
+   q(4481) => [
       q(Mangole),
       ],
-   q(4483) => [
+   q(4482) => [
       q(Matepi),
       ],
-   q(4484) => [
+   q(4483) => [
       q(Momuna),
       ],
-   q(4485) => [
+   q(4484) => [
       q(Kota Bangun Kutai Malay),
       ],
-   q(4486) => [
+   q(4485) => [
       q(Tlazoyaltepec Mixtec),
       ],
-   q(4487) => [
+   q(4486) => [
       q(Mariri),
       ],
-   q(4488) => [
+   q(4487) => [
       q(Mamasa),
       ],
-   q(4489) => [
+   q(4488) => [
       q(Rajah Kabunsuwan Manobo),
       ],
-   q(4490) => [
+   q(4489) => [
       q(Mbelime),
       ],
-   q(4491) => [
+   q(4490) => [
       q(South Marquesan),
       ],
-   q(4492) => [
+   q(4491) => [
       q(Moronene),
       ],
-   q(4493) => [
+   q(4492) => [
       q(Modole),
       ],
-   q(4494) => [
+   q(4493) => [
       q(Manipa),
       ],
-   q(4495) => [
+   q(4494) => [
       q(Minokok),
       ],
-   q(4496) => [
+   q(4495) => [
       q(Mander),
       ],
-   q(4497) => [
+   q(4496) => [
       q(West Makian),
       ],
-   q(4498) => [
+   q(4497) => [
       q(Mok),
       ],
-   q(4499) => [
+   q(4498) => [
       q(Mandari),
       ],
-   q(4500) => [
+   q(4499) => [
       q(Mosimo),
       ],
-   q(4501) => [
+   q(4500) => [
       q(Murupi),
       ],
-   q(4502) => [
+   q(4501) => [
       q(Mamuju),
       ],
-   q(4503) => [
+   q(4502) => [
       q(Manggarai),
       ],
-   q(4504) => [
+   q(4503) => [
       q(Pano),
       ],
-   q(4505) => [
+   q(4504) => [
       q(Mlabri),
       ],
-   q(4506) => [
+   q(4505) => [
       q(Marino),
       ],
-   q(4507) => [
+   q(4506) => [
       q(Maricopa),
       ],
-   q(4508) => [
+   q(4507) => [
       q(Western Magar),
       ],
-   q(4509) => [
+   q(4508) => [
       q(Martha's Vineyard Sign Language),
       ],
-   q(4510) => [
+   q(4509) => [
       q(Elseng),
       ],
-   q(4511) => [
+   q(4510) => [
       q(Mising),
       ],
-   q(4512) => [
+   q(4511) => [
       q(Mara Chin),
       ],
-   q(4513) => [
+   q(4512) => [
       q(Western Mari),
       ],
-   q(4514) => [
+   q(4513) => [
       q(Hmwaveke),
       ],
-   q(4515) => [
+   q(4514) => [
       q(Mortlockese),
       ],
-   q(4516) => [
+   q(4515) => [
       q(Merlav),
       q(Mwerlap),
       ],
-   q(4517) => [
+   q(4516) => [
       q(Cheke Holo),
       ],
-   q(4518) => [
+   q(4517) => [
       q(Mru),
       ],
-   q(4519) => [
+   q(4518) => [
       q(Morouas),
       ],
-   q(4520) => [
+   q(4519) => [
       q(North Marquesan),
       ],
-   q(4521) => [
+   q(4520) => [
       q(Maria (India)),
       ],
-   q(4522) => [
+   q(4521) => [
       q(Maragus),
       ],
-   q(4523) => [
+   q(4522) => [
       q(Marghi Central),
       ],
-   q(4524) => [
+   q(4523) => [
       q(Mono (Cameroon)),
       ],
-   q(4525) => [
+   q(4524) => [
       q(Mangareva),
       ],
-   q(4526) => [
+   q(4525) => [
       q(Maranao),
       ],
-   q(4527) => [
+   q(4526) => [
       q(Maremgi),
       q(Dineor),
       ],
-   q(4528) => [
+   q(4527) => [
       q(Mandaya),
       ],
-   q(4529) => [
+   q(4528) => [
       q(Marind),
       ],
-   q(4530) => [
+   q(4529) => [
       q(Masbatenyo),
       ],
-   q(4531) => [
+   q(4530) => [
       q(Sankaran Maninka),
       ],
-   q(4532) => [
+   q(4531) => [
       q(Yucatec Maya Sign Language),
       ],
-   q(4533) => [
+   q(4532) => [
       q(Musey),
       ],
-   q(4534) => [
+   q(4533) => [
       q(Mekwei),
       ],
-   q(4535) => [
+   q(4534) => [
       q(Moraid),
       ],
-   q(4536) => [
+   q(4535) => [
       q(Masikoro Malagasy),
       ],
-   q(4537) => [
+   q(4536) => [
       q(Sabah Malay),
       ],
-   q(4538) => [
+   q(4537) => [
       q(Ma (Democratic Republic of Congo)),
       ],
-   q(4539) => [
+   q(4538) => [
       q(Mansaka),
       ],
-   q(4540) => [
+   q(4539) => [
       q(Molof),
       q(Poule),
       ],
-   q(4541) => [
+   q(4540) => [
       q(Agusan Manobo),
       ],
-   q(4542) => [
+   q(4541) => [
       q(Vures),
       ],
-   q(4543) => [
+   q(4542) => [
       q(Mombum),
       ],
-   q(4544) => [
+   q(4543) => [
       q(Maritsaua),
       ],
-   q(4545) => [
+   q(4544) => [
       q(Caac),
       ],
-   q(4546) => [
+   q(4545) => [
       q(Mongolian Sign Language),
       ],
-   q(4547) => [
+   q(4546) => [
       q(West Masela),
       ],
-   q(4548) => [
+   q(4547) => [
       q(Musom),
       ],
-   q(4549) => [
+   q(4548) => [
       q(Maslam),
       ],
-   q(4550) => [
+   q(4549) => [
       q(Mansoanka),
       ],
-   q(4551) => [
+   q(4550) => [
       q(Moresada),
       ],
-   q(4552) => [
+   q(4551) => [
       q(Aruamu),
       ],
-   q(4553) => [
+   q(4552) => [
       q(Momare),
       ],
-   q(4554) => [
+   q(4553) => [
       q(Cotabato Manobo),
       ],
-   q(4555) => [
+   q(4554) => [
       q(Anyin Morofo),
       ],
-   q(4556) => [
+   q(4555) => [
       q(Munit),
       ],
-   q(4557) => [
+   q(4556) => [
       q(Mualang),
       ],
-   q(4558) => [
+   q(4557) => [
       q(Mono (Solomon Islands)),
       ],
-   q(4559) => [
+   q(4558) => [
       q(Murik (Papua New Guinea)),
       ],
-   q(4560) => [
+   q(4559) => [
       q(Una),
       ],
-   q(4561) => [
+   q(4560) => [
       q(Munggui),
       ],
-   q(4562) => [
+   q(4561) => [
       q(Maiwa (Papua New Guinea)),
       ],
-   q(4563) => [
+   q(4562) => [
       q(Moskona),
       ],
-   q(4564) => [
+   q(4563) => [
       q(Mbe'),
       ],
-   q(4565) => [
+   q(4564) => [
       q(Montol),
       ],
-   q(4566) => [
+   q(4565) => [
       q(Mator),
       ],
-   q(4567) => [
+   q(4566) => [
       q(Matagalpa),
       ],
-   q(4568) => [
+   q(4567) => [
       q(Totontepec Mixe),
       ],
-   q(4569) => [
+   q(4568) => [
       q(Wichi Lhamtes Nocten),
       ],
-   q(4570) => [
+   q(4569) => [
       q(Muong),
       ],
-   q(4571) => [
+   q(4570) => [
       q(Mewari),
       ],
-   q(4572) => [
+   q(4571) => [
       q(Yora),
       ],
-   q(4573) => [
+   q(4572) => [
       q(Mota),
       ],
-   q(4574) => [
+   q(4573) => [
       q(Tututepec Mixtec),
       ],
-   q(4575) => [
+   q(4574) => [
       q(Asaro'o),
       ],
-   q(4576) => [
+   q(4575) => [
       q(Southern Binukidnon),
       ],
-   q(4577) => [
+   q(4576) => [
       q(Tidaa Mixtec),
       ],
-   q(4578) => [
+   q(4577) => [
       q(Nabi),
       ],
-   q(4579) => [
+   q(4578) => [
       q(Mundang),
       ],
-   q(4580) => [
+   q(4579) => [
       q(Mubi),
       ],
-   q(4581) => [
+   q(4580) => [
       q(Ajumbu),
       ],
-   q(4582) => [
+   q(4581) => [
       q(Mednyj Aleut),
       ],
-   q(4583) => [
+   q(4582) => [
       q(Media Lengua),
       ],
-   q(4584) => [
+   q(4583) => [
       q(Musgu),
       ],
-   q(4585) => [
+   q(4584) => [
       q(Mundu),
       ],
-   q(4586) => [
+   q(4585) => [
       q(Musi),
       ],
-   q(4587) => [
+   q(4586) => [
       q(Mabire),
       ],
-   q(4588) => [
+   q(4587) => [
       q(Mugom),
       ],
-   q(4589) => [
+   q(4588) => [
       q(Maiwala),
       ],
-   q(4590) => [
+   q(4589) => [
       q(Nyong),
       ],
-   q(4591) => [
+   q(4590) => [
       q(Malvi),
       ],
-   q(4592) => [
+   q(4591) => [
       q(Eastern Xiangxi Miao),
       ],
-   q(4593) => [
+   q(4592) => [
       q(Murle),
       ],
-   q(4594) => [
+   q(4593) => [
       q(Western Muria),
       ],
-   q(4595) => [
+   q(4594) => [
       q(Yaaku),
       ],
-   q(4596) => [
+   q(4595) => [
       q(Muthuvan),
       ],
-   q(4597) => [
+   q(4596) => [
       q(Bo-Ung),
       ],
-   q(4598) => [
+   q(4597) => [
       q(Muyang),
       ],
-   q(4599) => [
+   q(4598) => [
       q(Mursi),
       ],
-   q(4600) => [
+   q(4599) => [
       q(Manam),
       ],
-   q(4601) => [
+   q(4600) => [
       q(Mattole),
       ],
-   q(4602) => [
+   q(4601) => [
       q(Mamboru),
       ],
-   q(4603) => [
+   q(4602) => [
       q(Marwari (Pakistan)),
       ],
-   q(4604) => [
+   q(4603) => [
       q(Peripheral Mongolian),
       ],
-   q(4605) => [
+   q(4604) => [
       q(Yucuane Mixtec),
       ],
-   q(4606) => [
+   q(4605) => [
       q(Mulgi),
       ],
-   q(4607) => [
+   q(4606) => [
       q(Miyako),
       ],
-   q(4608) => [
+   q(4607) => [
       q(Mekmek),
       ],
-   q(4609) => [
+   q(4608) => [
       q(Mbara (Australia)),
       ],
-   q(4610) => [
+   q(4609) => [
       q(Muya),
       ],
-   q(4611) => [
+   q(4610) => [
       q(Minaveha),
       ],
-   q(4612) => [
+   q(4611) => [
       q(Marovo),
       ],
-   q(4613) => [
+   q(4612) => [
       q(Duri),
       ],
-   q(4614) => [
+   q(4613) => [
       q(Moere),
       ],
-   q(4615) => [
+   q(4614) => [
       q(Marau),
       ],
-   q(4616) => [
+   q(4615) => [
       q(Massep),
       ],
-   q(4617) => [
+   q(4616) => [
       q(Mpotovoro),
       ],
-   q(4618) => [
+   q(4617) => [
       q(Marfa),
       ],
-   q(4619) => [
+   q(4618) => [
       q(Tagal Murut),
       ],
-   q(4620) => [
+   q(4619) => [
       q(Machinga),
       ],
-   q(4621) => [
+   q(4620) => [
       q(Meoswar),
       ],
-   q(4622) => [
+   q(4621) => [
       q(Indus Kohistani),
       ],
-   q(4623) => [
+   q(4622) => [
       q(Mesqan),
       ],
-   q(4624) => [
+   q(4623) => [
       q(Mwatebu),
       ],
-   q(4625) => [
+   q(4624) => [
       q(Juwal),
       ],
-   q(4626) => [
+   q(4625) => [
       q(Are),
       ],
-   q(4627) => [
+   q(4626) => [
       q(Mwera (Chimwera)),
       ],
-   q(4628) => [
+   q(4627) => [
       q(Murrinh-Patha),
       ],
-   q(4629) => [
+   q(4628) => [
       q(Aiklep),
       ],
-   q(4630) => [
+   q(4629) => [
       q(Mouk-Aria),
       ],
-   q(4631) => [
+   q(4630) => [
       q(Labo),
       q(Ninde),
       ],
-   q(4632) => [
+   q(4631) => [
       q(Kita Maninkakan),
       ],
-   q(4633) => [
+   q(4632) => [
       q(Sar),
       ],
-   q(4634) => [
+   q(4633) => [
       q(Nyamwanga),
       ],
-   q(4635) => [
+   q(4634) => [
       q(Central Maewo),
       ],
-   q(4636) => [
+   q(4635) => [
       q(Kala Lagaw Ya),
       ],
-   q(4637) => [
+   q(4636) => [
       q(Mun Chin),
       ],
-   q(4638) => [
+   q(4637) => [
       q(Mwimbi-Muthambi),
       ],
-   q(4639) => [
+   q(4638) => [
       q(Moken),
       ],
-   q(4640) => [
+   q(4639) => [
       q(Mittu),
       ],
-   q(4641) => [
+   q(4640) => [
       q(Mentawai),
       ],
-   q(4642) => [
+   q(4641) => [
       q(Hmong Daw),
       ],
-   q(4643) => [
+   q(4642) => [
       q(Mediak),
       ],
-   q(4644) => [
+   q(4643) => [
       q(Mosiro),
       ],
-   q(4645) => [
+   q(4644) => [
       q(Moingi),
       ],
-   q(4646) => [
+   q(4645) => [
       q(Northwest Oaxaca Mixtec),
       ],
-   q(4647) => [
+   q(4646) => [
       q(Tezoatlan Mixtec),
       ],
-   q(4648) => [
+   q(4647) => [
       q(Manyika),
       ],
-   q(4649) => [
+   q(4648) => [
       q(Modang),
       ],
-   q(4650) => [
+   q(4649) => [
       q(Mele-Fila),
       ],
-   q(4651) => [
+   q(4650) => [
       q(Malgbe),
       ],
-   q(4652) => [
+   q(4651) => [
       q(Mbangala),
       ],
-   q(4653) => [
+   q(4652) => [
       q(Mvuba),
       ],
-   q(4654) => [
+   q(4653) => [
       q(Mozarabic),
       ],
-   q(4655) => [
+   q(4654) => [
       q(Miju-Mishmi),
       q(Geman Deng),
       ],
-   q(4656) => [
+   q(4655) => [
       q(Monumbo),
       ],
-   q(4657) => [
+   q(4656) => [
       q(Maxi Gbe),
       ],
-   q(4658) => [
+   q(4657) => [
       q(Meramera),
       ],
-   q(4659) => [
+   q(4658) => [
       q(Moi (Indonesia)),
       ],
-   q(4660) => [
+   q(4659) => [
       q(Mbowe),
       ],
-   q(4661) => [
+   q(4660) => [
       q(Tlahuitoltepec Mixe),
       ],
-   q(4662) => [
+   q(4661) => [
       q(Juquila Mixe),
       ],
-   q(4663) => [
+   q(4662) => [
       q(Murik (Malaysia)),
       ],
-   q(4664) => [
+   q(4663) => [
       q(Huitepec Mixtec),
       ],
-   q(4665) => [
+   q(4664) => [
       q(Jamiltepec Mixtec),
       ],
-   q(4666) => [
+   q(4665) => [
       q(Mada (Cameroon)),
       ],
-   q(4667) => [
+   q(4666) => [
       q(Metlatonoc Mixtec),
       ],
-   q(4668) => [
+   q(4667) => [
       q(Namo),
       ],
-   q(4669) => [
+   q(4668) => [
       q(Mahou),
       q(Mawukakan),
       ],
-   q(4670) => [
+   q(4669) => [
       q(Southeastern Nochixtlan Mixtec),
       ],
-   q(4671) => [
+   q(4670) => [
       q(Central Masela),
       ],
-   q(4672) => [
+   q(4671) => [
       q(Mbay),
       ],
-   q(4673) => [
+   q(4672) => [
       q(Mayeka),
       ],
-   q(4674) => [
+   q(4673) => [
       q(Maramba),
       ],
-   q(4675) => [
+   q(4674) => [
       q(Myene),
       ],
-   q(4676) => [
+   q(4675) => [
       q(Bambassi),
       ],
-   q(4677) => [
+   q(4676) => [
       q(Manta),
       ],
-   q(4678) => [
+   q(4677) => [
       q(Makah),
       ],
-   q(4679) => [
+   q(4678) => [
       q(Mina (India)),
       ],
-   q(4680) => [
+   q(4679) => [
       q(Mangayat),
       ],
-   q(4681) => [
+   q(4680) => [
       q(Mamara Senoufo),
       ],
-   q(4682) => [
+   q(4681) => [
       q(Moma),
       ],
-   q(4683) => [
+   q(4682) => [
       q(Me'en),
       ],
-   q(4684) => [
+   q(4683) => [
       q(Anfillo),
       ],
-   q(4685) => [
+   q(4684) => [
       q(Piraha),
       ],
-   q(4686) => [
+   q(4685) => [
       q(Muniche),
       ],
-   q(4687) => [
+   q(4686) => [
       q(Mesmes),
       ],
-   q(4688) => [
+   q(4687) => [
       q(Munduruku),
       ],
-   q(4689) => [
+   q(4688) => [
       q(Muyuw),
       ],
-   q(4690) => [
+   q(4689) => [
       q(Masaaba),
       ],
-   q(4691) => [
+   q(4690) => [
       q(Macuna),
       ],
-   q(4692) => [
+   q(4691) => [
       q(Classical Mandaic),
       ],
-   q(4693) => [
+   q(4692) => [
       q(Santa Maria Zacatepec Mixtec),
       ],
-   q(4694) => [
+   q(4693) => [
       q(Tumzabt),
       ],
-   q(4695) => [
+   q(4694) => [
       q(Madagascar Sign Language),
       ],
-   q(4696) => [
+   q(4695) => [
       q(Malimba),
       ],
-   q(4697) => [
+   q(4696) => [
       q(Morawa),
       ],
-   q(4698) => [
+   q(4697) => [
       q(Monastic Sign Language),
       ],
-   q(4699) => [
+   q(4698) => [
       q(Wichi Lhamtes Guisnay),
       ],
-   q(4700) => [
+   q(4699) => [
       q(Ixcatlan Mazatec),
       ],
-   q(4701) => [
+   q(4700) => [
       q(Manya),
       ],
-   q(4702) => [
+   q(4701) => [
       q(Nigeria Mambila),
       ],
-   q(4703) => [
+   q(4702) => [
       q(Mazatlan Mixe),
       ],
-   q(4704) => [
+   q(4703) => [
       q(Mumuye),
       ],
-   q(4705) => [
+   q(4704) => [
       q(Mazanderani),
       ],
-   q(4706) => [
+   q(4705) => [
       q(Matipuhy),
       ],
-   q(4707) => [
+   q(4706) => [
       q(Movima),
       ],
-   q(4708) => [
+   q(4707) => [
       q(Mori Atas),
       ],
-   q(4709) => [
+   q(4708) => [
       q(Marubo),
       ],
-   q(4710) => [
+   q(4709) => [
       q(Macanese),
       ],
-   q(4711) => [
+   q(4710) => [
       q(Mintil),
       ],
-   q(4712) => [
+   q(4711) => [
       q(Inapang),
       ],
-   q(4713) => [
+   q(4712) => [
       q(Manza),
       ],
-   q(4714) => [
+   q(4713) => [
       q(Deg),
       ],
-   q(4715) => [
+   q(4714) => [
       q(Mawayana),
       ],
-   q(4716) => [
+   q(4715) => [
       q(Mozambican Sign Language),
       ],
-   q(4717) => [
+   q(4716) => [
       q(Maiadomu),
       ],
-   q(4718) => [
+   q(4717) => [
       q(Namla),
       ],
-   q(4719) => [
+   q(4718) => [
       q(Southern Nambikuara),
       ],
-   q(4720) => [
+   q(4719) => [
       q(Narak),
       ],
-   q(4721) => [
+   q(4720) => [
       q(Nijadali),
       ],
-   q(4722) => [
+   q(4721) => [
       q(Naka'ela),
       ],
-   q(4723) => [
+   q(4722) => [
       q(Nabak),
       ],
-   q(4724) => [
+   q(4723) => [
       q(Naga Pidgin),
       ],
-   q(4725) => [
+   q(4724) => [
       q(Nalu),
       ],
-   q(4726) => [
+   q(4725) => [
       q(Nakanai),
       ],
-   q(4727) => [
+   q(4726) => [
       q(Nalik),
       ],
-   q(4728) => [
+   q(4727) => [
       q(Ngan'gityemerri),
       ],
-   q(4729) => [
+   q(4728) => [
       q(Min Nan Chinese),
       ],
-   q(4730) => [
+   q(4729) => [
       q(Naaba),
       ],
-   q(4731) => [
+   q(4730) => [
       q(Khoekhoe),
       q(Nama (Namibia)),
       ],
-   q(4732) => [
+   q(4731) => [
       q(Iguta),
       ],
-   q(4733) => [
+   q(4732) => [
       q(Naasioi),
       ],
-   q(4734) => [
+   q(4733) => [
       q(Cahungwarya),
       q(Hungworo),
       ],
-   q(4735) => [
+   q(4734) => [
       q(Nawuri),
       ],
-   q(4736) => [
+   q(4735) => [
       q(Nakwi),
       ],
-   q(4737) => [
+   q(4736) => [
       q(Narrinyeri),
       ],
-   q(4738) => [
+   q(4737) => [
       q(Coatepec Nahuatl),
       ],
-   q(4739) => [
+   q(4738) => [
       q(Nyemba),
       ],
-   q(4740) => [
+   q(4739) => [
       q(Ndoe),
       ],
-   q(4741) => [
+   q(4740) => [
       q(Chang Naga),
       ],
-   q(4742) => [
+   q(4741) => [
       q(Ngbinda),
       ],
-   q(4743) => [
+   q(4742) => [
       q(Konyak Naga),
       ],
-   q(4744) => [
+   q(4743) => [
       q(Nagarchal),
       ],
-   q(4745) => [
+   q(4744) => [
       q(Ngamo),
       ],
-   q(4746) => [
+   q(4745) => [
       q(Mao Naga),
       ],
-   q(4747) => [
+   q(4746) => [
       q(Ngarinman),
       ],
-   q(4748) => [
+   q(4747) => [
       q(Nake),
       ],
-   q(4749) => [
+   q(4748) => [
       q(Ngbaka Ma'bo),
       ],
-   q(4750) => [
+   q(4749) => [
       q(Kuri),
       ],
-   q(4751) => [
+   q(4750) => [
       q(Nkukoli),
       ],
-   q(4752) => [
+   q(4751) => [
       q(Nnam),
       ],
-   q(4753) => [
+   q(4752) => [
       q(Nggem),
       ],
-   q(4754) => [
+   q(4753) => [
       q(Numana-Nunku-Gbantu-Numbu),
       ],
-   q(4755) => [
+   q(4754) => [
       q(Namibian Sign Language),
       ],
-   q(4756) => [
+   q(4755) => [
       q(Na),
       ],
-   q(4757) => [
+   q(4756) => [
       q(Rongmei Naga),
       ],
-   q(4758) => [
+   q(4757) => [
       q(Ngamambo),
       ],
-   q(4759) => [
+   q(4758) => [
       q(Southern Ngbandi),
       ],
-   q(4760) => [
+   q(4759) => [
       q(Ningera),
       ],
-   q(4761) => [
+   q(4760) => [
       q(Iyo),
       ],
-   q(4762) => [
+   q(4761) => [
       q(Central Nicobarese),
       ],
-   q(4763) => [
+   q(4762) => [
       q(Ponam),
       ],
-   q(4764) => [
+   q(4763) => [
       q(Nachering),
       ],
-   q(4765) => [
+   q(4764) => [
       q(Yale),
       ],
-   q(4766) => [
+   q(4765) => [
       q(Notsi),
       ],
-   q(4767) => [
+   q(4766) => [
       q(Nisga'a),
       ],
-   q(4768) => [
+   q(4767) => [
       q(Central Huasteca Nahuatl),
       ],
-   q(4769) => [
+   q(4768) => [
       q(Classical Nahuatl),
       ],
-   q(4770) => [
+   q(4769) => [
       q(Northern Puebla Nahuatl),
       ],
-   q(4771) => [
+   q(4770) => [
       q(Nakara),
       ],
-   q(4772) => [
+   q(4771) => [
       q(Michoacan Nahuatl),
       ],
-   q(4773) => [
+   q(4772) => [
       q(Nambo),
       ],
-   q(4774) => [
+   q(4773) => [
       q(Nauna),
       ],
-   q(4775) => [
+   q(4774) => [
       q(Sibe),
       ],
-   q(4776) => [
+   q(4775) => [
       q(Ndaktup),
       ],
-   q(4777) => [
+   q(4776) => [
       q(Ncane),
       ],
-   q(4778) => [
+   q(4777) => [
       q(Nicaraguan Sign Language),
       ],
-   q(4779) => [
+   q(4778) => [
       q(Chothe Naga),
       ],
-   q(4780) => [
+   q(4779) => [
       q(Chumburung),
       ],
-   q(4781) => [
+   q(4780) => [
       q(Central Puebla Nahuatl),
       ],
-   q(4782) => [
+   q(4781) => [
       q(Natchez),
       ],
-   q(4783) => [
+   q(4782) => [
       q(Ndasa),
       ],
-   q(4784) => [
+   q(4783) => [
       q(Kenswei Nsei),
       ],
-   q(4785) => [
+   q(4784) => [
       q(Ndau),
       ],
-   q(4786) => [
+   q(4785) => [
       q(Nde-Nsele-Nta),
       ],
-   q(4787) => [
+   q(4786) => [
       q(Nadruvian),
       ],
-   q(4788) => [
+   q(4787) => [
       q(Ndengereko),
       ],
-   q(4789) => [
+   q(4788) => [
       q(Ndali),
       ],
-   q(4790) => [
+   q(4789) => [
       q(Samba Leko),
       ],
-   q(4791) => [
+   q(4790) => [
       q(Ndamba),
       ],
-   q(4792) => [
+   q(4791) => [
       q(Ndaka),
       ],
-   q(4793) => [
+   q(4792) => [
       q(Ndolo),
       ],
-   q(4794) => [
+   q(4793) => [
       q(Ndam),
       ],
-   q(4795) => [
+   q(4794) => [
       q(Ngundi),
       ],
-   q(4796) => [
+   q(4795) => [
       q(Ndo),
       ],
-   q(4797) => [
+   q(4796) => [
       q(Ndombe),
       ],
-   q(4798) => [
+   q(4797) => [
       q(Ndoola),
       ],
-   q(4799) => [
+   q(4798) => [
       q(Ndunga),
       ],
-   q(4800) => [
+   q(4799) => [
       q(Dugun),
       ],
-   q(4801) => [
+   q(4800) => [
       q(Ndut),
       ],
-   q(4802) => [
+   q(4801) => [
       q(Ndobo),
       ],
-   q(4803) => [
+   q(4802) => [
       q(Nduga),
       ],
-   q(4804) => [
+   q(4803) => [
       q(Lutos),
       ],
-   q(4805) => [
+   q(4804) => [
       q(Ndogo),
       ],
-   q(4806) => [
+   q(4805) => [
       q(Eastern Ngad'a),
       ],
-   q(4807) => [
+   q(4806) => [
       q(Toura (Cote d'Ivoire)),
       ],
-   q(4808) => [
+   q(4807) => [
       q(Nedebang),
       ],
-   q(4809) => [
+   q(4808) => [
       q(Nde-Gbite),
       ],
-   q(4810) => [
+   q(4809) => [
       q(Nelemwa-Nixumwak),
       ],
-   q(4811) => [
+   q(4810) => [
       q(Nefamese),
       ],
-   q(4812) => [
+   q(4811) => [
       q(Negidal),
       ],
-   q(4813) => [
+   q(4812) => [
       q(Nyenkha),
       ],
-   q(4814) => [
+   q(4813) => [
       q(Neo-Hittite),
       ],
-   q(4815) => [
+   q(4814) => [
       q(Neko),
       ],
-   q(4816) => [
+   q(4815) => [
       q(Neku),
       ],
-   q(4817) => [
+   q(4816) => [
       q(Nemi),
       ],
-   q(4818) => [
+   q(4817) => [
       q(Nengone),
       ],
-   q(4819) => [
+   q(4818) => [
       q(Na-Meo),
       ],
-   q(4820) => [
+   q(4819) => [
       q(North Central Mixe),
       ],
-   q(4821) => [
+   q(4820) => [
       q(Yahadian),
       ],
-   q(4822) => [
+   q(4821) => [
       q(Bhoti Kinnauri),
       ],
-   q(4823) => [
+   q(4822) => [
       q(Nete),
       ],
-   q(4824) => [
+   q(4823) => [
       q(Neo),
       ],
-   q(4825) => [
+   q(4824) => [
       q(Nyaheun),
       ],
-   q(4826) => [
+   q(4825) => [
       q(Neme),
       ],
-   q(4827) => [
+   q(4826) => [
       q(Neyo),
       ],
-   q(4828) => [
+   q(4827) => [
       q(Nez Perce),
       ],
-   q(4829) => [
+   q(4828) => [
       q(Dhao),
       ],
-   q(4830) => [
+   q(4829) => [
       q(Ahwai),
       ],
-   q(4831) => [
+   q(4830) => [
       q(Ayiwo),
       q(Aiwoo),
       ],
-   q(4832) => [
+   q(4831) => [
       q(Nafaanra),
       ],
-   q(4833) => [
+   q(4832) => [
       q(Mfumte),
       ],
-   q(4834) => [
+   q(4833) => [
       q(Ngbaka),
       ],
-   q(4835) => [
+   q(4834) => [
       q(Northern Ngbandi),
       ],
-   q(4836) => [
+   q(4835) => [
       q(Ngombe (Democratic Republic of Congo)),
       ],
-   q(4837) => [
+   q(4836) => [
       q(Ngando (Central African Republic)),
       ],
-   q(4838) => [
+   q(4837) => [
       q(Ngemba),
       ],
-   q(4839) => [
+   q(4838) => [
       q(Ngbaka Manza),
       ],
-   q(4840) => [
+   q(4839) => [
       q(N/u),
+      q(Nu),
       ],
-   q(4841) => [
+   q(4840) => [
       q(Ngizim),
       ],
-   q(4842) => [
+   q(4841) => [
       q(Ngie),
       ],
-   q(4843) => [
+   q(4842) => [
       q(Dalabon),
       ],
-   q(4844) => [
+   q(4843) => [
       q(Lomwe),
       ],
-   q(4845) => [
+   q(4844) => [
       q(Ngatik Men's Creole),
       ],
-   q(4846) => [
+   q(4845) => [
       q(Ngwo),
       ],
-   q(4847) => [
+   q(4846) => [
       q(Ngoni),
       ],
-   q(4848) => [
+   q(4847) => [
       q(Ngulu),
       ],
-   q(4849) => [
+   q(4848) => [
       q(Ngurimi),
       q(Ngoreme),
       ],
-   q(4850) => [
+   q(4849) => [
       q(Engdewu),
       ],
-   q(4851) => [
+   q(4850) => [
       q(Gvoko),
       ],
-   q(4852) => [
+   q(4851) => [
       q(Ngeq),
       ],
-   q(4853) => [
+   q(4852) => [
       q(Guerrero Nahuatl),
       ],
-   q(4854) => [
+   q(4853) => [
       q(Nagumi),
       ],
-   q(4855) => [
+   q(4854) => [
       q(Ngwaba),
       ],
-   q(4856) => [
+   q(4855) => [
       q(Nggwahyi),
       ],
-   q(4857) => [
+   q(4856) => [
       q(Tibea),
       ],
-   q(4858) => [
+   q(4857) => [
       q(Ngungwel),
       ],
-   q(4859) => [
+   q(4858) => [
       q(Nhanda),
       ],
-   q(4860) => [
+   q(4859) => [
       q(Beng),
       ],
-   q(4861) => [
+   q(4860) => [
       q(Tabasco Nahuatl),
       ],
-   q(4862) => [
+   q(4861) => [
       q(Chiripa),
       q(Ava Guarani),
       ],
-   q(4863) => [
+   q(4862) => [
       q(Eastern Huasteca Nahuatl),
       ],
-   q(4864) => [
+   q(4863) => [
       q(Nhuwala),
       ],
-   q(4865) => [
+   q(4864) => [
       q(Tetelcingo Nahuatl),
       ],
-   q(4866) => [
+   q(4865) => [
       q(Nahari),
       ],
-   q(4867) => [
+   q(4866) => [
       q(Zacatlan-Ahuacatlan-Tepetzintla Nahuatl),
       ],
-   q(4868) => [
+   q(4867) => [
       q(Isthmus-Cosoleacaque Nahuatl),
       ],
-   q(4869) => [
+   q(4868) => [
       q(Morelos Nahuatl),
       ],
-   q(4870) => [
+   q(4869) => [
       q(Central Nahuatl),
       ],
-   q(4871) => [
+   q(4870) => [
       q(Takuu),
       ],
-   q(4872) => [
+   q(4871) => [
       q(Isthmus-Pajapan Nahuatl),
       ],
-   q(4873) => [
+   q(4872) => [
       q(Huaxcaleca Nahuatl),
       ],
-   q(4874) => [
+   q(4873) => [
       q(Naro),
       ],
-   q(4875) => [
+   q(4874) => [
       q(Ometepec Nahuatl),
       ],
-   q(4876) => [
+   q(4875) => [
       q(Noone),
       ],
-   q(4877) => [
+   q(4876) => [
       q(Temascaltepec Nahuatl),
       ],
-   q(4878) => [
+   q(4877) => [
       q(Western Huasteca Nahuatl),
       ],
-   q(4879) => [
+   q(4878) => [
       q(Isthmus-Mecayapan Nahuatl),
       ],
-   q(4880) => [
+   q(4879) => [
       q(Northern Oaxaca Nahuatl),
       ],
-   q(4881) => [
+   q(4880) => [
       q(Santa Maria La Alta Nahuatl),
       ],
-   q(4882) => [
+   q(4881) => [
       q(Nakame),
       ],
-   q(4883) => [
+   q(4882) => [
       q(Ngandi),
       ],
-   q(4884) => [
+   q(4883) => [
       q(Niellim),
       ],
-   q(4885) => [
+   q(4884) => [
       q(Nek),
       ],
-   q(4886) => [
+   q(4885) => [
       q(Ngalakan),
       ],
-   q(4887) => [
+   q(4886) => [
       q(Nyiha (Tanzania)),
       ],
-   q(4888) => [
+   q(4887) => [
       q(Nii),
       ],
-   q(4889) => [
+   q(4888) => [
       q(Ngaju),
       ],
-   q(4890) => [
+   q(4889) => [
       q(Southern Nicobarese),
       ],
-   q(4891) => [
+   q(4890) => [
       q(Nila),
       ],
-   q(4892) => [
+   q(4891) => [
       q(Nilamba),
       ],
-   q(4893) => [
+   q(4892) => [
       q(Ninzo),
       ],
-   q(4894) => [
+   q(4893) => [
       q(Nganasan),
       ],
-   q(4895) => [
+   q(4894) => [
       q(Nandi),
       ],
-   q(4896) => [
+   q(4895) => [
       q(Nimboran),
       ],
-   q(4897) => [
+   q(4896) => [
       q(Nimi),
       ],
-   q(4898) => [
+   q(4897) => [
       q(Southeastern Kolami),
       ],
-   q(4899) => [
+   q(4898) => [
       q(Gilyak),
       ],
-   q(4900) => [
+   q(4899) => [
       q(Nimo),
       ],
-   q(4901) => [
+   q(4900) => [
       q(Hema),
       ],
-   q(4902) => [
+   q(4901) => [
       q(Ngiti),
       ],
-   q(4903) => [
+   q(4902) => [
       q(Ningil),
       ],
-   q(4904) => [
+   q(4903) => [
       q(Nzanyi),
       ],
-   q(4905) => [
+   q(4904) => [
       q(Nocte Naga),
       ],
-   q(4906) => [
+   q(4905) => [
       q(Ndonde Hamba),
       ],
-   q(4907) => [
+   q(4906) => [
       q(Lotha Naga),
       ],
-   q(4908) => [
+   q(4907) => [
       q(Gudanji),
       ],
-   q(4909) => [
+   q(4908) => [
       q(Njen),
       ],
-   q(4910) => [
+   q(4909) => [
       q(Njalgulgule),
       ],
-   q(4911) => [
+   q(4910) => [
       q(Angami Naga),
       ],
-   q(4912) => [
+   q(4911) => [
       q(Liangmai Naga),
       ],
-   q(4913) => [
+   q(4912) => [
       q(Ao Naga),
       ],
-   q(4914) => [
+   q(4913) => [
       q(Njerep),
       ],
-   q(4915) => [
+   q(4914) => [
       q(Nisa),
       ],
-   q(4916) => [
+   q(4915) => [
       q(Ndyuka-Trio Pidgin),
       ],
-   q(4917) => [
+   q(4916) => [
       q(Ngadjunmaya),
       ],
-   q(4918) => [
+   q(4917) => [
       q(Kunyi),
       ],
-   q(4919) => [
+   q(4918) => [
       q(Njyem),
       ],
-   q(4920) => [
+   q(4919) => [
       q(Nyishi),
       ],
-   q(4921) => [
+   q(4920) => [
       q(Nkoya),
       ],
-   q(4922) => [
+   q(4921) => [
       q(Khoibu Naga),
       ],
-   q(4923) => [
+   q(4922) => [
       q(Nkongho),
       ],
-   q(4924) => [
+   q(4923) => [
       q(Koireng),
       ],
-   q(4925) => [
+   q(4924) => [
       q(Duke),
       ],
-   q(4926) => [
+   q(4925) => [
       q(Inpui Naga),
       ],
-   q(4927) => [
+   q(4926) => [
       q(Nekgini),
       ],
-   q(4928) => [
+   q(4927) => [
       q(Khezha Naga),
       ],
-   q(4929) => [
+   q(4928) => [
       q(Thangal Naga),
       ],
-   q(4930) => [
+   q(4929) => [
       q(Nakai),
       ],
-   q(4931) => [
+   q(4930) => [
       q(Nokuku),
       ],
-   q(4932) => [
+   q(4931) => [
       q(Namat),
       ],
-   q(4933) => [
+   q(4932) => [
       q(Nkangala),
       ],
-   q(4934) => [
+   q(4933) => [
       q(Nkonya),
       ],
-   q(4935) => [
+   q(4934) => [
       q(Niuatoputapu),
       ],
-   q(4936) => [
+   q(4935) => [
       q(Nkami),
       ],
-   q(4937) => [
+   q(4936) => [
       q(Nukuoro),
       ],
-   q(4938) => [
+   q(4937) => [
       q(North Asmat),
       ],
-   q(4939) => [
+   q(4938) => [
       q(Nyika (Tanzania)),
       ],
-   q(4940) => [
+   q(4939) => [
       q(Bouna Kulango),
       ],
-   q(4941) => [
+   q(4940) => [
       q(Nyika (Malawi and Zambia)),
       ],
-   q(4942) => [
+   q(4941) => [
       q(Nkutu),
       ],
-   q(4943) => [
+   q(4942) => [
       q(Nkoroo),
       ],
-   q(4944) => [
+   q(4943) => [
       q(Nkari),
       ],
-   q(4945) => [
+   q(4944) => [
       q(Ngombale),
       ],
-   q(4946) => [
+   q(4945) => [
       q(Nalca),
       ],
-   q(4947) => [
+   q(4946) => [
       q(East Nyala),
       ],
-   q(4948) => [
+   q(4947) => [
       q(Gela),
       ],
-   q(4949) => [
+   q(4948) => [
       q(Grangali),
       ],
-   q(4950) => [
+   q(4949) => [
       q(Nyali),
       ],
-   q(4951) => [
+   q(4950) => [
       q(Ninia Yali),
       ],
-   q(4952) => [
+   q(4951) => [
       q(Nihali),
       ],
-   q(4953) => [
+   q(4952) => [
       q(Ngul),
       ],
-   q(4954) => [
+   q(4953) => [
       q(Lao Naga),
       ],
-   q(4955) => [
+   q(4954) => [
       q(Nchumbulu),
       ],
-   q(4956) => [
+   q(4955) => [
       q(Orizaba Nahuatl),
       ],
-   q(4957) => [
+   q(4956) => [
       q(Walangama),
       ],
-   q(4958) => [
+   q(4957) => [
       q(Nahali),
       ],
-   q(4959) => [
+   q(4958) => [
       q(Nyamal),
       ],
-   q(4960) => [
+   q(4959) => [
       q(Nalogo),
       ],
-   q(4961) => [
+   q(4960) => [
       q(Maram Naga),
       ],
-   q(4962) => [
+   q(4961) => [
       q(Big Nambas),
       q(V'enen Taut),
       ],
-   q(4963) => [
+   q(4962) => [
       q(Ngam),
       ],
-   q(4964) => [
+   q(4963) => [
       q(Ndumu),
       ],
-   q(4965) => [
+   q(4964) => [
       q(Mzieme Naga),
       ],
-   q(4966) => [
+   q(4965) => [
       q(Tangkhul Naga (India)),
       ],
-   q(4967) => [
+   q(4966) => [
       q(Kwasio),
       ],
-   q(4968) => [
+   q(4967) => [
       q(Monsang Naga),
       ],
-   q(4969) => [
+   q(4968) => [
       q(Nyam),
       ],
-   q(4970) => [
+   q(4969) => [
       q(Ngombe (Central African Republic)),
       ],
-   q(4971) => [
+   q(4970) => [
       q(Namakura),
       ],
-   q(4972) => [
+   q(4971) => [
       q(Ndemli),
       ],
-   q(4973) => [
+   q(4972) => [
       q(Manangba),
       ],
-   q(4974) => [
+   q(4973) => [
       q(!Xoo),
+      q(Xoo),
       ],
-   q(4975) => [
+   q(4974) => [
       q(Moyon Naga),
       ],
-   q(4976) => [
+   q(4975) => [
       q(Nimanbur),
       ],
-   q(4977) => [
+   q(4976) => [
       q(Nambya),
       ],
-   q(4978) => [
+   q(4977) => [
       q(Nimbari),
       ],
-   q(4979) => [
+   q(4978) => [
       q(Letemboi),
       ],
-   q(4980) => [
+   q(4979) => [
       q(Namonuito),
       ],
-   q(4981) => [
+   q(4980) => [
       q(Northeast Maidu),
       ],
-   q(4982) => [
+   q(4981) => [
       q(Ngamini),
       ],
-   q(4983) => [
+   q(4982) => [
       q(Nimoa),
       q(Rifao),
       ],
-   q(4984) => [
+   q(4983) => [
       q(Nama (Papua New Guinea)),
       ],
-   q(4985) => [
+   q(4984) => [
       q(Namuyi),
       ],
-   q(4986) => [
+   q(4985) => [
       q(Nawdm),
       ],
-   q(4987) => [
+   q(4986) => [
       q(Nyangumarta),
       ],
-   q(4988) => [
+   q(4987) => [
       q(Nande),
       ],
-   q(4989) => [
+   q(4988) => [
       q(Nancere),
       ],
-   q(4990) => [
+   q(4989) => [
       q(West Ambae),
       ],
-   q(4991) => [
+   q(4990) => [
       q(Ngandyera),
       ],
-   q(4992) => [
+   q(4991) => [
       q(Ngaing),
       ],
-   q(4993) => [
+   q(4992) => [
       q(Maring Naga),
       ],
-   q(4994) => [
+   q(4993) => [
       q(Ngiemboon),
       ],
-   q(4995) => [
+   q(4994) => [
       q(North Nuaulu),
       ],
-   q(4996) => [
+   q(4995) => [
       q(Nyangatom),
       ],
-   q(4997) => [
+   q(4996) => [
       q(Nankina),
       ],
-   q(4998) => [
+   q(4997) => [
       q(Northern Rengma Naga),
       ],
-   q(4999) => [
+   q(4998) => [
       q(Namia),
       ],
-   q(5000) => [
+   q(4999) => [
       q(Ngete),
       ],
-   q(5001) => [
+   q(5000) => [
       q(Wancho Naga),
       ],
-   q(5002) => [
+   q(5001) => [
       q(Ngindo),
       ],
-   q(5003) => [
+   q(5002) => [
       q(Narungga),
       ],
-   q(5004) => [
+   q(5003) => [
       q(Ningye),
       ],
-   q(5005) => [
+   q(5004) => [
       q(Nanticoke),
       ],
-   q(5006) => [
+   q(5005) => [
       q(Dwang),
       ],
-   q(5007) => [
+   q(5006) => [
       q(Nugunu (Australia)),
       ],
-   q(5008) => [
+   q(5007) => [
       q(Southern Nuni),
       ],
-   q(5009) => [
+   q(5008) => [
       q(Nyangga),
       ],
-   q(5010) => [
+   q(5009) => [
       q(Nda'nda'),
       ],
-   q(5011) => [
+   q(5010) => [
       q(Woun Meu),
       ],
-   q(5012) => [
+   q(5011) => [
       q(Nuk),
       ],
-   q(5013) => [
+   q(5012) => [
       q(Northern Thai),
       ],
-   q(5014) => [
+   q(5013) => [
       q(Nimadi),
       ],
-   q(5015) => [
+   q(5014) => [
       q(Nomane),
       ],
-   q(5016) => [
+   q(5015) => [
       q(Nomu),
       ],
-   q(5017) => [
+   q(5016) => [
       q(Noiri),
       ],
-   q(5018) => [
+   q(5017) => [
       q(Nonuya),
       ],
-   q(5019) => [
+   q(5018) => [
       q(Nooksack),
       ],
-   q(5020) => [
+   q(5019) => [
       q(Nomlaki),
       ],
-   q(5021) => [
+   q(5020) => [
       q(Nocaman),
       ],
-   q(5022) => [
+   q(5021) => [
       q(Numanggang),
       ],
-   q(5023) => [
+   q(5022) => [
       q(Ngongo),
       ],
-   q(5024) => [
+   q(5023) => [
       q(Eastern Nisu),
       ],
-   q(5025) => [
+   q(5024) => [
       q(Nomatsiguenga),
       ],
-   q(5026) => [
+   q(5025) => [
       q(Ewage-Notu),
       ],
-   q(5027) => [
+   q(5026) => [
       q(Novial),
       ],
-   q(5028) => [
+   q(5027) => [
       q(Nyambo),
       ],
-   q(5029) => [
+   q(5028) => [
       q(Noy),
       ],
-   q(5030) => [
+   q(5029) => [
       q(Nayi),
       ],
-   q(5031) => [
+   q(5030) => [
       q(Nar Phu),
       ],
-   q(5032) => [
+   q(5031) => [
       q(Nupbikha),
       ],
-   q(5033) => [
+   q(5032) => [
       q(Ponyo-Gongwang Naga),
       ],
-   q(5034) => [
+   q(5033) => [
       q(Phom Naga),
       ],
-   q(5035) => [
+   q(5034) => [
       q(Nepali (individual language)),
       ],
-   q(5036) => [
+   q(5035) => [
       q(Southeastern Puebla Nahuatl),
       ],
-   q(5037) => [
+   q(5036) => [
       q(Mondropolon),
       ],
-   q(5038) => [
+   q(5037) => [
       q(Pochuri Naga),
       ],
-   q(5039) => [
+   q(5038) => [
       q(Nipsan),
       ],
-   q(5040) => [
+   q(5039) => [
       q(Puimei Naga),
       ],
-   q(5041) => [
+   q(5040) => [
       q(Napu),
       ],
-   q(5042) => [
+   q(5041) => [
       q(Southern Nago),
       ],
-   q(5043) => [
+   q(5042) => [
       q(Kura Ede Nago),
       ],
-   q(5044) => [
+   q(5043) => [
       q(Ndom),
       ],
-   q(5045) => [
+   q(5044) => [
       q(Nen),
       ],
-   q(5046) => [
+   q(5045) => [
       q(Kyan-Karyaw Naga),
       ],
-   q(5047) => [
+   q(5046) => [
       q(Akyaung Ari Naga),
       ],
-   q(5048) => [
+   q(5047) => [
       q(Ngom),
       ],
-   q(5049) => [
+   q(5048) => [
       q(Nara),
       ],
-   q(5050) => [
+   q(5049) => [
       q(Noric),
       ],
-   q(5051) => [
+   q(5050) => [
       q(Southern Rengma Naga),
       ],
-   q(5052) => [
+   q(5051) => [
       q(Jerriais),
       q(Guernesiais),
       ],
-   q(5053) => [
+   q(5052) => [
       q(Narango),
       ],
-   q(5054) => [
+   q(5053) => [
       q(Chokri Naga),
       ],
-   q(5055) => [
+   q(5054) => [
       q(Ngarla),
       ],
-   q(5056) => [
+   q(5055) => [
       q(Ngarluma),
       ],
-   q(5057) => [
+   q(5056) => [
       q(Narom),
       ],
-   q(5058) => [
+   q(5057) => [
       q(Norn),
       ],
-   q(5059) => [
+   q(5058) => [
       q(North Picene),
       ],
-   q(5060) => [
+   q(5059) => [
       q(Norra),
       q(Nora),
       ],
-   q(5061) => [
+   q(5060) => [
       q(Northern Kalapuya),
       ],
-   q(5062) => [
+   q(5061) => [
       q(Narua),
       ],
-   q(5063) => [
+   q(5062) => [
       q(Ngurmbur),
       ],
-   q(5064) => [
+   q(5063) => [
       q(Lala),
       ],
-   q(5065) => [
+   q(5064) => [
       q(Sangtam Naga),
       ],
-   q(5066) => [
+   q(5065) => [
       q(Nshi),
       ],
-   q(5067) => [
+   q(5066) => [
       q(Southern Nisu),
       ],
-   q(5068) => [
+   q(5067) => [
       q(Nsenga),
       ],
-   q(5069) => [
+   q(5068) => [
       q(Northwestern Nisu),
       ],
-   q(5070) => [
+   q(5069) => [
       q(Ngasa),
       ],
-   q(5071) => [
+   q(5070) => [
       q(Ngoshie),
       ],
-   q(5072) => [
+   q(5071) => [
       q(Nigerian Sign Language),
       ],
-   q(5073) => [
+   q(5072) => [
       q(Naskapi),
       ],
-   q(5074) => [
+   q(5073) => [
       q(Norwegian Sign Language),
       ],
-   q(5075) => [
+   q(5074) => [
       q(Sumi Naga),
       ],
-   q(5076) => [
+   q(5075) => [
       q(Nehan),
       ],
-   q(5077) => [
+   q(5076) => [
       q(Nepalese Sign Language),
       ],
-   q(5078) => [
+   q(5077) => [
       q(Northern Sierra Miwok),
       ],
-   q(5079) => [
+   q(5078) => [
       q(Maritime Sign Language),
       ],
-   q(5080) => [
+   q(5079) => [
       q(Nali),
       ],
-   q(5081) => [
+   q(5080) => [
       q(Tase Naga),
       ],
-   q(5082) => [
+   q(5081) => [
       q(Sierra Negra Nahuatl),
       ],
-   q(5083) => [
+   q(5082) => [
       q(Southwestern Nisu),
       ],
-   q(5084) => [
+   q(5083) => [
       q(Navut),
       ],
-   q(5085) => [
+   q(5084) => [
       q(Nsongo),
       ],
-   q(5086) => [
+   q(5085) => [
       q(Nasal),
       ],
-   q(5087) => [
+   q(5086) => [
       q(Nisenan),
       ],
-   q(5088) => [
+   q(5087) => [
       q(Nathembo),
       ],
-   q(5089) => [
+   q(5088) => [
       q(Ngantangarra),
       ],
-   q(5090) => [
+   q(5089) => [
       q(Natioro),
       ],
-   q(5091) => [
+   q(5090) => [
       q(Ngaanyatjarra),
       ],
-   q(5092) => [
+   q(5091) => [
       q(Ikoma-Nata-Isenye),
       ],
-   q(5093) => [
+   q(5092) => [
       q(Nateni),
       ],
-   q(5094) => [
+   q(5093) => [
       q(Ntomba),
       ],
-   q(5095) => [
+   q(5094) => [
       q(Northern Tepehuan),
       ],
-   q(5096) => [
+   q(5095) => [
       q(Delo),
       ],
-   q(5097) => [
+   q(5096) => [
       q(Natagaimas),
       ],
-   q(5098) => [
+   q(5097) => [
       q(Natugu),
       ],
-   q(5099) => [
+   q(5098) => [
       q(Nottoway),
       ],
-   q(5100) => [
+   q(5099) => [
       q(Tangkhul Naga (Myanmar)),
       ],
-   q(5101) => [
+   q(5100) => [
       q(Mantsi),
       ],
-   q(5102) => [
+   q(5101) => [
       q(Natanzi),
       ],
-   q(5103) => [
+   q(5102) => [
       q(Yuanga),
       ],
-   q(5104) => [
+   q(5103) => [
       q(Nukuini),
       ],
-   q(5105) => [
+   q(5104) => [
       q(Ngala),
       ],
-   q(5106) => [
+   q(5105) => [
       q(Ngundu),
       ],
-   q(5107) => [
+   q(5106) => [
       q(Nusu),
       ],
-   q(5108) => [
+   q(5107) => [
       q(Nungali),
       ],
-   q(5109) => [
+   q(5108) => [
       q(Ndunda),
       ],
-   q(5110) => [
+   q(5109) => [
       q(Ngumbi),
       ],
-   q(5111) => [
+   q(5110) => [
       q(Nyole),
       ],
-   q(5112) => [
+   q(5111) => [
       q(Nuu-chah-nulth),
       q(Nuuchahnulth),
       ],
-   q(5113) => [
+   q(5112) => [
       q(Nusa Laut),
       ],
-   q(5114) => [
+   q(5113) => [
       q(Niuafo'ou),
       ],
-   q(5115) => [
+   q(5114) => [
       q(Anong),
       ],
-   q(5116) => [
+   q(5115) => [
       q(Nguon),
       ],
-   q(5117) => [
+   q(5116) => [
       q(Nupe-Nupe-Tako),
       ],
-   q(5118) => [
+   q(5117) => [
       q(Nukumanu),
       ],
-   q(5119) => [
+   q(5118) => [
       q(Nukuria),
       ],
-   q(5120) => [
+   q(5119) => [
       q(Nuer),
       ],
-   q(5121) => [
+   q(5120) => [
       q(Nung (Viet Nam)),
       ],
-   q(5122) => [
+   q(5121) => [
       q(Ngbundu),
       ],
-   q(5123) => [
+   q(5122) => [
       q(Northern Nuni),
       ],
-   q(5124) => [
+   q(5123) => [
       q(Nguluwan),
       ],
-   q(5125) => [
+   q(5124) => [
       q(Mehek),
       ],
-   q(5126) => [
+   q(5125) => [
       q(Nunggubuyu),
       ],
-   q(5127) => [
+   q(5126) => [
       q(Tlamacazapa Nahuatl),
       ],
-   q(5128) => [
+   q(5127) => [
       q(Nasarian),
       ],
-   q(5129) => [
+   q(5128) => [
       q(Namiae),
       ],
-   q(5130) => [
+   q(5129) => [
       q(Nyokon),
       ],
-   q(5131) => [
+   q(5130) => [
       q(Nawathinehena),
       ],
-   q(5132) => [
+   q(5131) => [
       q(Nyabwa),
       ],
-   q(5133) => [
+   q(5132) => [
       q(Ngwe),
       ],
-   q(5134) => [
+   q(5133) => [
       q(Ngayawung),
       ],
-   q(5135) => [
+   q(5134) => [
       q(Southwest Tanna),
       ],
-   q(5136) => [
+   q(5135) => [
       q(Nyamusa-Molo),
       ],
-   q(5137) => [
+   q(5136) => [
       q(Nauo),
       ],
-   q(5138) => [
+   q(5137) => [
       q(Nawaru),
       ],
-   q(5139) => [
+   q(5138) => [
       q(Middle Newar),
       ],
-   q(5140) => [
+   q(5139) => [
       q(Nottoway-Meherrin),
       ],
-   q(5141) => [
+   q(5140) => [
       q(Nauete),
       ],
-   q(5142) => [
+   q(5141) => [
       q(Ngando (Democratic Republic of Congo)),
       ],
-   q(5143) => [
+   q(5142) => [
       q(Nage),
       ],
-   q(5144) => [
+   q(5143) => [
       q(Ngad'a),
       ],
-   q(5145) => [
+   q(5144) => [
       q(Nindi),
       ],
-   q(5146) => [
+   q(5145) => [
       q(Koki Naga),
       ],
-   q(5147) => [
+   q(5146) => [
       q(South Nuaulu),
       ],
-   q(5148) => [
+   q(5147) => [
       q(Numidian),
       ],
-   q(5149) => [
+   q(5148) => [
       q(Ngawun),
       ],
-   q(5150) => [
+   q(5149) => [
       q(Ndambomo),
       ],
-   q(5151) => [
+   q(5150) => [
       q(Naxi),
       ],
-   q(5152) => [
+   q(5151) => [
       q(Ninggerum),
       ],
-   q(5153) => [
+   q(5152) => [
       q(Narau),
       ],
-   q(5154) => [
+   q(5153) => [
       q(Nafri),
       ],
-   q(5155) => [
+   q(5154) => [
       q(Nyangbo),
       ],
-   q(5156) => [
+   q(5155) => [
       q(Nyanga-li),
       ],
-   q(5157) => [
+   q(5156) => [
       q(Nyore),
       q(Olunyole),
       ],
-   q(5158) => [
+   q(5157) => [
       q(Nyengo),
       ],
-   q(5159) => [
+   q(5158) => [
       q(Giryama),
       q(Kigiryama),
       ],
-   q(5160) => [
+   q(5159) => [
       q(Nyindu),
       ],
-   q(5161) => [
+   q(5160) => [
       q(Nyigina),
       ],
-   q(5162) => [
+   q(5161) => [
       q(Ama (Sudan)),
       ],
-   q(5163) => [
+   q(5162) => [
       q(Nyanga),
       ],
-   q(5164) => [
+   q(5163) => [
       q(Nyaneka),
       ],
-   q(5165) => [
+   q(5164) => [
       q(Nyeu),
       ],
-   q(5166) => [
+   q(5165) => [
       q(Nyang'i),
       ],
-   q(5167) => [
+   q(5166) => [
       q(Nayini),
       ],
-   q(5168) => [
+   q(5167) => [
       q(Nyiha (Malawi)),
       ],
-   q(5169) => [
+   q(5168) => [
       q(Nyunga),
       ],
-   q(5170) => [
+   q(5169) => [
       q(Nyawaygi),
       ],
-   q(5171) => [
+   q(5170) => [
       q(Nyungwe),
       ],
-   q(5172) => [
+   q(5171) => [
       q(Nyulnyul),
       ],
-   q(5173) => [
+   q(5172) => [
       q(Nyaw),
       ],
-   q(5174) => [
+   q(5173) => [
       q(Nganyaywana),
       ],
-   q(5175) => [
+   q(5174) => [
       q(Nyakyusa-Ngonde),
       ],
-   q(5176) => [
+   q(5175) => [
       q(Tigon Mbembe),
       ],
-   q(5177) => [
+   q(5176) => [
       q(Njebi),
       ],
-   q(5178) => [
+   q(5177) => [
       q(Nzakara),
       ],
-   q(5179) => [
+   q(5178) => [
       q(Zeme Naga),
       ],
-   q(5180) => [
+   q(5179) => [
       q(New Zealand Sign Language),
       ],
-   q(5181) => [
+   q(5180) => [
       q(Teke-Nzikou),
       ],
-   q(5182) => [
+   q(5181) => [
       q(Nzakambay),
       ],
-   q(5183) => [
+   q(5182) => [
       q(Nanga Dama Dogon),
       ],
-   q(5184) => [
+   q(5183) => [
       q(Orok),
       ],
-   q(5185) => [
+   q(5184) => [
       q(Oroch),
       ],
-   q(5186) => [
+   q(5185) => [
       q(Old Aramaic (up to 700 BCE)),
       q(Ancient Aramaic (up to 700 BCE)),
       ],
-   q(5187) => [
+   q(5186) => [
       q(Old Avar),
       ],
-   q(5188) => [
+   q(5187) => [
       q(Obispeno),
       ],
-   q(5189) => [
+   q(5188) => [
       q(Southern Bontok),
       ],
-   q(5190) => [
+   q(5189) => [
       q(Oblo),
       ],
-   q(5191) => [
+   q(5190) => [
       q(Moabite),
       ],
-   q(5192) => [
+   q(5191) => [
       q(Obo Manobo),
       ],
-   q(5193) => [
+   q(5192) => [
       q(Old Burmese),
       ],
-   q(5194) => [
+   q(5193) => [
       q(Old Breton),
       ],
-   q(5195) => [
+   q(5194) => [
       q(Obulom),
       ],
-   q(5196) => [
+   q(5195) => [
       q(Ocaina),
       ],
-   q(5197) => [
+   q(5196) => [
       q(Old Chinese),
       ],
-   q(5198) => [
+   q(5197) => [
       q(Old Cornish),
       ],
-   q(5199) => [
+   q(5198) => [
       q(Atzingo Matlatzinca),
       ],
-   q(5200) => [
+   q(5199) => [
       q(Odut),
       ],
-   q(5201) => [
+   q(5200) => [
       q(Od),
       ],
-   q(5202) => [
+   q(5201) => [
       q(Old Dutch),
       ],
-   q(5203) => [
+   q(5202) => [
       q(Odual),
       ],
-   q(5204) => [
+   q(5203) => [
       q(Ofo),
       ],
-   q(5205) => [
+   q(5204) => [
       q(Old Frisian),
       ],
-   q(5206) => [
+   q(5205) => [
       q(Efutop),
       ],
-   q(5207) => [
+   q(5206) => [
       q(Ogbia),
       ],
-   q(5208) => [
+   q(5207) => [
       q(Ogbah),
       ],
-   q(5209) => [
+   q(5208) => [
       q(Old Georgian),
       ],
-   q(5210) => [
+   q(5209) => [
       q(Ogbogolo),
       ],
-   q(5211) => [
+   q(5210) => [
       q(Khana),
       ],
-   q(5212) => [
+   q(5211) => [
       q(Ogbronuagum),
       ],
-   q(5213) => [
+   q(5212) => [
       q(Old Hittite),
       ],
-   q(5214) => [
+   q(5213) => [
       q(Old Hungarian),
       ],
-   q(5215) => [
+   q(5214) => [
       q(Oirata),
       ],
-   q(5216) => [
+   q(5215) => [
       q(Inebu One),
       ],
-   q(5217) => [
+   q(5216) => [
       q(Northwestern Ojibwa),
       ],
-   q(5218) => [
+   q(5217) => [
       q(Central Ojibwa),
       ],
-   q(5219) => [
+   q(5218) => [
       q(Eastern Ojibwa),
       ],
-   q(5220) => [
+   q(5219) => [
       q(Old Japanese),
       ],
-   q(5221) => [
+   q(5220) => [
       q(Severn Ojibwa),
       ],
-   q(5222) => [
+   q(5221) => [
       q(Ontong Java),
       ],
-   q(5223) => [
+   q(5222) => [
       q(Western Ojibwa),
       ],
-   q(5224) => [
+   q(5223) => [
       q(Okanagan),
       ],
-   q(5225) => [
+   q(5224) => [
       q(Okobo),
       ],
-   q(5226) => [
+   q(5225) => [
       q(Okodia),
       ],
-   q(5227) => [
+   q(5226) => [
       q(Okpe (Southwestern Edo)),
       ],
-   q(5228) => [
+   q(5227) => [
       q(Koko Babangk),
       ],
-   q(5229) => [
+   q(5228) => [
       q(Koresh-e Rostam),
       ],
-   q(5230) => [
+   q(5229) => [
       q(Okiek),
       ],
-   q(5231) => [
+   q(5230) => [
       q(Oko-Juwoi),
       ],
-   q(5232) => [
+   q(5231) => [
       q(Kwamtim One),
       ],
-   q(5233) => [
+   q(5232) => [
       q(Old Kentish Sign Language),
       ],
-   q(5234) => [
+   q(5233) => [
       q(Middle Korean (10th-16th cent.)),
       ],
-   q(5235) => [
+   q(5234) => [
       q(Oki-No-Erabu),
       ],
-   q(5236) => [
+   q(5235) => [
       q(Old Korean (3rd-9th cent.)),
       ],
-   q(5237) => [
+   q(5236) => [
       q(Kirike),
       ],
-   q(5238) => [
+   q(5237) => [
       q(Oko-Eni-Osayen),
       ],
-   q(5239) => [
+   q(5238) => [
       q(Oku),
       ],
-   q(5240) => [
+   q(5239) => [
       q(Orokaiva),
       ],
-   q(5241) => [
+   q(5240) => [
       q(Okpe (Northwestern Edo)),
       ],
-   q(5242) => [
+   q(5241) => [
       q(Walungge),
       ],
-   q(5243) => [
+   q(5242) => [
       q(Mochi),
       ],
-   q(5244) => [
+   q(5243) => [
       q(Olekha),
       ],
-   q(5245) => [
+   q(5244) => [
       q(Olkol),
       ],
-   q(5246) => [
+   q(5245) => [
       q(Oloma),
       ],
-   q(5247) => [
+   q(5246) => [
       q(Livvi),
       ],
-   q(5248) => [
+   q(5247) => [
       q(Olrat),
       ],
-   q(5249) => [
+   q(5248) => [
       q(Old Lithuanian),
       ],
-   q(5250) => [
+   q(5249) => [
       q(Omaha-Ponca),
       ],
-   q(5251) => [
+   q(5250) => [
       q(East Ambae),
       ],
-   q(5252) => [
+   q(5251) => [
       q(Mochica),
       ],
-   q(5253) => [
+   q(5252) => [
       q(Omejes),
       ],
-   q(5254) => [
+   q(5253) => [
       q(Omagua),
       ],
-   q(5255) => [
+   q(5254) => [
       q(Omi),
       ],
-   q(5256) => [
+   q(5255) => [
       q(Omok),
       ],
-   q(5257) => [
+   q(5256) => [
       q(Ombo),
       ],
-   q(5258) => [
+   q(5257) => [
       q(Minoan),
       ],
-   q(5259) => [
+   q(5258) => [
       q(Utarmbung),
       ],
-   q(5260) => [
+   q(5259) => [
       q(Old Manipuri),
       ],
-   q(5261) => [
+   q(5260) => [
       q(Old Marathi),
       ],
-   q(5262) => [
+   q(5261) => [
       q(Omotik),
       ],
-   q(5263) => [
+   q(5262) => [
       q(Omurano),
       ],
-   q(5264) => [
+   q(5263) => [
       q(South Tairora),
       ],
-   q(5265) => [
+   q(5264) => [
       q(Old Mon),
       ],
-   q(5266) => [
+   q(5265) => [
       q(Ona),
       ],
-   q(5267) => [
+   q(5266) => [
       q(Lingao),
       ],
-   q(5268) => [
+   q(5267) => [
       q(Oneida),
       ],
-   q(5269) => [
+   q(5268) => [
       q(Olo),
       ],
-   q(5270) => [
+   q(5269) => [
       q(Onin),
       ],
-   q(5271) => [
+   q(5270) => [
       q(Onjob),
       ],
-   q(5272) => [
+   q(5271) => [
       q(Kabore One),
       ],
-   q(5273) => [
+   q(5272) => [
       q(Onobasulu),
       ],
-   q(5274) => [
+   q(5273) => [
       q(Onondaga),
       ],
-   q(5275) => [
+   q(5274) => [
       q(Sartang),
       ],
-   q(5276) => [
+   q(5275) => [
       q(Northern One),
       ],
-   q(5277) => [
+   q(5276) => [
       q(Ono),
       ],
-   q(5278) => [
+   q(5277) => [
       q(Ontenu),
       ],
-   q(5279) => [
+   q(5278) => [
       q(Unua),
       ],
-   q(5280) => [
+   q(5279) => [
       q(Old Nubian),
       ],
-   q(5281) => [
+   q(5280) => [
       q(Onin Based Pidgin),
       ],
-   q(5282) => [
+   q(5281) => [
       q(Tohono O'odham),
       ],
-   q(5283) => [
+   q(5282) => [
       q(Ong),
       ],
-   q(5284) => [
+   q(5283) => [
       q(Onge),
       ],
-   q(5285) => [
+   q(5284) => [
       q(Oorlams),
       ],
-   q(5286) => [
+   q(5285) => [
       q(Old Ossetic),
       ],
-   q(5287) => [
+   q(5286) => [
       q(Okpamheri),
       ],
-   q(5288) => [
+   q(5287) => [
       q(Kopkaka),
       ],
-   q(5289) => [
+   q(5288) => [
       q(Oksapmin),
       ],
-   q(5290) => [
+   q(5289) => [
       q(Opao),
       ],
-   q(5291) => [
+   q(5290) => [
       q(Opata),
       ],
-   q(5292) => [
+   q(5291) => [
       q(Ofaye),
       ],
-   q(5293) => [
+   q(5292) => [
       q(Oroha),
       ],
-   q(5294) => [
+   q(5293) => [
       q(Orma),
       ],
-   q(5295) => [
+   q(5294) => [
       q(Orejon),
       ],
-   q(5296) => [
+   q(5295) => [
       q(Oring),
       ],
-   q(5297) => [
+   q(5296) => [
       q(Oroqen),
       ],
-   q(5298) => [
+   q(5297) => [
       q(Orang Kanaq),
       ],
-   q(5299) => [
+   q(5298) => [
       q(Orokolo),
       ],
-   q(5300) => [
+   q(5299) => [
       q(Oruma),
       ],
-   q(5301) => [
+   q(5300) => [
       q(Orang Seletar),
       ],
-   q(5302) => [
+   q(5301) => [
       q(Adivasi Oriya),
       ],
-   q(5303) => [
+   q(5302) => [
       q(Ormuri),
       ],
-   q(5304) => [
+   q(5303) => [
       q(Old Russian),
       ],
-   q(5305) => [
+   q(5304) => [
       q(Oro Win),
       ],
-   q(5306) => [
+   q(5305) => [
       q(Oro),
       ],
-   q(5307) => [
+   q(5306) => [
       q(Oriya (individual language)),
       ],
-   q(5308) => [
+   q(5307) => [
       q(Ormu),
       ],
-   q(5309) => [
+   q(5308) => [
       q(Oscan),
       ],
-   q(5310) => [
+   q(5309) => [
       q(Osing),
       ],
-   q(5311) => [
+   q(5310) => [
       q(Ososo),
       ],
-   q(5312) => [
+   q(5311) => [
       q(Old Spanish),
       ],
-   q(5313) => [
+   q(5312) => [
       q(Osatu),
       ],
-   q(5314) => [
+   q(5313) => [
       q(Southern One),
       ],
-   q(5315) => [
+   q(5314) => [
       q(Old Saxon),
       ],
-   q(5316) => [
+   q(5315) => [
       q(Old Tibetan),
       ],
-   q(5317) => [
+   q(5316) => [
       q(Ot Danum),
       ],
-   q(5318) => [
+   q(5317) => [
       q(Mezquital Otomi),
       ],
-   q(5319) => [
+   q(5318) => [
       q(Oti),
       ],
-   q(5320) => [
+   q(5319) => [
       q(Old Turkish),
       ],
-   q(5321) => [
+   q(5320) => [
       q(Tilapa Otomi),
       ],
-   q(5322) => [
+   q(5321) => [
       q(Eastern Highland Otomi),
       ],
-   q(5323) => [
+   q(5322) => [
       q(Tenango Otomi),
       ],
-   q(5324) => [
+   q(5323) => [
       q(Queretaro Otomi),
       ],
-   q(5325) => [
+   q(5324) => [
       q(Otoro),
       ],
-   q(5326) => [
+   q(5325) => [
       q(Estado de Mexico Otomi),
       ],
-   q(5327) => [
+   q(5326) => [
       q(Temoaya Otomi),
       ],
-   q(5328) => [
+   q(5327) => [
       q(Otuke),
       ],
-   q(5329) => [
+   q(5328) => [
       q(Ottawa),
       ],
-   q(5330) => [
+   q(5329) => [
       q(Texcatepec Otomi),
       ],
-   q(5331) => [
+   q(5330) => [
       q(Old Tamil),
       ],
-   q(5332) => [
+   q(5331) => [
       q(Ixtenco Otomi),
       ],
-   q(5333) => [
+   q(5332) => [
       q(Tagargrent),
       ],
-   q(5334) => [
+   q(5333) => [
       q(Glio-Oubi),
       ],
-   q(5335) => [
+   q(5334) => [
       q(Oune),
       ],
-   q(5336) => [
+   q(5335) => [
       q(Old Uighur),
       ],
-   q(5337) => [
+   q(5336) => [
       q(Ouma),
       ],
-   q(5338) => [
+   q(5337) => [
       q(Owiniga),
       ],
-   q(5339) => [
+   q(5338) => [
       q(Old Welsh),
       ],
-   q(5340) => [
+   q(5339) => [
       q(Oy),
       ],
-   q(5341) => [
+   q(5340) => [
       q(Oyda),
       ],
-   q(5342) => [
+   q(5341) => [
       q(Wayampi),
       ],
-   q(5343) => [
+   q(5342) => [
       q(Oya'oya),
       ],
-   q(5344) => [
+   q(5343) => [
       q(Koonzime),
       ],
-   q(5345) => [
+   q(5344) => [
       q(Parecis),
       ],
-   q(5346) => [
+   q(5345) => [
       q(Pacoh),
       ],
-   q(5347) => [
+   q(5346) => [
       q(Paumari),
       ],
-   q(5348) => [
+   q(5347) => [
       q(Pagibete),
       ],
-   q(5349) => [
+   q(5348) => [
       q(Paranawat),
       ],
-   q(5350) => [
+   q(5349) => [
       q(Tenharim),
       ],
-   q(5351) => [
+   q(5350) => [
       q(Pe),
       ],
-   q(5352) => [
+   q(5351) => [
       q(Parakana),
       ],
-   q(5353) => [
+   q(5352) => [
       q(Northern Paiute),
       ],
-   q(5354) => [
+   q(5353) => [
       q(Parya),
       ],
-   q(5355) => [
+   q(5354) => [
       q(Panamint),
       q(Timbisha),
       ],
-   q(5356) => [
+   q(5355) => [
       q(Papasena),
       ],
-   q(5357) => [
+   q(5356) => [
       q(Papitalai),
       ],
-   q(5358) => [
+   q(5357) => [
       q(Pakaasnovos),
       ],
-   q(5359) => [
+   q(5358) => [
       q(Pawnee),
       ],
-   q(5360) => [
+   q(5359) => [
       q(Pankarare),
       ],
-   q(5361) => [
+   q(5360) => [
       q(Pech),
       ],
-   q(5362) => [
+   q(5361) => [
       q(Pankararu),
       ],
-   q(5363) => [
+   q(5362) => [
       q(Paez),
       ],
-   q(5364) => [
+   q(5363) => [
       q(Patamona),
       ],
-   q(5365) => [
+   q(5364) => [
       q(Mezontla Popoloca),
       ],
-   q(5366) => [
+   q(5365) => [
       q(Coyotepec Popoloca),
       ],
-   q(5367) => [
+   q(5366) => [
       q(Paraujano),
       ],
-   q(5368) => [
+   q(5367) => [
       q(E'napa Woromaipu),
       ],
-   q(5369) => [
+   q(5368) => [
       q(Parkwa),
       ],
-   q(5370) => [
+   q(5369) => [
       q(Mak (Nigeria)),
       ],
-   q(5371) => [
+   q(5370) => [
       q(Kpasam),
       ],
-   q(5372) => [
+   q(5371) => [
       q(Papel),
       ],
-   q(5373) => [
+   q(5372) => [
       q(Badyara),
       ],
-   q(5374) => [
+   q(5373) => [
       q(Pangwa),
       ],
-   q(5375) => [
+   q(5374) => [
       q(Central Pame),
       ],
-   q(5376) => [
+   q(5375) => [
       q(Southern Pashto),
       ],
-   q(5377) => [
+   q(5376) => [
       q(Northern Pashto),
       ],
-   q(5378) => [
+   q(5377) => [
       q(Pnar),
       ],
-   q(5379) => [
+   q(5378) => [
       q(Pyu (Papua New Guinea)),
       ],
-   q(5380) => [
+   q(5379) => [
       q(Santa Ines Ahuatempan Popoloca),
       ],
-   q(5381) => [
+   q(5380) => [
       q(Pear),
       ],
-   q(5382) => [
+   q(5381) => [
       q(Bouyei),
       ],
-   q(5383) => [
+   q(5382) => [
       q(Picard),
       ],
-   q(5384) => [
+   q(5383) => [
       q(Ruching Palaung),
       ],
-   q(5385) => [
+   q(5384) => [
       q(Paliyan),
       ],
-   q(5386) => [
+   q(5385) => [
       q(Paniya),
       ],
-   q(5387) => [
+   q(5386) => [
       q(Pardhan),
       ],
-   q(5388) => [
+   q(5387) => [
       q(Duruwa),
       ],
-   q(5389) => [
+   q(5388) => [
       q(Parenga),
       ],
-   q(5390) => [
+   q(5389) => [
       q(Paite Chin),
       ],
-   q(5391) => [
+   q(5390) => [
       q(Pardhi),
       ],
-   q(5392) => [
+   q(5391) => [
       q(Nigerian Pidgin),
       ],
-   q(5393) => [
+   q(5392) => [
       q(Piti),
       ],
-   q(5394) => [
+   q(5393) => [
       q(Pacahuara),
       ],
-   q(5395) => [
+   q(5394) => [
       q(Pyapun),
       ],
-   q(5396) => [
+   q(5395) => [
       q(Anam),
       ],
-   q(5397) => [
+   q(5396) => [
       q(Pennsylvania German),
       ],
-   q(5398) => [
+   q(5397) => [
       q(Pa Di),
       ],
-   q(5399) => [
+   q(5398) => [
       q(Podena),
       q(Fedan),
       ],
-   q(5400) => [
+   q(5399) => [
       q(Padoe),
       ],
-   q(5401) => [
+   q(5400) => [
       q(Plautdietsch),
       ],
-   q(5402) => [
+   q(5401) => [
       q(Kayan),
       ],
-   q(5403) => [
+   q(5402) => [
       q(Peranakan Indonesian),
       ],
-   q(5404) => [
+   q(5403) => [
       q(Eastern Pomo),
       ],
-   q(5405) => [
+   q(5404) => [
       q(Mala (Papua New Guinea)),
       ],
-   q(5406) => [
+   q(5405) => [
       q(Taje),
       ],
-   q(5407) => [
+   q(5406) => [
       q(Northeastern Pomo),
       ],
-   q(5408) => [
+   q(5407) => [
       q(Pengo),
       ],
-   q(5409) => [
+   q(5408) => [
       q(Bonan),
       ],
-   q(5410) => [
+   q(5409) => [
       q(Chichimeca-Jonaz),
       ],
-   q(5411) => [
+   q(5410) => [
       q(Northern Pomo),
       ],
-   q(5412) => [
+   q(5411) => [
       q(Penchal),
       ],
-   q(5413) => [
+   q(5412) => [
       q(Pekal),
       ],
-   q(5414) => [
+   q(5413) => [
       q(Phende),
       ],
-   q(5415) => [
+   q(5414) => [
       q(Kunja),
       ],
-   q(5416) => [
+   q(5415) => [
       q(Southern Pomo),
       ],
-   q(5417) => [
+   q(5416) => [
       q(Iranian Persian),
       ],
-   q(5418) => [
+   q(5417) => [
       q(Pemono),
       ],
-   q(5419) => [
+   q(5418) => [
       q(Petats),
       ],
-   q(5420) => [
+   q(5419) => [
       q(Petjo),
       ],
-   q(5421) => [
+   q(5420) => [
       q(Eastern Penan),
       ],
-   q(5422) => [
+   q(5421) => [
       q(Paafang),
       ],
-   q(5423) => [
+   q(5422) => [
       q(Peere),
       ],
-   q(5424) => [
+   q(5423) => [
       q(Pfaelzisch),
       ],
-   q(5425) => [
+   q(5424) => [
       q(Sudanese Creole Arabic),
       ],
-   q(5426) => [
+   q(5425) => [
       q(Gandhari),
       ],
-   q(5427) => [
+   q(5426) => [
       q(Pangwali),
       ],
-   q(5428) => [
+   q(5427) => [
       q(Pagi),
       ],
-   q(5429) => [
+   q(5428) => [
       q(Rerep),
       ],
-   q(5430) => [
+   q(5429) => [
       q(Primitive Irish),
       ],
-   q(5431) => [
+   q(5430) => [
       q(Paelignian),
       ],
-   q(5432) => [
+   q(5431) => [
       q(Pangseng),
       ],
-   q(5433) => [
+   q(5432) => [
       q(Pagu),
       ],
-   q(5434) => [
+   q(5433) => [
       q(Pa-Hng),
       ],
-   q(5435) => [
+   q(5434) => [
       q(Phudagi),
       ],
-   q(5436) => [
+   q(5435) => [
       q(Phuong),
       ],
-   q(5437) => [
+   q(5436) => [
       q(Phukha),
       ],
-   q(5438) => [
+   q(5437) => [
       q(Phake),
       ],
-   q(5439) => [
+   q(5438) => [
       q(Phalura),
       q(Palula),
       ],
-   q(5440) => [
+   q(5439) => [
       q(Phimbi),
       ],
-   q(5441) => [
+   q(5440) => [
       q(Phunoi),
       ],
-   q(5442) => [
+   q(5441) => [
       q(Phana'),
       ],
-   q(5443) => [
+   q(5442) => [
       q(Pahari-Potwari),
       ],
-   q(5444) => [
+   q(5443) => [
       q(Phu Thai),
       ],
-   q(5445) => [
+   q(5444) => [
       q(Phuan),
       ],
-   q(5446) => [
+   q(5445) => [
       q(Pahlavani),
       ],
-   q(5447) => [
+   q(5446) => [
       q(Phangduwali),
       ],
-   q(5448) => [
+   q(5447) => [
       q(Pima Bajo),
       ],
-   q(5449) => [
+   q(5448) => [
       q(Yine),
       ],
-   q(5450) => [
+   q(5449) => [
       q(Pinji),
       ],
-   q(5451) => [
+   q(5450) => [
       q(Piaroa),
       ],
-   q(5452) => [
+   q(5451) => [
       q(Piro),
       ],
-   q(5453) => [
+   q(5452) => [
       q(Pingelapese),
       ],
-   q(5454) => [
+   q(5453) => [
       q(Pisabo),
       ],
-   q(5455) => [
+   q(5454) => [
       q(Pitcairn-Norfolk),
       ],
-   q(5456) => [
+   q(5455) => [
       q(Pini),
       ],
-   q(5457) => [
+   q(5456) => [
       q(Pijao),
       ],
-   q(5458) => [
+   q(5457) => [
       q(Yom),
       ],
-   q(5459) => [
+   q(5458) => [
       q(Powhatan),
       ],
-   q(5460) => [
+   q(5459) => [
       q(Piame),
       ],
-   q(5461) => [
+   q(5460) => [
       q(Piapoco),
       ],
-   q(5462) => [
+   q(5461) => [
       q(Pero),
       ],
-   q(5463) => [
+   q(5462) => [
       q(Piratapuyo),
       ],
-   q(5464) => [
+   q(5463) => [
       q(Pijin),
       ],
-   q(5465) => [
+   q(5464) => [
       q(Pitta Pitta),
       ],
-   q(5466) => [
+   q(5465) => [
       q(Pintupi-Luritja),
       ],
-   q(5467) => [
+   q(5466) => [
       q(Pileni),
       q(Vaeakau-Taumako),
       ],
-   q(5468) => [
+   q(5467) => [
       q(Pimbwe),
       ],
-   q(5469) => [
+   q(5468) => [
       q(Piu),
       ],
-   q(5470) => [
+   q(5469) => [
       q(Piya-Kwonci),
       ],
-   q(5471) => [
+   q(5470) => [
       q(Pije),
       ],
-   q(5472) => [
+   q(5471) => [
       q(Pitjantjatjara),
       ],
-   q(5473) => [
+   q(5472) => [
       q(Ardhamagadhi Prakrit),
       ],
-   q(5474) => [
+   q(5473) => [
       q(Pokomo),
       q(Kipfokomo),
       ],
-   q(5475) => [
+   q(5474) => [
       q(Paekche),
       ],
-   q(5476) => [
+   q(5475) => [
       q(Pak-Tong),
       ],
-   q(5477) => [
+   q(5476) => [
       q(Pankhu),
       ],
-   q(5478) => [
+   q(5477) => [
       q(Pakanha),
       ],
-   q(5479) => [
+   q(5478) => [
       q(Pokoot),
       ],
-   q(5480) => [
+   q(5479) => [
       q(Pukapuka),
       ],
-   q(5481) => [
+   q(5480) => [
       q(Attapady Kurumba),
       ],
-   q(5482) => [
+   q(5481) => [
       q(Pakistan Sign Language),
       ],
-   q(5483) => [
+   q(5482) => [
       q(Maleng),
       ],
-   q(5484) => [
+   q(5483) => [
       q(Paku),
       ],
-   q(5485) => [
+   q(5484) => [
       q(Miani),
       ],
-   q(5486) => [
+   q(5485) => [
       q(Polonombauk),
       ],
-   q(5487) => [
+   q(5486) => [
       q(Central Palawano),
       ],
-   q(5488) => [
+   q(5487) => [
       q(Polari),
       ],
-   q(5489) => [
+   q(5488) => [
       q(Palu'e),
       ],
-   q(5490) => [
+   q(5489) => [
       q(Pilaga),
       ],
-   q(5491) => [
+   q(5490) => [
       q(Paulohi),
       ],
-   q(5492) => [
+   q(5491) => [
       q(Polci),
       ],
-   q(5493) => [
+   q(5492) => [
       q(Kohistani Shina),
       ],
-   q(5494) => [
+   q(5493) => [
       q(Shwe Palaung),
       ],
-   q(5495) => [
+   q(5494) => [
       q(Palenquero),
       ],
-   q(5496) => [
+   q(5495) => [
       q(Oluta Popoluca),
       ],
-   q(5497) => [
+   q(5496) => [
       q(Palpa),
       ],
-   q(5498) => [
+   q(5497) => [
       q(Palaic),
       ],
-   q(5499) => [
+   q(5498) => [
       q(Palaka Senoufo),
       ],
-   q(5500) => [
+   q(5499) => [
       q(San Marcos Tlacoyalco Popoloca),
       q(San Marcos Tlalcoyalco Popoloca),
       ],
-   q(5501) => [
+   q(5500) => [
       q(Plateau Malagasy),
       ],
-   q(5502) => [
+   q(5501) => [
       q(Palikur),
       ],
-   q(5503) => [
+   q(5502) => [
       q(Southwest Palawano),
       ],
-   q(5504) => [
+   q(5503) => [
       q(Brooke's Point Palawano),
       ],
-   q(5505) => [
+   q(5504) => [
       q(Bolyu),
       ],
-   q(5506) => [
+   q(5505) => [
       q(Paluan),
       ],
-   q(5507) => [
+   q(5506) => [
       q(Paama),
       ],
-   q(5508) => [
+   q(5507) => [
       q(Pambia),
       ],
-   q(5509) => [
+   q(5508) => [
       q(Palumata),
       ],
-   q(5510) => [
+   q(5509) => [
       q(Pallanganmiddang),
       ],
-   q(5511) => [
+   q(5510) => [
       q(Pwaamei),
       ],
-   q(5512) => [
+   q(5511) => [
       q(Pamona),
       ],
-   q(5513) => [
+   q(5512) => [
       q(Maharastri Prakrit),
       ],
-   q(5514) => [
+   q(5513) => [
       q(Northern Pumi),
       ],
-   q(5515) => [
+   q(5514) => [
       q(Southern Pumi),
       ],
-   q(5516) => [
+   q(5515) => [
       q(Pamlico),
       ],
-   q(5517) => [
+   q(5516) => [
       q(Lingua Franca),
       ],
-   q(5518) => [
+   q(5517) => [
       q(Pomo),
       ],
-   q(5519) => [
+   q(5518) => [
       q(Pam),
       ],
-   q(5520) => [
+   q(5519) => [
       q(Pom),
       ],
-   q(5521) => [
+   q(5520) => [
       q(Northern Pame),
       ],
-   q(5522) => [
+   q(5521) => [
       q(Paynamar),
       ],
-   q(5523) => [
+   q(5522) => [
       q(Piemontese),
       ],
-   q(5524) => [
+   q(5523) => [
       q(Tuamotuan),
       ],
-   q(5525) => [
+   q(5524) => [
       q(Plains Miwok),
       ],
-   q(5526) => [
+   q(5525) => [
       q(Poumei Naga),
       ],
-   q(5527) => [
+   q(5526) => [
       q(Papuan Malay),
       ],
-   q(5528) => [
+   q(5527) => [
       q(Southern Pame),
       ],
-   q(5529) => [
+   q(5528) => [
       q(Punan Bah-Biau),
       ],
-   q(5530) => [
+   q(5529) => [
       q(Western Panjabi),
       ],
-   q(5531) => [
+   q(5530) => [
       q(Pannei),
       ],
-   q(5532) => [
+   q(5531) => [
       q(Western Penan),
       ],
-   q(5533) => [
+   q(5532) => [
       q(Pongu),
       ],
-   q(5534) => [
+   q(5533) => [
       q(Penrhyn),
       ],
-   q(5535) => [
+   q(5534) => [
       q(Aoheng),
       ],
-   q(5536) => [
+   q(5535) => [
       q(Pinjarup),
       ],
-   q(5537) => [
+   q(5536) => [
       q(Paunaka),
       ],
-   q(5538) => [
+   q(5537) => [
       q(Paleni),
       ],
-   q(5539) => [
+   q(5538) => [
       q(Punan Batu 1),
       ],
-   q(5540) => [
+   q(5539) => [
       q(Pinai-Hagahai),
       ],
-   q(5541) => [
+   q(5540) => [
       q(Panobo),
       ],
-   q(5542) => [
+   q(5541) => [
       q(Pancana),
       ],
-   q(5543) => [
+   q(5542) => [
       q(Pana (Burkina Faso)),
       ],
-   q(5544) => [
+   q(5543) => [
       q(Panim),
       ],
-   q(5545) => [
+   q(5544) => [
       q(Ponosakan),
       ],
-   q(5546) => [
+   q(5545) => [
       q(Pontic),
       ],
-   q(5547) => [
+   q(5546) => [
       q(Jiongnai Bunu),
       ],
-   q(5548) => [
+   q(5547) => [
       q(Pinigura),
       ],
-   q(5549) => [
+   q(5548) => [
       q(Panytyima),
       ],
-   q(5550) => [
+   q(5549) => [
       q(Phong-Kniang),
       ],
-   q(5551) => [
+   q(5550) => [
       q(Pinyin),
       ],
-   q(5552) => [
+   q(5551) => [
       q(Pana (Central African Republic)),
       ],
-   q(5553) => [
+   q(5552) => [
       q(Poqomam),
       ],
-   q(5554) => [
+   q(5553) => [
       q(Ponares),
       ],
-   q(5555) => [
+   q(5554) => [
       q(San Juan Atzingo Popoloca),
       ],
-   q(5556) => [
+   q(5555) => [
       q(Poke),
       ],
-   q(5557) => [
+   q(5556) => [
       q(Potiguara),
       ],
-   q(5558) => [
+   q(5557) => [
       q(Poqomchi'),
       ],
-   q(5559) => [
+   q(5558) => [
       q(Highland Popoluca),
       ],
-   q(5560) => [
+   q(5559) => [
       q(Pokanga),
       ],
-   q(5561) => [
+   q(5560) => [
       q(Southeastern Pomo),
       ],
-   q(5562) => [
+   q(5561) => [
       q(Central Pomo),
       ],
-   q(5563) => [
+   q(5562) => [
       q(Pwapwa),
       ],
-   q(5564) => [
+   q(5563) => [
       q(Texistepec Popoluca),
       ],
-   q(5565) => [
+   q(5564) => [
       q(Sayula Popoluca),
       ],
-   q(5566) => [
+   q(5565) => [
       q(Potawatomi),
       ],
-   q(5567) => [
+   q(5566) => [
       q(Upper Guinea Crioulo),
       ],
-   q(5568) => [
+   q(5567) => [
       q(San Felipe Otlaltepec Popoloca),
       ],
-   q(5569) => [
+   q(5568) => [
       q(Polabian),
       ],
-   q(5570) => [
+   q(5569) => [
       q(Pogolo),
       ],
-   q(5571) => [
+   q(5570) => [
       q(Pao),
       ],
-   q(5572) => [
+   q(5571) => [
       q(Papi),
       ],
-   q(5573) => [
+   q(5572) => [
       q(Paipai),
       ],
-   q(5574) => [
+   q(5573) => [
       q(Uma),
       ],
-   q(5575) => [
+   q(5574) => [
       q(Pipil),
       q(Nicarao),
       ],
-   q(5576) => [
+   q(5575) => [
       q(Papuma),
       ],
-   q(5577) => [
+   q(5576) => [
       q(Papapana),
       ],
-   q(5578) => [
+   q(5577) => [
       q(Folopa),
       ],
-   q(5579) => [
+   q(5578) => [
       q(Pelende),
       ],
-   q(5580) => [
+   q(5579) => [
       q(Pei),
       ],
-   q(5581) => [
+   q(5580) => [
       q(San Luis Temalacayuca Popoloca),
       ],
-   q(5582) => [
+   q(5581) => [
       q(Pare),
       ],
-   q(5583) => [
+   q(5582) => [
       q(Papora),
       ],
-   q(5584) => [
+   q(5583) => [
       q(Pa'a),
       ],
-   q(5585) => [
+   q(5584) => [
       q(Malecite-Passamaquoddy),
       ],
-   q(5586) => [
+   q(5585) => [
       q(Lua'),
       ],
-   q(5587) => [
+   q(5586) => [
       q(Parachi),
       ],
-   q(5588) => [
+   q(5587) => [
       q(Parsi-Dari),
       ],
-   q(5589) => [
+   q(5588) => [
       q(Principense),
       ],
-   q(5590) => [
+   q(5589) => [
       q(Paranan),
       ],
-   q(5591) => [
+   q(5590) => [
       q(Prussian),
       ],
-   q(5592) => [
+   q(5591) => [
       q(Porohanon),
       ],
-   q(5593) => [
+   q(5592) => [
       q(Paici),
       ],
-   q(5594) => [
+   q(5593) => [
       q(Parauk),
       ],
-   q(5595) => [
+   q(5594) => [
       q(Peruvian Sign Language),
       ],
-   q(5596) => [
+   q(5595) => [
       q(Kibiri),
       ],
-   q(5597) => [
+   q(5596) => [
       q(Prasuni),
       ],
-   q(5598) => [
+   q(5597) => [
       q(Parsi),
       ],
-   q(5599) => [
+   q(5598) => [
       q(Asheninka Perene),
       ],
-   q(5600) => [
+   q(5599) => [
       q(Puri),
       ],
-   q(5601) => [
+   q(5600) => [
       q(Dari),
       q(Afghan Persian),
       ],
-   q(5602) => [
+   q(5601) => [
       q(Phai),
       ],
-   q(5603) => [
+   q(5602) => [
       q(Puragi),
       ],
-   q(5604) => [
+   q(5603) => [
       q(Parawen),
       ],
-   q(5605) => [
+   q(5604) => [
       q(Purik),
       ],
-   q(5606) => [
+   q(5605) => [
       q(Pray 3),
       ],
-   q(5607) => [
+   q(5606) => [
       q(Providencia Sign Language),
       ],
-   q(5608) => [
+   q(5607) => [
       q(Asue Awyu),
       ],
-   q(5609) => [
+   q(5608) => [
       q(Persian Sign Language),
       ],
-   q(5610) => [
+   q(5609) => [
       q(Plains Indian Sign Language),
       ],
-   q(5611) => [
+   q(5610) => [
       q(Central Malay),
       ],
-   q(5612) => [
+   q(5611) => [
       q(Penang Sign Language),
       ],
-   q(5613) => [
+   q(5612) => [
       q(Southwest Pashai),
       q(Southwest Pashayi),
       ],
-   q(5614) => [
+   q(5613) => [
       q(Southeast Pashai),
       q(Southeast Pashayi),
       ],
-   q(5615) => [
+   q(5614) => [
       q(Puerto Rican Sign Language),
       ],
-   q(5616) => [
+   q(5615) => [
       q(Pauserna),
       ],
-   q(5617) => [
+   q(5616) => [
       q(Panasuan),
       ],
-   q(5618) => [
+   q(5617) => [
       q(Polish Sign Language),
       ],
-   q(5619) => [
+   q(5618) => [
       q(Philippine Sign Language),
       ],
-   q(5620) => [
+   q(5619) => [
       q(Pasi),
       ],
-   q(5621) => [
+   q(5620) => [
       q(Portuguese Sign Language),
       ],
-   q(5622) => [
+   q(5621) => [
       q(Kaulong),
       ],
-   q(5623) => [
+   q(5622) => [
       q(Central Pashto),
       ],
-   q(5624) => [
+   q(5623) => [
       q(Sauraseni Prakrit),
       ],
-   q(5625) => [
+   q(5624) => [
       q(Port Sandwich),
       ],
-   q(5626) => [
+   q(5625) => [
       q(Piscataway),
       ],
-   q(5627) => [
+   q(5626) => [
       q(Pai Tavytera),
       ],
-   q(5628) => [
+   q(5627) => [
       q(Pataxo Ha-Ha-Hae),
       ],
-   q(5629) => [
+   q(5628) => [
       q(Pintiini),
       ],
-   q(5630) => [
+   q(5629) => [
       q(Patani),
       ],
-   q(5631) => [
+   q(5630) => [
       q(Zo'e),
       ],
-   q(5632) => [
+   q(5631) => [
       q(Patep),
       ],
-   q(5633) => [
+   q(5632) => [
       q(Pattapu),
       ],
-   q(5634) => [
+   q(5633) => [
       q(Piamatsina),
       ],
-   q(5635) => [
+   q(5634) => [
       q(Enrekang),
       ],
-   q(5636) => [
+   q(5635) => [
       q(Bambam),
       ],
-   q(5637) => [
+   q(5636) => [
       q(Port Vato),
       ],
-   q(5638) => [
+   q(5637) => [
       q(Pentlatch),
       ],
-   q(5639) => [
+   q(5638) => [
       q(Pathiya),
       ],
-   q(5640) => [
+   q(5639) => [
       q(Western Highland Purepecha),
       ],
-   q(5641) => [
+   q(5640) => [
       q(Purum),
       ],
-   q(5642) => [
+   q(5641) => [
       q(Punan Merap),
       ],
-   q(5643) => [
+   q(5642) => [
       q(Punan Aput),
       ],
-   q(5644) => [
+   q(5643) => [
       q(Puelche),
       ],
-   q(5645) => [
+   q(5644) => [
       q(Punan Merah),
       ],
-   q(5646) => [
+   q(5645) => [
       q(Phuie),
       ],
-   q(5647) => [
+   q(5646) => [
       q(Puinave),
       ],
-   q(5648) => [
+   q(5647) => [
       q(Punan Tubu),
       ],
-   q(5649) => [
+   q(5648) => [
       q(Pu Ko),
       ],
-   q(5650) => [
+   q(5649) => [
       q(Puma),
       ],
-   q(5651) => [
+   q(5650) => [
       q(Puoc),
       ],
-   q(5652) => [
+   q(5651) => [
       q(Pulabu),
       ],
-   q(5653) => [
+   q(5652) => [
       q(Puquina),
       ],
-   q(5654) => [
+   q(5653) => [
       q(Purubora),
       ],
-   q(5655) => [
+   q(5654) => [
       q(Putoh),
       ],
-   q(5656) => [
+   q(5655) => [
       q(Punu),
       ],
-   q(5657) => [
+   q(5656) => [
       q(Puluwatese),
       ],
-   q(5658) => [
+   q(5657) => [
       q(Puare),
       ],
-   q(5659) => [
+   q(5658) => [
       q(Purisimeno),
       ],
-   q(5660) => [
+   q(5659) => [
       q(Pawaia),
       ],
-   q(5661) => [
+   q(5660) => [
       q(Panawa),
       ],
-   q(5662) => [
+   q(5661) => [
       q(Gapapaiwa),
       ],
-   q(5663) => [
+   q(5662) => [
       q(Patwin),
       ],
-   q(5664) => [
+   q(5663) => [
       q(Molbog),
       ],
-   q(5665) => [
+   q(5664) => [
       q(Paiwan),
       ],
-   q(5666) => [
+   q(5665) => [
       q(Pwo Western Karen),
       ],
-   q(5667) => [
+   q(5666) => [
       q(Powari),
       ],
-   q(5668) => [
+   q(5667) => [
       q(Pwo Northern Karen),
       ],
-   q(5669) => [
+   q(5668) => [
       q(Quetzaltepec Mixe),
       ],
-   q(5670) => [
+   q(5669) => [
       q(Pye Krumen),
       ],
-   q(5671) => [
+   q(5670) => [
       q(Fyam),
       ],
-   q(5672) => [
+   q(5671) => [
       q(Poyanawa),
       ],
-   q(5673) => [
+   q(5672) => [
       q(Paraguayan Sign Language),
       q(Lengua de Senas del Paraguay),
       ],
-   q(5674) => [
+   q(5673) => [
       q(Puyuma),
       ],
-   q(5675) => [
+   q(5674) => [
       q(Pyu (Myanmar)),
       ],
-   q(5676) => [
+   q(5675) => [
       q(Pyen),
       ],
-   q(5677) => [
+   q(5676) => [
       q(Para Naga),
       ],
-   q(5678) => [
+   q(5677) => [
       q(Quapaw),
       ],
-   q(5679) => [
+   q(5678) => [
       q(Huallaga Huanuco Quechua),
       ],
-   q(5680) => [
+   q(5679) => [
       q(K'iche'),
       q(Quiche),
       ],
-   q(5681) => [
+   q(5680) => [
       q(Calderon Highland Quichua),
       ],
-   q(5682) => [
+   q(5681) => [
       q(Lambayeque Quechua),
       ],
-   q(5683) => [
+   q(5682) => [
       q(Chimborazo Highland Quichua),
       ],
-   q(5684) => [
+   q(5683) => [
       q(South Bolivian Quechua),
       ],
-   q(5685) => [
+   q(5684) => [
       q(Quileute),
       ],
-   q(5686) => [
+   q(5685) => [
       q(Chachapoyas Quechua),
       ],
-   q(5687) => [
+   q(5686) => [
       q(North Bolivian Quechua),
       ],
-   q(5688) => [
+   q(5687) => [
       q(Sipacapense),
       ],
-   q(5689) => [
+   q(5688) => [
       q(Quinault),
       ],
-   q(5690) => [
+   q(5689) => [
       q(Southern Pastaza Quechua),
       ],
-   q(5691) => [
+   q(5690) => [
       q(Quinqui),
       ],
-   q(5692) => [
+   q(5691) => [
       q(Yanahuanca Pasco Quechua),
       ],
-   q(5693) => [
+   q(5692) => [
       q(Santiago del Estero Quichua),
       ],
-   q(5694) => [
+   q(5693) => [
       q(Sacapulteco),
       ],
-   q(5695) => [
+   q(5694) => [
       q(Tena Lowland Quichua),
       ],
-   q(5696) => [
+   q(5695) => [
       q(Yauyos Quechua),
       ],
-   q(5697) => [
+   q(5696) => [
       q(Ayacucho Quechua),
       ],
-   q(5698) => [
+   q(5697) => [
       q(Cusco Quechua),
       ],
-   q(5699) => [
+   q(5698) => [
       q(Ambo-Pasco Quechua),
       ],
-   q(5700) => [
+   q(5699) => [
       q(Cajamarca Quechua),
       ],
-   q(5701) => [
+   q(5700) => [
       q(Eastern Apurimac Quechua),
       ],
-   q(5702) => [
+   q(5701) => [
       q(Huamalies-Dos de Mayo Huanuco Quechua),
       ],
-   q(5703) => [
+   q(5702) => [
       q(Imbabura Highland Quichua),
       ],
-   q(5704) => [
+   q(5703) => [
       q(Loja Highland Quichua),
       ],
-   q(5705) => [
+   q(5704) => [
       q(Cajatambo North Lima Quechua),
       ],
-   q(5706) => [
+   q(5705) => [
       q(Margos-Yarowilca-Lauricocha Quechua),
       ],
-   q(5707) => [
+   q(5706) => [
       q(North Junin Quechua),
       ],
-   q(5708) => [
+   q(5707) => [
       q(Napo Lowland Quechua),
       ],
-   q(5709) => [
+   q(5708) => [
       q(Pacaraos Quechua),
       ],
-   q(5710) => [
+   q(5709) => [
       q(San Martin Quechua),
       ],
-   q(5711) => [
+   q(5710) => [
       q(Huaylla Wanca Quechua),
       ],
-   q(5712) => [
+   q(5711) => [
       q(Queyu),
       ],
-   q(5713) => [
+   q(5712) => [
       q(Northern Pastaza Quichua),
       ],
-   q(5714) => [
+   q(5713) => [
       q(Corongo Ancash Quechua),
       ],
-   q(5715) => [
+   q(5714) => [
       q(Classical Quechua),
       ],
-   q(5716) => [
+   q(5715) => [
       q(Huaylas Ancash Quechua),
       ],
-   q(5717) => [
+   q(5716) => [
       q(Kuman (Russia)),
       ],
-   q(5718) => [
+   q(5717) => [
       q(Sihuas Ancash Quechua),
       ],
-   q(5719) => [
+   q(5718) => [
       q(Kwalhioqua-Tlatskanai),
       ],
-   q(5720) => [
+   q(5719) => [
       q(Chiquian Ancash Quechua),
       ],
-   q(5721) => [
+   q(5720) => [
       q(Chincha Quechua),
       ],
-   q(5722) => [
+   q(5721) => [
       q(Panao Huanuco Quechua),
       ],
-   q(5723) => [
+   q(5722) => [
       q(Salasaca Highland Quichua),
       ],
-   q(5724) => [
+   q(5723) => [
       q(Northern Conchucos Ancash Quechua),
       ],
-   q(5725) => [
+   q(5724) => [
       q(Southern Conchucos Ancash Quechua),
       ],
-   q(5726) => [
+   q(5725) => [
       q(Puno Quechua),
       ],
-   q(5727) => [
+   q(5726) => [
       q(Qashqa'i),
       ],
-   q(5728) => [
+   q(5727) => [
       q(Canar Highland Quichua),
       ],
-   q(5729) => [
+   q(5728) => [
       q(Southern Qiang),
       ],
-   q(5730) => [
+   q(5729) => [
       q(Santa Ana de Tusi Pasco Quechua),
       ],
-   q(5731) => [
+   q(5730) => [
       q(Arequipa-La Union Quechua),
       ],
-   q(5732) => [
+   q(5731) => [
       q(Jauja Wanca Quechua),
       ],
-   q(5733) => [
+   q(5732) => [
       q(Quenya),
       ],
-   q(5734) => [
+   q(5733) => [
       q(Quiripi),
       ],
-   q(5735) => [
+   q(5734) => [
       q(Dungmali),
       ],
-   q(5736) => [
+   q(5735) => [
       q(Camling),
       ],
-   q(5737) => [
+   q(5736) => [
       q(Rasawa),
       ],
-   q(5738) => [
+   q(5737) => [
       q(Rade),
       ],
-   q(5739) => [
+   q(5738) => [
       q(Western Meohang),
       ],
-   q(5740) => [
+   q(5739) => [
       q(Logooli),
       q(Lulogooli),
       ],
-   q(5741) => [
+   q(5740) => [
       q(Rabha),
       ],
-   q(5742) => [
+   q(5741) => [
       q(Ramoaaina),
       ],
-   q(5743) => [
+   q(5742) => [
       q(Tulu-Bohuai),
       ],
-   q(5744) => [
+   q(5743) => [
       q(Ralte),
       ],
-   q(5745) => [
+   q(5744) => [
       q(Canela),
       ],
-   q(5746) => [
+   q(5745) => [
       q(Riantana),
       ],
-   q(5747) => [
+   q(5746) => [
       q(Rao),
       ],
-   q(5748) => [
+   q(5747) => [
       q(Saam),
       ],
-   q(5749) => [
+   q(5748) => [
       q(Tegali),
       ],
-   q(5750) => [
+   q(5749) => [
       q(Razajerdi),
       ],
-   q(5751) => [
+   q(5750) => [
       q(Raute),
       ],
-   q(5752) => [
+   q(5751) => [
       q(Sampang),
       ],
-   q(5753) => [
+   q(5752) => [
       q(Rawang),
       ],
-   q(5754) => [
+   q(5753) => [
       q(Rang),
       ],
-   q(5755) => [
+   q(5754) => [
       q(Rapa),
       ],
-   q(5756) => [
+   q(5755) => [
       q(Rahambuu),
       ],
-   q(5757) => [
+   q(5756) => [
       q(Rumai Palaung),
       ],
-   q(5758) => [
+   q(5757) => [
       q(Northern Bontok),
       ],
-   q(5759) => [
+   q(5758) => [
       q(Miraya Bikol),
       ],
-   q(5760) => [
+   q(5759) => [
       q(Barababaraba),
       ],
-   q(5761) => [
+   q(5760) => [
       q(Reunion Creole French),
       ],
-   q(5762) => [
+   q(5761) => [
       q(Rudbari),
       ],
-   q(5763) => [
+   q(5762) => [
       q(Rerau),
       ],
-   q(5764) => [
+   q(5763) => [
       q(Rembong),
       ],
-   q(5765) => [
+   q(5764) => [
       q(Rejang Kayan),
       ],
-   q(5766) => [
+   q(5765) => [
       q(Kara (Tanzania)),
       ],
-   q(5767) => [
+   q(5766) => [
       q(Reli),
       ],
-   q(5768) => [
+   q(5767) => [
       q(Rejang),
       ],
-   q(5769) => [
+   q(5768) => [
       q(Rendille),
       ],
-   q(5770) => [
+   q(5769) => [
       q(Remo),
       ],
-   q(5771) => [
+   q(5770) => [
       q(Rengao),
       ],
-   q(5772) => [
+   q(5771) => [
       q(Rer Bare),
       ],
-   q(5773) => [
+   q(5772) => [
       q(Reshe),
       ],
-   q(5774) => [
+   q(5773) => [
       q(Retta),
       ],
-   q(5775) => [
+   q(5774) => [
       q(Reyesano),
       ],
-   q(5776) => [
+   q(5775) => [
       q(Roria),
       ],
-   q(5777) => [
+   q(5776) => [
       q(Romano-Greek),
       ],
-   q(5778) => [
+   q(5777) => [
       q(Rangkas),
       ],
-   q(5779) => [
+   q(5778) => [
       q(Romagnol),
       ],
-   q(5780) => [
+   q(5779) => [
       q(Resigaro),
       ],
-   q(5781) => [
+   q(5780) => [
       q(Southern Roglai),
       ],
-   q(5782) => [
+   q(5781) => [
       q(Ringgou),
       ],
-   q(5783) => [
+   q(5782) => [
       q(Rohingya),
       ],
-   q(5784) => [
+   q(5783) => [
       q(Yahang),
       ],
-   q(5785) => [
+   q(5784) => [
       q(Riang (India)),
       ],
-   q(5786) => [
+   q(5785) => [
       q(Rien),
       ],
-   q(5787) => [
+   q(5786) => [
       q(Tarifit),
       ],
-   q(5788) => [
+   q(5787) => [
       q(Riang (Myanmar)),
       ],
-   q(5789) => [
+   q(5788) => [
       q(Nyaturu),
       ],
-   q(5790) => [
+   q(5789) => [
       q(Nungu),
       ],
-   q(5791) => [
+   q(5790) => [
       q(Ribun),
       ],
-   q(5792) => [
+   q(5791) => [
       q(Ritarungo),
       ],
-   q(5793) => [
+   q(5792) => [
       q(Riung),
       ],
-   q(5794) => [
+   q(5793) => [
       q(Rajong),
       ],
-   q(5795) => [
+   q(5794) => [
       q(Raji),
       ],
-   q(5796) => [
+   q(5795) => [
       q(Rajbanshi),
       ],
-   q(5797) => [
+   q(5796) => [
       q(Kraol),
       ],
-   q(5798) => [
+   q(5797) => [
       q(Rikbaktsa),
       ],
-   q(5799) => [
+   q(5798) => [
       q(Rakahanga-Manihiki),
       ],
-   q(5800) => [
+   q(5799) => [
       q(Rakhine),
       ],
-   q(5801) => [
+   q(5800) => [
       q(Marka),
       ],
-   q(5802) => [
+   q(5801) => [
       q(Rangpuri),
       q(Kamta),
       ],
-   q(5803) => [
+   q(5802) => [
       q(Arakwal),
       ],
-   q(5804) => [
+   q(5803) => [
       q(Rama),
       ],
-   q(5805) => [
+   q(5804) => [
       q(Rembarunga),
       ],
-   q(5806) => [
+   q(5805) => [
       q(Carpathian Romani),
       ],
-   q(5807) => [
+   q(5806) => [
       q(Traveller Danish),
       ],
-   q(5808) => [
+   q(5807) => [
       q(Angloromani),
       ],
-   q(5809) => [
+   q(5808) => [
       q(Kalo Finnish Romani),
       ],
-   q(5810) => [
+   q(5809) => [
       q(Traveller Norwegian),
       ],
-   q(5811) => [
+   q(5810) => [
       q(Murkim),
       ],
-   q(5812) => [
+   q(5811) => [
       q(Lomavren),
       ],
-   q(5813) => [
+   q(5812) => [
       q(Romkun),
       ],
-   q(5814) => [
+   q(5813) => [
       q(Baltic Romani),
       ],
-   q(5815) => [
+   q(5814) => [
       q(Roma),
       ],
-   q(5816) => [
+   q(5815) => [
       q(Balkan Romani),
       ],
-   q(5817) => [
+   q(5816) => [
       q(Sinte Romani),
       ],
-   q(5818) => [
+   q(5817) => [
       q(Rempi),
       ],
-   q(5819) => [
+   q(5818) => [
       q(Calo),
       ],
-   q(5820) => [
+   q(5819) => [
       q(Romanian Sign Language),
       ],
-   q(5821) => [
+   q(5820) => [
       q(Domari),
       ],
-   q(5822) => [
+   q(5821) => [
       q(Tavringer Romani),
       ],
-   q(5823) => [
+   q(5822) => [
       q(Romanova),
       ],
-   q(5824) => [
+   q(5823) => [
       q(Welsh Romani),
       ],
-   q(5825) => [
+   q(5824) => [
       q(Romam),
       ],
-   q(5826) => [
+   q(5825) => [
       q(Vlax Romani),
       ],
-   q(5827) => [
+   q(5826) => [
       q(Marma),
       ],
-   q(5828) => [
+   q(5827) => [
       q(Runa),
       ],
-   q(5829) => [
+   q(5828) => [
       q(Ruund),
       ],
-   q(5830) => [
+   q(5829) => [
       q(Ronga),
       ],
-   q(5831) => [
+   q(5830) => [
       q(Ranglong),
       ],
-   q(5832) => [
+   q(5831) => [
       q(Roon),
       ],
-   q(5833) => [
+   q(5832) => [
       q(Rongpo),
       ],
-   q(5834) => [
+   q(5833) => [
       q(Nari Nari),
       ],
-   q(5835) => [
+   q(5834) => [
       q(Rungwa),
       ],
-   q(5836) => [
+   q(5835) => [
       q(Tae'),
       ],
-   q(5837) => [
+   q(5836) => [
       q(Cacgia Roglai),
       ],
-   q(5838) => [
+   q(5837) => [
       q(Rogo),
       ],
-   q(5839) => [
+   q(5838) => [
       q(Ronji),
       ],
-   q(5840) => [
+   q(5839) => [
       q(Rombo),
       ],
-   q(5841) => [
+   q(5840) => [
       q(Northern Roglai),
       ],
-   q(5842) => [
+   q(5841) => [
       q(Romblomanon),
       ],
-   q(5843) => [
+   q(5842) => [
       q(Rotokas),
       ],
-   q(5844) => [
+   q(5843) => [
       q(Kriol),
       ],
-   q(5845) => [
+   q(5844) => [
       q(Rongga),
       ],
-   q(5846) => [
+   q(5845) => [
       q(Runga),
       ],
-   q(5847) => [
+   q(5846) => [
       q(Dela-Oenale),
       ],
-   q(5848) => [
+   q(5847) => [
       q(Repanbitip),
       ],
-   q(5849) => [
+   q(5848) => [
       q(Rapting),
       ],
-   q(5850) => [
+   q(5849) => [
       q(Ririo),
       ],
-   q(5851) => [
+   q(5850) => [
       q(Waima),
       ],
-   q(5852) => [
+   q(5851) => [
       q(Arritinngithigh),
       ],
-   q(5853) => [
+   q(5852) => [
       q(Romano-Serbian),
       ],
-   q(5854) => [
+   q(5853) => [
       q(Rennellese Sign Language),
       ],
-   q(5855) => [
+   q(5854) => [
       q(Russian Sign Language),
       ],
-   q(5856) => [
+   q(5855) => [
       q(Rungtu Chin),
       ],
-   q(5857) => [
+   q(5856) => [
       q(Ratahan),
       ],
-   q(5858) => [
+   q(5857) => [
       q(Rotuman),
       ],
-   q(5859) => [
+   q(5858) => [
       q(Yurats),
       ],
-   q(5860) => [
+   q(5859) => [
       q(Rathawi),
       ],
-   q(5861) => [
+   q(5860) => [
       q(Gungu),
       ],
-   q(5862) => [
+   q(5861) => [
       q(Ruuli),
       ],
-   q(5863) => [
+   q(5862) => [
       q(Rusyn),
       ],
-   q(5864) => [
+   q(5863) => [
       q(Luguru),
       ],
-   q(5865) => [
+   q(5864) => [
       q(Roviana),
       ],
-   q(5866) => [
+   q(5865) => [
       q(Ruga),
       ],
-   q(5867) => [
+   q(5866) => [
       q(Rufiji),
       ],
-   q(5868) => [
+   q(5867) => [
       q(Che),
       ],
-   q(5869) => [
+   q(5868) => [
       q(Istro Romanian),
       ],
-   q(5870) => [
+   q(5869) => [
       q(Megleno Romanian),
       ],
-   q(5871) => [
+   q(5870) => [
       q(Rutul),
       ],
-   q(5872) => [
+   q(5871) => [
       q(Lanas Lobu),
       ],
-   q(5873) => [
+   q(5872) => [
       q(Mala (Nigeria)),
       ],
-   q(5874) => [
+   q(5873) => [
       q(Ruma),
       ],
-   q(5875) => [
+   q(5874) => [
       q(Rawo),
       ],
-   q(5876) => [
+   q(5875) => [
       q(Rwa),
       ],
-   q(5877) => [
+   q(5876) => [
       q(Amba (Uganda)),
       ],
-   q(5878) => [
+   q(5877) => [
       q(Rawa),
       ],
-   q(5879) => [
+   q(5878) => [
       q(Marwari (India)),
       ],
-   q(5880) => [
+   q(5879) => [
       q(Ngardi),
       ],
-   q(5881) => [
+   q(5880) => [
       q(Karuwali),
       ],
-   q(5882) => [
+   q(5881) => [
       q(Northern Amami-Oshima),
       ],
-   q(5883) => [
+   q(5882) => [
       q(Yaeyama),
       ],
-   q(5884) => [
+   q(5883) => [
       q(Central Okinawan),
       ],
-   q(5885) => [
+   q(5884) => [
       q(Saba),
       ],
-   q(5886) => [
+   q(5885) => [
       q(Buglere),
       ],
-   q(5887) => [
+   q(5886) => [
       q(Meskwaki),
       ],
-   q(5888) => [
+   q(5887) => [
       q(Sabane),
       ],
-   q(5889) => [
+   q(5888) => [
       q(Safaliba),
       ],
-   q(5890) => [
+   q(5889) => [
       q(Sahu),
       ],
-   q(5891) => [
+   q(5890) => [
       q(Sake),
       ],
-   q(5892) => [
+   q(5891) => [
       q(Sause),
       ],
-   q(5893) => [
+   q(5892) => [
       q(Samburu),
       ],
-   q(5894) => [
+   q(5893) => [
       q(Saraveca),
       ],
-   q(5895) => [
+   q(5894) => [
       q(Saleman),
       ],
-   q(5896) => [
+   q(5895) => [
       q(Saafi-Saafi),
       ],
-   q(5897) => [
+   q(5896) => [
       q(Sawi),
       ],
-   q(5898) => [
+   q(5897) => [
       q(Sa),
       ],
-   q(5899) => [
+   q(5898) => [
       q(Saya),
       ],
-   q(5900) => [
+   q(5899) => [
       q(Saurashtra),
       ],
-   q(5901) => [
+   q(5900) => [
       q(Ngambay),
       ],
-   q(5902) => [
+   q(5901) => [
       q(Simbo),
       ],
-   q(5903) => [
+   q(5902) => [
       q(Kele (Papua New Guinea)),
       ],
-   q(5904) => [
+   q(5903) => [
       q(Southern Samo),
       ],
-   q(5905) => [
+   q(5904) => [
       q(Saliba),
       ],
-   q(5906) => [
+   q(5905) => [
       q(Chabu),
       q(Shabo),
       ],
-   q(5907) => [
+   q(5906) => [
       q(Seget),
       ],
-   q(5908) => [
+   q(5907) => [
       q(Sori-Harengan),
       ],
-   q(5909) => [
+   q(5908) => [
       q(Seti),
       ],
-   q(5910) => [
+   q(5909) => [
       q(Surbakhal),
       ],
-   q(5911) => [
+   q(5910) => [
       q(Safwa),
       ],
-   q(5912) => [
+   q(5911) => [
       q(Botolan Sambal),
       ],
-   q(5913) => [
+   q(5912) => [
       q(Sagala),
       ],
-   q(5914) => [
+   q(5913) => [
       q(Sindhi Bhil),
       ],
-   q(5915) => [
+   q(5914) => [
       q(Sabum),
       ],
-   q(5916) => [
+   q(5915) => [
       q(Sangu (Tanzania)),
       ],
-   q(5917) => [
+   q(5916) => [
       q(Sileibi),
       ],
-   q(5918) => [
+   q(5917) => [
       q(Sembakung Murut),
       ],
-   q(5919) => [
+   q(5918) => [
       q(Subiya),
       ],
-   q(5920) => [
+   q(5919) => [
       q(Kimki),
       ],
-   q(5921) => [
+   q(5920) => [
       q(Stod Bhoti),
       ],
-   q(5922) => [
+   q(5921) => [
       q(Sabine),
       ],
-   q(5923) => [
+   q(5922) => [
       q(Simba),
       ],
-   q(5924) => [
+   q(5923) => [
       q(Seberuang),
       ],
-   q(5925) => [
+   q(5924) => [
       q(Soli),
       ],
-   q(5926) => [
+   q(5925) => [
       q(Sara Kaba),
       ],
-   q(5927) => [
+   q(5926) => [
       q(Chut),
       ],
-   q(5928) => [
+   q(5927) => [
       q(Dongxiang),
       ],
-   q(5929) => [
+   q(5928) => [
       q(San Miguel Creole French),
       ],
-   q(5930) => [
+   q(5929) => [
       q(Sanggau),
       ],
-   q(5931) => [
+   q(5930) => [
       q(Sakachep),
       ],
-   q(5932) => [
+   q(5931) => [
       q(Sri Lankan Creole Malay),
       ],
-   q(5933) => [
+   q(5932) => [
       q(Sadri),
       ],
-   q(5934) => [
+   q(5933) => [
       q(Shina),
       ],
-   q(5935) => [
+   q(5934) => [
       q(Helambu Sherpa),
       ],
-   q(5936) => [
+   q(5935) => [
       q(Sa'och),
       ],
-   q(5937) => [
+   q(5936) => [
       q(North Slavey),
       ],
-   q(5938) => [
+   q(5937) => [
       q(Shumcho),
       ],
-   q(5939) => [
+   q(5938) => [
       q(Sheni),
       ],
-   q(5940) => [
+   q(5939) => [
       q(Sha),
       ],
-   q(5941) => [
+   q(5940) => [
       q(Sicel),
       ],
-   q(5942) => [
+   q(5941) => [
       q(Toraja-Sa'dan),
       ],
-   q(5943) => [
+   q(5942) => [
       q(Shabak),
       ],
-   q(5944) => [
+   q(5943) => [
       q(Sassarese Sardinian),
       ],
-   q(5945) => [
+   q(5944) => [
       q(Surubu),
       ],
-   q(5946) => [
+   q(5945) => [
       q(Sarli),
       ],
-   q(5947) => [
+   q(5946) => [
       q(Savi),
       ],
-   q(5948) => [
+   q(5947) => [
       q(Southern Kurdish),
       ],
-   q(5949) => [
+   q(5948) => [
       q(Suundi),
       ],
-   q(5950) => [
+   q(5949) => [
       q(Sos Kundi),
       ],
-   q(5951) => [
+   q(5950) => [
       q(Saudi Arabian Sign Language),
       ],
-   q(5952) => [
+   q(5951) => [
       q(Semandang),
       ],
-   q(5953) => [
+   q(5952) => [
       q(Gallurese Sardinian),
       ],
-   q(5954) => [
+   q(5953) => [
       q(Bukar-Sadung Bidayuh),
       ],
-   q(5955) => [
+   q(5954) => [
       q(Sherdukpen),
       ],
-   q(5956) => [
+   q(5955) => [
       q(Oraon Sadri),
       ],
-   q(5957) => [
+   q(5956) => [
       q(Sened),
       ],
-   q(5958) => [
+   q(5957) => [
       q(Shuadit),
       ],
-   q(5959) => [
+   q(5958) => [
       q(Sarudu),
       ],
-   q(5960) => [
+   q(5959) => [
       q(Sibu Melanau),
       ],
-   q(5961) => [
+   q(5960) => [
       q(Sallands),
       ],
-   q(5962) => [
+   q(5961) => [
       q(Semai),
       ],
-   q(5963) => [
+   q(5962) => [
       q(Shempire Senoufo),
       ],
-   q(5964) => [
+   q(5963) => [
       q(Sechelt),
       ],
-   q(5965) => [
+   q(5964) => [
       q(Sedang),
       ],
-   q(5966) => [
+   q(5965) => [
       q(Seneca),
       ],
-   q(5967) => [
+   q(5966) => [
       q(Cebaara Senoufo),
       ],
-   q(5968) => [
+   q(5967) => [
       q(Segeju),
       ],
-   q(5969) => [
+   q(5968) => [
       q(Sena),
       ],
-   q(5970) => [
+   q(5969) => [
       q(Seri),
       ],
-   q(5971) => [
+   q(5970) => [
       q(Sene),
       ],
-   q(5972) => [
+   q(5971) => [
       q(Sekani),
       ],
-   q(5973) => [
+   q(5972) => [
       q(Nanerige Senoufo),
       ],
-   q(5974) => [
+   q(5973) => [
       q(Suarmin),
       ],
-   q(5975) => [
+   q(5974) => [
       q(Sicite Senoufo),
       ],
-   q(5976) => [
+   q(5975) => [
       q(Senara Senoufo),
       ],
-   q(5977) => [
+   q(5976) => [
       q(Serrano),
       ],
-   q(5978) => [
+   q(5977) => [
       q(Koyraboro Senni Songhai),
       ],
-   q(5979) => [
+   q(5978) => [
       q(Sentani),
       ],
-   q(5980) => [
+   q(5979) => [
       q(Serui-Laut),
       ],
-   q(5981) => [
+   q(5980) => [
       q(Nyarafolo Senoufo),
       ],
-   q(5982) => [
+   q(5981) => [
       q(Sewa Bay),
       ],
-   q(5983) => [
+   q(5982) => [
       q(Secoya),
       ],
-   q(5984) => [
+   q(5983) => [
       q(Senthang Chin),
       ],
-   q(5985) => [
+   q(5984) => [
       q(Langue des signes de Belgique Francophone),
       q(French Belgian Sign Language),
       ],
-   q(5986) => [
+   q(5985) => [
       q(Eastern Subanen),
       ],
-   q(5987) => [
+   q(5986) => [
       q(Small Flowery Miao),
       ],
-   q(5988) => [
+   q(5987) => [
       q(South African Sign Language),
       ],
-   q(5989) => [
+   q(5988) => [
       q(Sehwi),
       ],
-   q(5990) => [
+   q(5989) => [
       q(Mag-antsi Ayta),
       ],
-   q(5991) => [
+   q(5990) => [
       q(Kipsigis),
       ],
-   q(5992) => [
+   q(5991) => [
       q(Surigaonon),
       ],
-   q(5993) => [
+   q(5992) => [
       q(Segai),
       ],
-   q(5994) => [
+   q(5993) => [
       q(Swiss-German Sign Language),
       ],
-   q(5995) => [
+   q(5994) => [
       q(Shughni),
       ],
-   q(5996) => [
+   q(5995) => [
       q(Suga),
       ],
-   q(5997) => [
+   q(5996) => [
       q(Surgujia),
       ],
-   q(5998) => [
+   q(5997) => [
       q(Sangkong),
       ],
-   q(5999) => [
+   q(5998) => [
       q(Singa),
       ],
-   q(6000) => [
+   q(5999) => [
       q(Singpho),
       ],
-   q(6001) => [
+   q(6000) => [
       q(Sangisari),
       ],
-   q(6002) => [
+   q(6001) => [
       q(Samogitian),
       ],
-   q(6003) => [
+   q(6002) => [
       q(Brokpake),
       ],
-   q(6004) => [
+   q(6003) => [
       q(Salas),
       ],
-   q(6005) => [
+   q(6004) => [
       q(Sebat Bet Gurage),
       ],
-   q(6006) => [
+   q(6005) => [
       q(Sierra Leone Sign Language),
       ],
-   q(6007) => [
+   q(6006) => [
       q(Sanglechi),
       ],
-   q(6008) => [
+   q(6007) => [
       q(Sursurunga),
       ],
-   q(6009) => [
+   q(6008) => [
       q(Shall-Zwall),
       ],
-   q(6010) => [
+   q(6009) => [
       q(Ninam),
       ],
-   q(6011) => [
+   q(6010) => [
       q(Sonde),
       ],
-   q(6012) => [
+   q(6011) => [
       q(Kundal Shahi),
       ],
-   q(6013) => [
+   q(6012) => [
       q(Sheko),
       ],
-   q(6014) => [
+   q(6013) => [
       q(Shua),
       ],
-   q(6015) => [
+   q(6014) => [
       q(Shoshoni),
       ],
-   q(6016) => [
+   q(6015) => [
       q(Tachelhit),
       ],
-   q(6017) => [
+   q(6016) => [
       q(Shatt),
       ],
-   q(6018) => [
+   q(6017) => [
       q(Shilluk),
       ],
-   q(6019) => [
+   q(6018) => [
       q(Shendu),
       ],
-   q(6020) => [
+   q(6019) => [
       q(Shahrudi),
       ],
-   q(6021) => [
+   q(6020) => [
       q(Shanga),
       ],
-   q(6022) => [
+   q(6021) => [
       q(Shipibo-Conibo),
       ],
-   q(6023) => [
+   q(6022) => [
       q(Sala),
       ],
-   q(6024) => [
+   q(6023) => [
       q(Shi),
       ],
-   q(6025) => [
+   q(6024) => [
       q(Shuswap),
       ],
-   q(6026) => [
+   q(6025) => [
       q(Shasta),
       ],
-   q(6027) => [
+   q(6026) => [
       q(Chadian Arabic),
       ],
-   q(6028) => [
+   q(6027) => [
       q(Shehri),
       ],
-   q(6029) => [
+   q(6028) => [
       q(Shwai),
       ],
-   q(6030) => [
+   q(6029) => [
       q(She),
       ],
-   q(6031) => [
+   q(6030) => [
       q(Tachawit),
       ],
-   q(6032) => [
+   q(6031) => [
       q(Syenara Senoufo),
       ],
-   q(6033) => [
+   q(6032) => [
       q(Akkala Sami),
       ],
-   q(6034) => [
+   q(6033) => [
       q(Sebop),
       ],
-   q(6035) => [
+   q(6034) => [
       q(Simaa),
       ],
-   q(6036) => [
+   q(6035) => [
       q(Siamou),
       ],
-   q(6037) => [
+   q(6036) => [
       q(Paasaal),
       ],
-   q(6038) => [
+   q(6037) => [
       q(Zire),
       q(Sishee),
       ],
-   q(6039) => [
+   q(6038) => [
       q(Shom Peng),
       ],
-   q(6040) => [
+   q(6039) => [
       q(Numbami),
       ],
-   q(6041) => [
+   q(6040) => [
       q(Sikiana),
       ],
-   q(6042) => [
+   q(6041) => [
       q(Tumulung Sisaala),
       ],
-   q(6043) => [
+   q(6042) => [
       q(Mende (Papua New Guinea)),
       ],
-   q(6044) => [
+   q(6043) => [
       q(Sikkimese),
       ],
-   q(6045) => [
+   q(6044) => [
       q(Sonia),
       ],
-   q(6046) => [
+   q(6045) => [
       q(Siri),
       ],
-   q(6047) => [
+   q(6046) => [
       q(Siuslaw),
       ],
-   q(6048) => [
+   q(6047) => [
       q(Sinagen),
       ],
-   q(6049) => [
+   q(6048) => [
       q(Sumariup),
       ],
-   q(6050) => [
+   q(6049) => [
       q(Siwai),
       ],
-   q(6051) => [
+   q(6050) => [
       q(Sumau),
       ],
-   q(6052) => [
+   q(6051) => [
       q(Sivandi),
       ],
-   q(6053) => [
+   q(6052) => [
       q(Siwi),
       ],
-   q(6054) => [
+   q(6053) => [
       q(Epena),
       ],
-   q(6055) => [
+   q(6054) => [
       q(Sajau Basap),
       ],
-   q(6056) => [
+   q(6055) => [
       q(Kildin Sami),
       ],
-   q(6057) => [
+   q(6056) => [
       q(Pite Sami),
       ],
-   q(6058) => [
+   q(6057) => [
       q(Assangori),
       ],
-   q(6059) => [
+   q(6058) => [
       q(Kemi Sami),
       ],
-   q(6060) => [
+   q(6059) => [
       q(Sajalong),
       q(Miji),
       ],
-   q(6061) => [
+   q(6060) => [
       q(Mapun),
       ],
-   q(6062) => [
+   q(6061) => [
       q(Sindarin),
       ],
-   q(6063) => [
+   q(6062) => [
       q(Xibe),
       ],
-   q(6064) => [
+   q(6063) => [
       q(Surjapuri),
       ],
-   q(6065) => [
+   q(6064) => [
       q(Siar-Lak),
       ],
-   q(6066) => [
+   q(6065) => [
       q(Senhaja De Srair),
       ],
-   q(6067) => [
+   q(6066) => [
       q(Ter Sami),
       ],
-   q(6068) => [
+   q(6067) => [
       q(Ume Sami),
       ],
-   q(6069) => [
+   q(6068) => [
       q(Shawnee),
       ],
-   q(6070) => [
+   q(6069) => [
       q(Skagit),
       ],
-   q(6071) => [
+   q(6070) => [
       q(Saek),
       ],
-   q(6072) => [
+   q(6071) => [
       q(Ma Manda),
       ],
-   q(6073) => [
+   q(6072) => [
       q(Southern Sierra Miwok),
       ],
-   q(6074) => [
+   q(6073) => [
       q(Seke (Vanuatu)),
       ],
-   q(6075) => [
+   q(6074) => [
       q(Sakirabia),
       ],
-   q(6076) => [
+   q(6075) => [
       q(Sakalava Malagasy),
       ],
-   q(6077) => [
+   q(6076) => [
       q(Sikule),
       ],
-   q(6078) => [
+   q(6077) => [
       q(Sika),
       ],
-   q(6079) => [
+   q(6078) => [
       q(Seke (Nepal)),
       ],
-   q(6080) => [
+   q(6079) => [
       q(Sok),
       ],
-   q(6081) => [
+   q(6080) => [
       q(Kutong),
       ],
-   q(6082) => [
+   q(6081) => [
       q(Kolibugan Subanon),
       ],
-   q(6083) => [
+   q(6082) => [
       q(Seko Tengah),
       ],
-   q(6084) => [
+   q(6083) => [
       q(Sekapan),
       ],
-   q(6085) => [
+   q(6084) => [
       q(Sininkere),
       ],
-   q(6086) => [
+   q(6085) => [
       q(Saraiki),
       q(Seraiki),
       ],
-   q(6087) => [
+   q(6086) => [
       q(Maia),
       ],
-   q(6088) => [
+   q(6087) => [
       q(Sakata),
       ],
-   q(6089) => [
+   q(6088) => [
       q(Sakao),
       ],
-   q(6090) => [
+   q(6089) => [
       q(Skou),
       ],
-   q(6091) => [
+   q(6090) => [
       q(Skepi Creole Dutch),
       ],
-   q(6092) => [
+   q(6091) => [
       q(Seko Padang),
       ],
-   q(6093) => [
+   q(6092) => [
       q(Sikaiana),
       ],
-   q(6094) => [
+   q(6093) => [
       q(Sekar),
       ],
-   q(6095) => [
+   q(6094) => [
       q(Sissala),
       ],
-   q(6096) => [
+   q(6095) => [
       q(Sholaga),
       ],
-   q(6097) => [
+   q(6096) => [
       q(Swiss-Italian Sign Language),
       ],
-   q(6098) => [
+   q(6097) => [
       q(Selungai Murut),
       ],
-   q(6099) => [
+   q(6098) => [
       q(Southern Puget Sound Salish),
       ],
-   q(6100) => [
+   q(6099) => [
       q(Lower Silesian),
       ],
-   q(6101) => [
+   q(6100) => [
       q(Saluma),
       ],
-   q(6102) => [
+   q(6101) => [
       q(Salt-Yui),
       ],
-   q(6103) => [
+   q(6102) => [
       q(Pangutaran Sama),
       ],
-   q(6104) => [
+   q(6103) => [
       q(Salinan),
       ],
-   q(6105) => [
+   q(6104) => [
       q(Lamaholot),
       ],
-   q(6106) => [
+   q(6105) => [
       q(Salchuq),
       ],
-   q(6107) => [
+   q(6106) => [
       q(Salar),
       ],
-   q(6108) => [
+   q(6107) => [
       q(Singapore Sign Language),
       ],
-   q(6109) => [
+   q(6108) => [
       q(Sila),
       ],
-   q(6110) => [
+   q(6109) => [
       q(Selaru),
       ],
-   q(6111) => [
+   q(6110) => [
       q(Sialum),
       ],
-   q(6112) => [
+   q(6111) => [
       q(Salampasu),
       ],
-   q(6113) => [
+   q(6112) => [
       q(Selayar),
       ],
-   q(6114) => [
+   q(6113) => [
       q(Ma'ya),
       ],
-   q(6115) => [
+   q(6114) => [
       q(Simbari),
       ],
-   q(6116) => [
+   q(6115) => [
       q(Som),
       ],
-   q(6117) => [
+   q(6116) => [
       q(Sama),
       ],
-   q(6118) => [
+   q(6117) => [
       q(Auwe),
       ],
-   q(6119) => [
+   q(6118) => [
       q(Simbali),
       ],
-   q(6120) => [
+   q(6119) => [
       q(Samei),
       ],
-   q(6121) => [
+   q(6120) => [
       q(Bolinao),
       ],
-   q(6122) => [
+   q(6121) => [
       q(Central Sama),
       ],
-   q(6123) => [
+   q(6122) => [
       q(Musasa),
       ],
-   q(6124) => [
+   q(6123) => [
       q(Samaritan),
       ],
-   q(6125) => [
+   q(6124) => [
       q(Samo),
       ],
-   q(6126) => [
+   q(6125) => [
       q(Simeulue),
       ],
-   q(6127) => [
+   q(6126) => [
       q(Simte),
       ],
-   q(6128) => [
+   q(6127) => [
       q(Somray),
       ],
-   q(6129) => [
+   q(6128) => [
       q(Samvedi),
       ],
-   q(6130) => [
+   q(6129) => [
       q(Sumbawa),
       ],
-   q(6131) => [
+   q(6130) => [
       q(Samba),
       ],
-   q(6132) => [
+   q(6131) => [
       q(Semnani),
       ],
-   q(6133) => [
+   q(6132) => [
       q(Simeku),
       ],
-   q(6134) => [
+   q(6133) => [
       q(Sebuyau),
       ],
-   q(6135) => [
+   q(6134) => [
       q(Sinaugoro),
       ],
-   q(6136) => [
+   q(6135) => [
       q(Bau Bidayuh),
       ],
-   q(6137) => [
+   q(6136) => [
       q(Noon),
       ],
-   q(6138) => [
+   q(6137) => [
       q(Sanga (Democratic Republic of Congo)),
       ],
-   q(6139) => [
+   q(6138) => [
       q(Shinabo),
       ],
-   q(6140) => [
+   q(6139) => [
       q(Sensi),
       ],
-   q(6141) => [
+   q(6140) => [
       q(Riverain Sango),
       ],
-   q(6142) => [
+   q(6141) => [
       q(Sangil),
       ],
-   q(6143) => [
+   q(6142) => [
       q(Southern Ma'di),
       ],
-   q(6144) => [
+   q(6143) => [
       q(Siona),
       ],
-   q(6145) => [
+   q(6144) => [
       q(Snohomish),
       ],
-   q(6146) => [
+   q(6145) => [
       q(Siane),
       ],
-   q(6147) => [
+   q(6146) => [
       q(Sangu (Gabon)),
       ],
-   q(6148) => [
+   q(6147) => [
       q(Sihan),
       ],
-   q(6149) => [
+   q(6148) => [
       q(South West Bay),
       q(Nahavaq),
       ],
-   q(6150) => [
+   q(6149) => [
       q(Senggi),
       q(Viid),
       ],
-   q(6151) => [
+   q(6150) => [
       q(Sa'ban),
       ],
-   q(6152) => [
+   q(6151) => [
       q(Selee),
       ],
-   q(6153) => [
+   q(6152) => [
       q(Sam),
       ],
-   q(6154) => [
+   q(6153) => [
       q(Saniyo-Hiyewe),
       ],
-   q(6155) => [
+   q(6154) => [
       q(Sinsauru),
       ],
-   q(6156) => [
+   q(6155) => [
       q(Thai Song),
       ],
-   q(6157) => [
+   q(6156) => [
       q(Sobei),
       ],
-   q(6158) => [
+   q(6157) => [
       q(So (Democratic Republic of Congo)),
       ],
-   q(6159) => [
+   q(6158) => [
       q(Songoora),
       ],
-   q(6160) => [
+   q(6159) => [
       q(Songomeno),
       ],
-   q(6161) => [
+   q(6160) => [
       q(Aka),
       ],
-   q(6162) => [
+   q(6161) => [
       q(Sonha),
       ],
-   q(6163) => [
+   q(6162) => [
       q(Soi),
       ],
-   q(6164) => [
+   q(6163) => [
       q(Sokoro),
       ],
-   q(6165) => [
+   q(6164) => [
       q(Solos),
       ],
-   q(6166) => [
+   q(6165) => [
       q(Songo),
       ],
-   q(6167) => [
+   q(6166) => [
       q(Songe),
       ],
-   q(6168) => [
+   q(6167) => [
       q(Kanasi),
       ],
-   q(6169) => [
+   q(6168) => [
       q(Somrai),
       ],
-   q(6170) => [
+   q(6169) => [
       q(Seeku),
       ],
-   q(6171) => [
+   q(6170) => [
       q(Southern Thai),
       ],
-   q(6172) => [
+   q(6171) => [
       q(Sonsorol),
       ],
-   q(6173) => [
+   q(6172) => [
       q(Sowanda),
       ],
-   q(6174) => [
+   q(6173) => [
       q(Swo),
       ],
-   q(6175) => [
+   q(6174) => [
       q(Miyobe),
       ],
-   q(6176) => [
+   q(6175) => [
       q(Temi),
       ],
-   q(6177) => [
+   q(6176) => [
       q(Sepa (Indonesia)),
       ],
-   q(6178) => [
+   q(6177) => [
       q(Sape),
       ],
-   q(6179) => [
+   q(6178) => [
       q(Saep),
       ],
-   q(6180) => [
+   q(6179) => [
       q(Sepa (Papua New Guinea)),
       ],
-   q(6181) => [
+   q(6180) => [
       q(Sian),
       ],
-   q(6182) => [
+   q(6181) => [
       q(Saponi),
       ],
-   q(6183) => [
+   q(6182) => [
       q(Sengo),
       ],
-   q(6184) => [
+   q(6183) => [
       q(Selepet),
       ],
-   q(6185) => [
+   q(6184) => [
       q(Akukem),
       ],
-   q(6186) => [
+   q(6185) => [
       q(Sanapana),
       ],
-   q(6187) => [
+   q(6186) => [
       q(Spokane),
       ],
-   q(6188) => [
+   q(6187) => [
       q(Supyire Senoufo),
       ],
-   q(6189) => [
+   q(6188) => [
       q(Loreto-Ucayali Spanish),
       ],
-   q(6190) => [
+   q(6189) => [
       q(Saparua),
       ],
-   q(6191) => [
+   q(6190) => [
       q(Saposa),
       ],
-   q(6192) => [
+   q(6191) => [
       q(Spiti Bhoti),
       ],
-   q(6193) => [
+   q(6192) => [
       q(Sapuan),
       ],
-   q(6194) => [
+   q(6193) => [
       q(Sambalpuri),
       q(Kosli),
       ],
-   q(6195) => [
+   q(6194) => [
       q(South Picene),
       ],
-   q(6196) => [
+   q(6195) => [
       q(Sabaot),
       ],
-   q(6197) => [
+   q(6196) => [
       q(Shama-Sambuga),
       ],
-   q(6198) => [
+   q(6197) => [
       q(Shau),
       ],
-   q(6199) => [
+   q(6198) => [
       q(Albanian Sign Language),
       ],
-   q(6200) => [
+   q(6199) => [
       q(Suma),
       ],
-   q(6201) => [
+   q(6200) => [
       q(Susquehannock),
       ],
-   q(6202) => [
+   q(6201) => [
       q(Sorkhei),
       ],
-   q(6203) => [
+   q(6202) => [
       q(Sou),
       ],
-   q(6204) => [
+   q(6203) => [
       q(Siculo Arabic),
       ],
-   q(6205) => [
+   q(6204) => [
       q(Sri Lankan Sign Language),
       ],
-   q(6206) => [
+   q(6205) => [
       q(Soqotri),
       ],
-   q(6207) => [
+   q(6206) => [
       q(Squamish),
       ],
-   q(6208) => [
+   q(6207) => [
       q(Saruga),
       ],
-   q(6209) => [
+   q(6208) => [
       q(Sora),
       ],
-   q(6210) => [
+   q(6209) => [
       q(Logudorese Sardinian),
       ],
-   q(6211) => [
+   q(6210) => [
       q(Sara),
       ],
-   q(6212) => [
+   q(6211) => [
       q(Nafi),
       ],
-   q(6213) => [
+   q(6212) => [
       q(Sulod),
       ],
-   q(6214) => [
+   q(6213) => [
       q(Sarikoli),
       ],
-   q(6215) => [
+   q(6214) => [
       q(Siriano),
       ],
-   q(6216) => [
+   q(6215) => [
       q(Serudung Murut),
       ],
-   q(6217) => [
+   q(6216) => [
       q(Isirawa),
       ],
-   q(6218) => [
+   q(6217) => [
       q(Saramaccan),
       ],
-   q(6219) => [
+   q(6218) => [
       q(Campidanese Sardinian),
       ],
-   q(6220) => [
+   q(6219) => [
       q(Siriono),
       ],
-   q(6221) => [
+   q(6220) => [
       q(Sarsi),
       ],
-   q(6222) => [
+   q(6221) => [
       q(Sauri),
       ],
-   q(6223) => [
+   q(6222) => [
       q(Surui),
       ],
-   q(6224) => [
+   q(6223) => [
       q(Southern Sorsoganon),
       ],
-   q(6225) => [
+   q(6224) => [
       q(Serua),
       ],
-   q(6226) => [
+   q(6225) => [
       q(Sirmauri),
       ],
-   q(6227) => [
+   q(6226) => [
       q(Sera),
       ],
-   q(6228) => [
+   q(6227) => [
       q(Shahmirzadi),
       ],
-   q(6229) => [
+   q(6228) => [
       q(Southern Sama),
       ],
-   q(6230) => [
+   q(6229) => [
       q(Suba-Simbiti),
       ],
-   q(6231) => [
+   q(6230) => [
       q(Siroi),
       ],
-   q(6232) => [
+   q(6231) => [
       q(Balangingi),
       q(Bangingih Sama),
       ],
-   q(6233) => [
+   q(6232) => [
       q(Thao),
       ],
-   q(6234) => [
+   q(6233) => [
       q(Seimat),
       ],
-   q(6235) => [
+   q(6234) => [
       q(Shihhi Arabic),
       ],
-   q(6236) => [
+   q(6235) => [
       q(Sansi),
       ],
-   q(6237) => [
+   q(6236) => [
       q(Sausi),
       ],
-   q(6238) => [
+   q(6237) => [
       q(Sunam),
       ],
-   q(6239) => [
+   q(6238) => [
       q(Western Sisaala),
       ],
-   q(6240) => [
+   q(6239) => [
       q(Semnam),
       ],
-   q(6241) => [
+   q(6240) => [
       q(Waata),
       ],
-   q(6242) => [
+   q(6241) => [
       q(Sissano),
       ],
-   q(6243) => [
+   q(6242) => [
       q(Spanish Sign Language),
       ],
-   q(6244) => [
+   q(6243) => [
       q(So'a),
       ],
-   q(6245) => [
+   q(6244) => [
       q(Swiss-French Sign Language),
       ],
-   q(6246) => [
+   q(6245) => [
       q(So),
       ],
-   q(6247) => [
+   q(6246) => [
       q(Sinasina),
       ],
-   q(6248) => [
+   q(6247) => [
       q(Susuami),
       ],
-   q(6249) => [
+   q(6248) => [
       q(Shark Bay),
       ],
-   q(6250) => [
+   q(6249) => [
       q(Samberigi),
       ],
-   q(6251) => [
+   q(6250) => [
       q(Saho),
       ],
-   q(6252) => [
+   q(6251) => [
       q(Sengseng),
       ],
-   q(6253) => [
+   q(6252) => [
       q(Settla),
       ],
-   q(6254) => [
+   q(6253) => [
       q(Northern Subanen),
       ],
-   q(6255) => [
+   q(6254) => [
       q(Sentinel),
       ],
-   q(6256) => [
+   q(6255) => [
       q(Liana-Seti),
       ],
-   q(6257) => [
+   q(6256) => [
       q(Seta),
       ],
-   q(6258) => [
+   q(6257) => [
       q(Trieng),
       ],
-   q(6259) => [
+   q(6258) => [
       q(Shelta),
       ],
-   q(6260) => [
+   q(6259) => [
       q(Bulo Stieng),
       ],
-   q(6261) => [
+   q(6260) => [
       q(Matya Samo),
       ],
-   q(6262) => [
+   q(6261) => [
       q(Arammba),
       ],
-   q(6263) => [
+   q(6262) => [
       q(Stellingwerfs),
       ],
-   q(6264) => [
+   q(6263) => [
       q(Setaman),
       ],
-   q(6265) => [
+   q(6264) => [
       q(Owa),
       ],
-   q(6266) => [
+   q(6265) => [
       q(Stoney),
       ],
-   q(6267) => [
+   q(6266) => [
       q(Southeastern Tepehuan),
       ],
-   q(6268) => [
+   q(6267) => [
       q(Saterfriesisch),
       ],
-   q(6269) => [
+   q(6268) => [
       q(Straits Salish),
       ],
-   q(6270) => [
+   q(6269) => [
       q(Shumashti),
       ],
-   q(6271) => [
+   q(6270) => [
       q(Budeh Stieng),
       ],
-   q(6272) => [
+   q(6271) => [
       q(Samtao),
       ],
-   q(6273) => [
+   q(6272) => [
       q(Silt'e),
       ],
-   q(6274) => [
+   q(6273) => [
       q(Satawalese),
       ],
-   q(6275) => [
+   q(6274) => [
       q(Siberian Tatar),
       ],
-   q(6276) => [
+   q(6275) => [
       q(Sulka),
       ],
-   q(6277) => [
+   q(6276) => [
       q(Suku),
       ],
-   q(6278) => [
+   q(6277) => [
       q(Western Subanon),
       ],
-   q(6279) => [
+   q(6278) => [
       q(Suena),
       ],
-   q(6280) => [
+   q(6279) => [
       q(Suganga),
       ],
-   q(6281) => [
+   q(6280) => [
       q(Suki),
       ],
-   q(6282) => [
+   q(6281) => [
       q(Shubi),
       ],
-   q(6283) => [
+   q(6282) => [
       q(Suri),
       ],
-   q(6284) => [
+   q(6283) => [
       q(Mwaghavul),
       ],
-   q(6285) => [
+   q(6284) => [
       q(Subtiaba),
       ],
-   q(6286) => [
+   q(6285) => [
       q(Puroik),
       ],
-   q(6287) => [
+   q(6286) => [
       q(Sumbwa),
       ],
-   q(6288) => [
+   q(6287) => [
       q(Suya),
       ],
-   q(6289) => [
+   q(6288) => [
       q(Sunwar),
       ],
-   q(6290) => [
+   q(6289) => [
       q(Svan),
       ],
-   q(6291) => [
+   q(6290) => [
       q(Ulau-Suain),
       ],
-   q(6292) => [
+   q(6291) => [
       q(Vincentian Creole English),
       ],
-   q(6293) => [
+   q(6292) => [
       q(Serili),
       ],
-   q(6294) => [
+   q(6293) => [
       q(Slovakian Sign Language),
       ],
-   q(6295) => [
+   q(6294) => [
       q(Slavomolisano),
       ],
-   q(6296) => [
+   q(6295) => [
       q(Savara),
       ],
-   q(6297) => [
+   q(6296) => [
       q(Savosavo),
       ],
-   q(6298) => [
+   q(6297) => [
       q(Skalvian),
       ],
-   q(6299) => [
+   q(6298) => [
       q(Maore Comorian),
       ],
-   q(6300) => [
+   q(6299) => [
       q(Congo Swahili),
       ],
-   q(6301) => [
+   q(6300) => [
       q(Sere),
       ],
-   q(6302) => [
+   q(6301) => [
       q(Swabian),
       ],
-   q(6303) => [
+   q(6302) => [
       q(Swahili (individual language)),
       q(Kiswahili),
       ],
-   q(6304) => [
+   q(6303) => [
       q(Sui),
       ],
-   q(6305) => [
+   q(6304) => [
       q(Sira),
       ],
-   q(6306) => [
+   q(6305) => [
       q(Malawi Sena),
       ],
-   q(6307) => [
+   q(6306) => [
       q(Swedish Sign Language),
       ],
-   q(6308) => [
+   q(6307) => [
       q(Samosa),
       ],
-   q(6309) => [
+   q(6308) => [
       q(Sawknah),
       ],
-   q(6310) => [
+   q(6309) => [
       q(Shanenawa),
       ],
-   q(6311) => [
+   q(6310) => [
       q(Suau),
       ],
-   q(6312) => [
+   q(6311) => [
       q(Sharwa),
       ],
-   q(6313) => [
+   q(6312) => [
       q(Saweru),
       ],
-   q(6314) => [
+   q(6313) => [
       q(Seluwasan),
       ],
-   q(6315) => [
+   q(6314) => [
       q(Sawila),
       ],
-   q(6316) => [
+   q(6315) => [
       q(Suwawa),
       ],
-   q(6317) => [
+   q(6316) => [
       q(Shekhawati),
       ],
-   q(6318) => [
+   q(6317) => [
       q(Sowa),
       ],
-   q(6319) => [
+   q(6318) => [
       q(Suruaha),
       ],
-   q(6320) => [
+   q(6319) => [
       q(Sarua),
       ],
-   q(6321) => [
+   q(6320) => [
       q(Suba),
       ],
-   q(6322) => [
+   q(6321) => [
       q(Sicanian),
       ],
-   q(6323) => [
+   q(6322) => [
       q(Sighu),
       ],
-   q(6324) => [
+   q(6323) => [
       q(Shixing),
       ],
-   q(6325) => [
+   q(6324) => [
       q(Southern Kalapuya),
       ],
-   q(6326) => [
+   q(6325) => [
       q(Selian),
       ],
-   q(6327) => [
+   q(6326) => [
       q(Samre),
       ],
-   q(6328) => [
+   q(6327) => [
       q(Sangir),
       ],
-   q(6329) => [
+   q(6328) => [
       q(Sorothaptic),
       ],
-   q(6330) => [
+   q(6329) => [
       q(Saaroa),
       ],
-   q(6331) => [
+   q(6330) => [
       q(Sasaru),
       ],
-   q(6332) => [
+   q(6331) => [
       q(Upper Saxon),
       ],
-   q(6333) => [
+   q(6332) => [
       q(Saxwe Gbe),
       ],
-   q(6334) => [
+   q(6333) => [
       q(Siang),
       ],
-   q(6335) => [
+   q(6334) => [
       q(Central Subanen),
       ],
-   q(6336) => [
+   q(6335) => [
       q(Seki),
       ],
-   q(6337) => [
+   q(6336) => [
       q(Sukur),
       ],
-   q(6338) => [
+   q(6337) => [
       q(Sylheti),
       ],
-   q(6339) => [
+   q(6338) => [
       q(Maya Samo),
       ],
-   q(6340) => [
+   q(6339) => [
       q(Senaya),
       ],
-   q(6341) => [
+   q(6340) => [
       q(Suoy),
       ],
-   q(6342) => [
+   q(6341) => [
       q(Sinyar),
       ],
-   q(6343) => [
+   q(6342) => [
       q(Kagate),
       ],
-   q(6344) => [
+   q(6343) => [
       q(Samay),
       ],
-   q(6345) => [
+   q(6344) => [
       q(Al-Sayyid Bedouin Sign Language),
       ],
-   q(6346) => [
+   q(6345) => [
       q(Semelai),
       ],
-   q(6347) => [
+   q(6346) => [
       q(Ngalum),
       ],
-   q(6348) => [
+   q(6347) => [
       q(Semaq Beri),
       ],
-   q(6349) => [
+   q(6348) => [
       q(Seru),
       ],
-   q(6350) => [
+   q(6349) => [
       q(Seze),
       ],
-   q(6351) => [
+   q(6350) => [
       q(Sengele),
       ],
-   q(6352) => [
+   q(6351) => [
       q(Silesian),
       ],
-   q(6353) => [
+   q(6352) => [
       q(Sula),
       ],
-   q(6354) => [
+   q(6353) => [
       q(Suabo),
       ],
-   q(6355) => [
+   q(6354) => [
       q(Isu (Fako Division)),
       ],
-   q(6356) => [
+   q(6355) => [
       q(Sawai),
       ],
-   q(6357) => [
+   q(6356) => [
       q(Lower Tanana),
       ],
-   q(6358) => [
+   q(6357) => [
       q(Tabassaran),
       ],
-   q(6359) => [
+   q(6358) => [
       q(Lowland Tarahumara),
       ],
-   q(6360) => [
+   q(6359) => [
       q(Tause),
       ],
-   q(6361) => [
+   q(6360) => [
       q(Tariana),
       ],
-   q(6362) => [
+   q(6361) => [
       q(Tapirape),
       ],
-   q(6363) => [
+   q(6362) => [
       q(Tagoi),
       ],
-   q(6364) => [
+   q(6363) => [
       q(Eastern Tamang),
       ],
-   q(6365) => [
+   q(6364) => [
       q(Tala),
       ],
-   q(6366) => [
+   q(6365) => [
       q(Tal),
       ],
-   q(6367) => [
+   q(6366) => [
       q(Tangale),
       ],
-   q(6368) => [
+   q(6367) => [
       q(Yami),
       ],
-   q(6369) => [
+   q(6368) => [
       q(Taabwa),
       ],
-   q(6370) => [
+   q(6369) => [
       q(Tamasheq),
       ],
-   q(6371) => [
+   q(6370) => [
       q(Central Tarahumara),
       ],
-   q(6372) => [
+   q(6371) => [
       q(Tay Boi),
       ],
-   q(6373) => [
+   q(6372) => [
       q(Upper Tanana),
       ],
-   q(6374) => [
+   q(6373) => [
       q(Tatuyo),
       ],
-   q(6375) => [
+   q(6374) => [
       q(Tai),
       ],
-   q(6376) => [
+   q(6375) => [
       q(Tamki),
       ],
-   q(6377) => [
+   q(6376) => [
       q(Atayal),
       ],
-   q(6378) => [
+   q(6377) => [
       q(Tocho),
       ],
-   q(6379) => [
+   q(6378) => [
       q(Aikana),
       ],
-   q(6380) => [
+   q(6379) => [
       q(Tapeba),
       ],
-   q(6381) => [
+   q(6380) => [
       q(Takia),
       ],
-   q(6382) => [
+   q(6381) => [
       q(Kaki Ae),
       ],
-   q(6383) => [
+   q(6382) => [
       q(Tanimbili),
       ],
-   q(6384) => [
+   q(6383) => [
       q(Mandara),
       ],
-   q(6385) => [
+   q(6384) => [
       q(North Tairora),
       ],
-   q(6386) => [
+   q(6385) => [
       q(Thurawal),
       ],
-   q(6387) => [
+   q(6386) => [
       q(Gaam),
       ],
-   q(6388) => [
+   q(6387) => [
       q(Tiang),
       ],
-   q(6389) => [
+   q(6388) => [
       q(Calamian Tagbanwa),
       ],
-   q(6390) => [
+   q(6389) => [
       q(Tboli),
       ],
-   q(6391) => [
+   q(6390) => [
       q(Tagbu),
       ],
-   q(6392) => [
+   q(6391) => [
       q(Barro Negro Tunebo),
       ],
-   q(6393) => [
+   q(6392) => [
       q(Tawala),
       ],
-   q(6394) => [
+   q(6393) => [
       q(Taworta),
       q(Diebroud),
       ],
-   q(6395) => [
+   q(6394) => [
       q(Tumtum),
       ],
-   q(6396) => [
+   q(6395) => [
       q(Tanguat),
       ],
-   q(6397) => [
+   q(6396) => [
       q(Tembo (Kitembo)),
       ],
-   q(6398) => [
+   q(6397) => [
       q(Tubar),
       ],
-   q(6399) => [
+   q(6398) => [
       q(Tobo),
       ],
-   q(6400) => [
+   q(6399) => [
       q(Tagbanwa),
       ],
-   q(6401) => [
+   q(6400) => [
       q(Kapin),
       ],
-   q(6402) => [
+   q(6401) => [
       q(Tabaru),
       ],
-   q(6403) => [
+   q(6402) => [
       q(Ditammari),
       ],
-   q(6404) => [
+   q(6403) => [
       q(Ticuna),
       ],
-   q(6405) => [
+   q(6404) => [
       q(Tanacross),
       ],
-   q(6406) => [
+   q(6405) => [
       q(Datooga),
       ],
-   q(6407) => [
+   q(6406) => [
       q(Tafi),
       ],
-   q(6408) => [
+   q(6407) => [
       q(Southern Tutchone),
       ],
-   q(6409) => [
+   q(6408) => [
       q(Malinaltepec Me'phaa),
       q(Malinaltepec Tlapanec),
       ],
-   q(6410) => [
+   q(6409) => [
       q(Tamagario),
       ],
-   q(6411) => [
+   q(6410) => [
       q(Turks And Caicos Creole English),
       ],
-   q(6412) => [
+   q(6411) => [
       q(Wara),
       ],
-   q(6413) => [
+   q(6412) => [
       q(Tchitchege),
       ],
-   q(6414) => [
+   q(6413) => [
       q(Taman (Myanmar)),
       ],
-   q(6415) => [
+   q(6414) => [
       q(Tanahmerah),
       ],
-   q(6416) => [
+   q(6415) => [
       q(Tichurong),
       ],
-   q(6417) => [
+   q(6416) => [
       q(Taungyo),
       ],
-   q(6418) => [
+   q(6417) => [
       q(Tawr Chin),
       ],
-   q(6419) => [
+   q(6418) => [
       q(Kaiy),
       ],
-   q(6420) => [
+   q(6419) => [
       q(Torres Strait Creole),
       ],
-   q(6421) => [
+   q(6420) => [
       q(T'en),
       ],
-   q(6422) => [
+   q(6421) => [
       q(Southeastern Tarahumara),
       ],
-   q(6423) => [
+   q(6422) => [
       q(Tecpatlan Totonac),
       ],
-   q(6424) => [
+   q(6423) => [
       q(Toda),
       ],
-   q(6425) => [
+   q(6424) => [
       q(Tulu),
       ],
-   q(6426) => [
+   q(6425) => [
       q(Thado Chin),
       ],
-   q(6427) => [
+   q(6426) => [
       q(Tagdal),
       ],
-   q(6428) => [
+   q(6427) => [
       q(Panchpargania),
       ],
-   q(6429) => [
+   q(6428) => [
       q(Embera-Tado),
       ],
-   q(6430) => [
+   q(6429) => [
       q(Tai Nua),
       ],
-   q(6431) => [
+   q(6430) => [
       q(Tiranige Diga Dogon),
       ],
-   q(6432) => [
+   q(6431) => [
       q(Talieng),
       ],
-   q(6433) => [
+   q(6432) => [
       q(Western Tamang),
       ],
-   q(6434) => [
+   q(6433) => [
       q(Thulung),
       ],
-   q(6435) => [
+   q(6434) => [
       q(Tomadino),
       ],
-   q(6436) => [
+   q(6435) => [
       q(Tajio),
       ],
-   q(6437) => [
+   q(6436) => [
       q(Tambas),
       ],
-   q(6438) => [
+   q(6437) => [
       q(Sur),
       ],
-   q(6439) => [
+   q(6438) => [
       q(Tondano),
       ],
-   q(6440) => [
+   q(6439) => [
       q(Teme),
       ],
-   q(6441) => [
+   q(6440) => [
       q(Tita),
       ],
-   q(6442) => [
+   q(6441) => [
       q(Todrah),
       ],
-   q(6443) => [
+   q(6442) => [
       q(Doutai),
       ],
-   q(6444) => [
+   q(6443) => [
       q(Tetun Dili),
       ],
-   q(6445) => [
+   q(6444) => [
       q(Tempasuk Dusun),
       ],
-   q(6446) => [
+   q(6445) => [
       q(Toro),
       ],
-   q(6447) => [
+   q(6446) => [
       q(Tandroy-Mahafaly Malagasy),
       ],
-   q(6448) => [
+   q(6447) => [
       q(Tadyawan),
       ],
-   q(6449) => [
+   q(6448) => [
       q(Temiar),
       ],
-   q(6450) => [
+   q(6449) => [
       q(Tetete),
       ],
-   q(6451) => [
+   q(6450) => [
       q(Terik),
       ],
-   q(6452) => [
+   q(6451) => [
       q(Tepo Krumen),
       ],
-   q(6453) => [
+   q(6452) => [
       q(Huehuetla Tepehua),
       ],
-   q(6454) => [
+   q(6453) => [
       q(Teressa),
       ],
-   q(6455) => [
+   q(6454) => [
       q(Teke-Tege),
       ],
-   q(6456) => [
+   q(6455) => [
       q(Tehuelche),
       ],
-   q(6457) => [
+   q(6456) => [
       q(Torricelli),
       ],
-   q(6458) => [
+   q(6457) => [
       q(Ibali Teke),
       ],
-   q(6459) => [
+   q(6458) => [
       q(Tama (Colombia)),
       ],
-   q(6460) => [
+   q(6459) => [
       q(Teso),
       ],
-   q(6461) => [
+   q(6460) => [
       q(Tepecano),
       ],
-   q(6462) => [
+   q(6461) => [
       q(Temein),
       ],
-   q(6463) => [
+   q(6462) => [
       q(Tengger),
       ],
-   q(6464) => [
+   q(6463) => [
       q(Soo),
       ],
-   q(6465) => [
+   q(6464) => [
       q(Teor),
       ],
-   q(6466) => [
+   q(6465) => [
       q(Tewa (USA)),
       ],
-   q(6467) => [
+   q(6466) => [
       q(Tennet),
       ],
-   q(6468) => [
+   q(6467) => [
       q(Tulishi),
       ],
-   q(6469) => [
+   q(6468) => [
       q(Tofin Gbe),
       ],
-   q(6470) => [
+   q(6469) => [
       q(Tanaina),
       ],
-   q(6471) => [
+   q(6470) => [
       q(Tefaro),
       ],
-   q(6472) => [
+   q(6471) => [
       q(Teribe),
       ],
-   q(6473) => [
+   q(6472) => [
       q(Ternate),
       ],
-   q(6474) => [
+   q(6473) => [
       q(Sagalla),
       ],
-   q(6475) => [
+   q(6474) => [
       q(Tobilung),
       ],
-   q(6476) => [
+   q(6475) => [
       q(Tigak),
       ],
-   q(6477) => [
+   q(6476) => [
       q(Ciwogai),
       ],
-   q(6478) => [
+   q(6477) => [
       q(Eastern Gorkha Tamang),
       ],
-   q(6479) => [
+   q(6478) => [
       q(Chalikha),
       ],
-   q(6480) => [
+   q(6479) => [
       q(Tobagonian Creole English),
       ],
-   q(6481) => [
+   q(6480) => [
       q(Lawunuia),
       ],
-   q(6482) => [
+   q(6481) => [
       q(Tagin),
       ],
-   q(6483) => [
+   q(6482) => [
       q(Tandaganon),
       ],
-   q(6484) => [
+   q(6483) => [
       q(Sudest),
       ],
-   q(6485) => [
+   q(6484) => [
       q(Tangoa),
       ],
-   q(6486) => [
+   q(6485) => [
       q(Tring),
       ],
-   q(6487) => [
+   q(6486) => [
       q(Tareng),
       ],
-   q(6488) => [
+   q(6487) => [
       q(Nume),
       ],
-   q(6489) => [
+   q(6488) => [
       q(Central Tagbanwa),
       ],
-   q(6490) => [
+   q(6489) => [
       q(Tanggu),
       ],
-   q(6491) => [
+   q(6490) => [
       q(Tingui-Boto),
       ],
-   q(6492) => [
+   q(6491) => [
       q(Tagwana Senoufo),
       ],
-   q(6493) => [
+   q(6492) => [
       q(Tagish),
       ],
-   q(6494) => [
+   q(6493) => [
       q(Togoyo),
       ],
-   q(6495) => [
+   q(6494) => [
       q(Tagalaka),
       ],
-   q(6496) => [
+   q(6495) => [
       q(Tai Hang Tong),
       ],
-   q(6497) => [
+   q(6496) => [
       q(Thayore),
       ],
-   q(6498) => [
+   q(6497) => [
       q(Chitwania Tharu),
       ],
-   q(6499) => [
+   q(6498) => [
       q(Thangmi),
       ],
-   q(6500) => [
+   q(6499) => [
       q(Northern Tarahumara),
       ],
-   q(6501) => [
+   q(6500) => [
       q(Tai Long),
       ],
-   q(6502) => [
+   q(6501) => [
       q(Tharaka),
       q(Kitharaka),
       ],
-   q(6503) => [
+   q(6502) => [
       q(Dangaura Tharu),
       ],
-   q(6504) => [
+   q(6503) => [
       q(Aheu),
       ],
-   q(6505) => [
+   q(6504) => [
       q(Thachanadan),
       ],
-   q(6506) => [
+   q(6505) => [
       q(Thompson),
       ],
-   q(6507) => [
+   q(6506) => [
       q(Kochila Tharu),
       ],
-   q(6508) => [
+   q(6507) => [
       q(Rana Tharu),
       ],
-   q(6509) => [
+   q(6508) => [
       q(Thakali),
       ],
-   q(6510) => [
+   q(6509) => [
       q(Tahltan),
       ],
-   q(6511) => [
+   q(6510) => [
       q(Thuri),
       ],
-   q(6512) => [
+   q(6511) => [
       q(Tahaggart Tamahaq),
       ],
-   q(6513) => [
+   q(6512) => [
       q(Thudam),
       ],
-   q(6514) => [
+   q(6513) => [
       q(Tha),
       ],
-   q(6515) => [
+   q(6514) => [
       q(Tayart Tamajeq),
       ],
-   q(6516) => [
+   q(6515) => [
       q(Tidikelt Tamazight),
       ],
-   q(6517) => [
+   q(6516) => [
       q(Tira),
       ],
-   q(6518) => [
+   q(6517) => [
       q(Tidong),
       ],
-   q(6519) => [
+   q(6518) => [
       q(Tifal),
       ],
-   q(6520) => [
+   q(6519) => [
       q(Timugon Murut),
       ],
-   q(6521) => [
+   q(6520) => [
       q(Tiene),
       ],
-   q(6522) => [
+   q(6521) => [
       q(Tilung),
       ],
-   q(6523) => [
+   q(6522) => [
       q(Tikar),
       ],
-   q(6524) => [
+   q(6523) => [
       q(Tillamook),
       ],
-   q(6525) => [
+   q(6524) => [
       q(Timbe),
       ],
-   q(6526) => [
+   q(6525) => [
       q(Tindi),
       ],
-   q(6527) => [
+   q(6526) => [
       q(Teop),
       ],
-   q(6528) => [
+   q(6527) => [
       q(Trimuris),
       ],
-   q(6529) => [
+   q(6528) => [
       q(Tiefo),
       ],
-   q(6530) => [
+   q(6529) => [
       q(Masadiit Itneg),
       ],
-   q(6531) => [
+   q(6530) => [
       q(Tinigua),
       ],
-   q(6532) => [
+   q(6531) => [
       q(Adasen),
       ],
-   q(6533) => [
+   q(6532) => [
       q(Tiwi),
       ],
-   q(6534) => [
+   q(6533) => [
       q(Southern Tiwa),
       ],
-   q(6535) => [
+   q(6534) => [
       q(Tiruray),
       ],
-   q(6536) => [
+   q(6535) => [
       q(Tai Hongjin),
       ],
-   q(6537) => [
+   q(6536) => [
       q(Tajuasohn),
       ],
-   q(6538) => [
+   q(6537) => [
       q(Tunjung),
       ],
-   q(6539) => [
+   q(6538) => [
       q(Northern Tujia),
       ],
-   q(6540) => [
+   q(6539) => [
       q(Tai Laing),
       ],
-   q(6541) => [
+   q(6540) => [
       q(Timucua),
       ],
-   q(6542) => [
+   q(6541) => [
       q(Tonjon),
       ],
-   q(6543) => [
+   q(6542) => [
       q(Temacine Tamazight),
       ],
-   q(6544) => [
+   q(6543) => [
       q(Southern Tujia),
       ],
-   q(6545) => [
+   q(6544) => [
       q(Tjurruru),
       ],
-   q(6546) => [
+   q(6545) => [
       q(Djabwurrung),
       ],
-   q(6547) => [
+   q(6546) => [
       q(Truka),
       ],
-   q(6548) => [
+   q(6547) => [
       q(Buksa),
       ],
-   q(6549) => [
+   q(6548) => [
       q(Tukudede),
       ],
-   q(6550) => [
+   q(6549) => [
       q(Takwane),
       ],
-   q(6551) => [
+   q(6550) => [
       q(Tukumanfed),
       ],
-   q(6552) => [
+   q(6551) => [
       q(Tesaka Malagasy),
       ],
-   q(6553) => [
+   q(6552) => [
       q(Takelma),
       ],
-   q(6554) => [
+   q(6553) => [
       q(Toku-No-Shima),
       ],
-   q(6555) => [
+   q(6554) => [
       q(Tikopia),
       ],
-   q(6556) => [
+   q(6555) => [
       q(Tee),
       ],
-   q(6557) => [
+   q(6556) => [
       q(Tsakhur),
       ],
-   q(6558) => [
+   q(6557) => [
       q(Takestani),
       ],
-   q(6559) => [
+   q(6558) => [
       q(Kathoriya Tharu),
       ],
-   q(6560) => [
+   q(6559) => [
       q(Upper Necaxa Totonac),
       ],
-   q(6561) => [
+   q(6560) => [
       q(Mur Pano),
       ],
-   q(6562) => [
+   q(6561) => [
       q(Teanu),
       ],
-   q(6563) => [
+   q(6562) => [
       q(Tangko),
       ],
-   q(6564) => [
+   q(6563) => [
       q(Takua),
       ],
-   q(6565) => [
+   q(6564) => [
       q(Southwestern Tepehuan),
       ],
-   q(6566) => [
+   q(6565) => [
       q(Tobelo),
       ],
-   q(6567) => [
+   q(6566) => [
       q(Yecuatla Totonac),
       ],
-   q(6568) => [
+   q(6567) => [
       q(Talaud),
       ],
-   q(6569) => [
+   q(6568) => [
       q(Telefol),
       ],
-   q(6570) => [
+   q(6569) => [
       q(Tofanma),
       ],
-   q(6571) => [
+   q(6570) => [
       q(Talinga-Bwisi),
       ],
-   q(6572) => [
+   q(6571) => [
       q(Taloki),
       ],
-   q(6573) => [
+   q(6572) => [
       q(Tetela),
       ],
-   q(6574) => [
+   q(6573) => [
       q(Tolomako),
       ],
-   q(6575) => [
+   q(6574) => [
       q(Talondo'),
       ],
-   q(6576) => [
+   q(6575) => [
       q(Talodi),
       ],
-   q(6577) => [
+   q(6576) => [
       q(Filomena Mata-Coahuitlan Totonac),
       ],
-   q(6578) => [
+   q(6577) => [
       q(Tai Loi),
       ],
-   q(6579) => [
+   q(6578) => [
       q(Talise),
       ],
-   q(6580) => [
+   q(6579) => [
       q(Tambotalo),
       ],
-   q(6581) => [
+   q(6580) => [
       q(Teluti),
       ],
-   q(6582) => [
+   q(6581) => [
       q(Tulehu),
       ],
-   q(6583) => [
+   q(6582) => [
       q(Taliabu),
       ],
-   q(6584) => [
+   q(6583) => [
       q(Khehek),
       ],
-   q(6585) => [
+   q(6584) => [
       q(Talysh),
       ],
-   q(6586) => [
+   q(6585) => [
       q(Tama (Chad)),
       ],
-   q(6587) => [
+   q(6586) => [
       q(Katbol),
       q(Avava),
       ],
-   q(6588) => [
+   q(6587) => [
       q(Tumak),
       ],
-   q(6589) => [
+   q(6588) => [
       q(Haruai),
       ],
-   q(6590) => [
+   q(6589) => [
       q(Tremembe),
       ],
-   q(6591) => [
+   q(6590) => [
       q(Toba-Maskoy),
       ],
-   q(6592) => [
+   q(6591) => [
       q(Ternateno),
       ],
-   q(6593) => [
+   q(6592) => [
       q(Tutuba),
       ],
-   q(6594) => [
+   q(6593) => [
       q(Samarokena),
       ],
-   q(6595) => [
+   q(6594) => [
       q(Northwestern Tamang),
       ],
-   q(6596) => [
+   q(6595) => [
       q(Tamnim Citak),
       ],
-   q(6597) => [
+   q(6596) => [
       q(Tai Thanh),
       ],
-   q(6598) => [
+   q(6597) => [
       q(Taman (Indonesia)),
       ],
-   q(6599) => [
+   q(6598) => [
       q(Temoq),
       ],
-   q(6600) => [
+   q(6599) => [
       q(Tai Mene),
       ],
-   q(6601) => [
+   q(6600) => [
       q(Tumleo),
       ],
-   q(6602) => [
+   q(6601) => [
       q(Jewish Babylonian Aramaic (ca. 200-1200 CE)),
       ],
-   q(6603) => [
+   q(6602) => [
       q(Tima),
       ],
-   q(6604) => [
+   q(6603) => [
       q(Tasmate),
       ],
-   q(6605) => [
+   q(6604) => [
       q(Iau),
       ],
-   q(6606) => [
+   q(6605) => [
       q(Tembo (Motembo)),
       ],
-   q(6607) => [
+   q(6606) => [
       q(Temuan),
       ],
-   q(6608) => [
+   q(6607) => [
       q(Tami),
       ],
-   q(6609) => [
+   q(6608) => [
       q(Tamanaku),
       ],
-   q(6610) => [
+   q(6609) => [
       q(Tacana),
       ],
-   q(6611) => [
+   q(6610) => [
       q(Western Tunebo),
       ],
-   q(6612) => [
+   q(6611) => [
       q(Tanimuca-Retuara),
       ],
-   q(6613) => [
+   q(6612) => [
       q(Angosturas Tunebo),
       ],
-   q(6614) => [
+   q(6613) => [
       q(Tinoc Kallahan),
       ],
-   q(6615) => [
+   q(6614) => [
       q(Tobanga),
       ],
-   q(6616) => [
+   q(6615) => [
       q(Maiani),
       ],
-   q(6617) => [
+   q(6616) => [
       q(Tandia),
       ],
-   q(6618) => [
+   q(6617) => [
       q(Kwamera),
       ],
-   q(6619) => [
+   q(6618) => [
       q(Lenakel),
       ],
-   q(6620) => [
+   q(6619) => [
       q(Tabla),
       ],
-   q(6621) => [
+   q(6620) => [
       q(North Tanna),
       ],
-   q(6622) => [
+   q(6621) => [
       q(Toromono),
       ],
-   q(6623) => [
+   q(6622) => [
       q(Whitesands),
       ],
-   q(6624) => [
+   q(6623) => [
       q(Taino),
       ],
-   q(6625) => [
+   q(6624) => [
       q(Menik),
       ],
-   q(6626) => [
+   q(6625) => [
       q(Tenis),
       ],
-   q(6627) => [
+   q(6626) => [
       q(Tontemboan),
       ],
-   q(6628) => [
+   q(6627) => [
       q(Tay Khang),
       ],
-   q(6629) => [
+   q(6628) => [
       q(Tangchangya),
       ],
-   q(6630) => [
+   q(6629) => [
       q(Tonsawang),
       ],
-   q(6631) => [
+   q(6630) => [
       q(Tanema),
       ],
-   q(6632) => [
+   q(6631) => [
       q(Tongwe),
       ],
-   q(6633) => [
+   q(6632) => [
       q(Tonga (Thailand)),
       ],
-   q(6634) => [
+   q(6633) => [
       q(Toba),
       ],
-   q(6635) => [
+   q(6634) => [
       q(Coyutla Totonac),
       ],
-   q(6636) => [
+   q(6635) => [
       q(Toma),
       ],
-   q(6637) => [
+   q(6636) => [
       q(Tomedes),
       ],
-   q(6638) => [
+   q(6637) => [
       q(Gizrra),
       ],
-   q(6639) => [
+   q(6638) => [
       q(Gitonga),
       ],
-   q(6640) => [
+   q(6639) => [
       q(Tonga (Zambia)),
       ],
-   q(6641) => [
+   q(6640) => [
       q(Tojolabal),
       ],
-   q(6642) => [
+   q(6641) => [
       q(Tolowa),
       ],
-   q(6643) => [
+   q(6642) => [
       q(Tombulu),
       ],
-   q(6644) => [
+   q(6643) => [
       q(Xicotepec De Juarez Totonac),
       ],
-   q(6645) => [
+   q(6644) => [
       q(Papantla Totonac),
       ],
-   q(6646) => [
+   q(6645) => [
       q(Toposa),
       ],
-   q(6647) => [
+   q(6646) => [
       q(Togbo-Vara Banda),
       ],
-   q(6648) => [
+   q(6647) => [
       q(Highland Totonac),
       ],
-   q(6649) => [
+   q(6648) => [
       q(Tho),
       ],
-   q(6650) => [
+   q(6649) => [
       q(Upper Taromi),
       ],
-   q(6651) => [
+   q(6650) => [
       q(Jemez),
       ],
-   q(6652) => [
+   q(6651) => [
       q(Tobian),
       ],
-   q(6653) => [
+   q(6652) => [
       q(Topoiyo),
       ],
-   q(6654) => [
+   q(6653) => [
       q(To),
       ],
-   q(6655) => [
+   q(6654) => [
       q(Taupota),
       ],
-   q(6656) => [
+   q(6655) => [
       q(Azoyu Me'phaa),
       q(Azoyu Tlapanec),
       ],
-   q(6657) => [
+   q(6656) => [
       q(Tippera),
       ],
-   q(6658) => [
+   q(6657) => [
       q(Tarpia),
       ],
-   q(6659) => [
+   q(6658) => [
       q(Kula),
       ],
-   q(6660) => [
+   q(6659) => [
       q(Tapiete),
       ],
-   q(6661) => [
+   q(6660) => [
       q(Tupinikin),
       ],
-   q(6662) => [
+   q(6661) => [
       q(Tlacoapa Me'phaa),
       q(Tlacoapa Tlapanec),
       ],
-   q(6663) => [
+   q(6662) => [
       q(Tampulma),
       ],
-   q(6664) => [
+   q(6663) => [
       q(Tupinamba),
       ],
-   q(6665) => [
+   q(6664) => [
       q(Tai Pao),
       ],
-   q(6666) => [
+   q(6665) => [
       q(Pisaflores Tepehua),
       ],
-   q(6667) => [
+   q(6666) => [
       q(Tukpa),
       ],
-   q(6668) => [
+   q(6667) => [
       q(Tupari),
       ],
-   q(6669) => [
+   q(6668) => [
       q(Tlachichilco Tepehua),
       ],
-   q(6670) => [
+   q(6669) => [
       q(Tampuan),
       ],
-   q(6671) => [
+   q(6670) => [
       q(Tanapag),
       ],
-   q(6672) => [
+   q(6671) => [
       q(Tupi),
       ],
-   q(6673) => [
+   q(6672) => [
       q(Acatepec Me'phaa),
       q(Acatepec Tlapanec),
       ],
-   q(6674) => [
+   q(6673) => [
       q(Trumai),
       ],
-   q(6675) => [
+   q(6674) => [
       q(Tinputz),
       ],
-   q(6676) => [
+   q(6675) => [
       q(Tembe),
       ],
-   q(6677) => [
+   q(6676) => [
       q(Lehali),
       ],
-   q(6678) => [
+   q(6677) => [
       q(Turumsa),
       ],
-   q(6679) => [
+   q(6678) => [
       q(Tenino),
       ],
-   q(6680) => [
+   q(6679) => [
       q(Toaripi),
       ],
-   q(6681) => [
+   q(6680) => [
       q(Tomoip),
       ],
-   q(6682) => [
+   q(6681) => [
       q(Tunni),
       ],
-   q(6683) => [
+   q(6682) => [
       q(Torona),
       ],
-   q(6684) => [
+   q(6683) => [
       q(Western Totonac),
       ],
-   q(6685) => [
+   q(6684) => [
       q(Touo),
       ],
-   q(6686) => [
+   q(6685) => [
       q(Tonkawa),
       ],
-   q(6687) => [
+   q(6686) => [
       q(Tirahi),
       ],
-   q(6688) => [
+   q(6687) => [
       q(Terebu),
       ],
-   q(6689) => [
+   q(6688) => [
       q(Copala Triqui),
       ],
-   q(6690) => [
+   q(6689) => [
       q(Turi),
       ],
-   q(6691) => [
+   q(6690) => [
       q(East Tarangan),
       ],
-   q(6692) => [
+   q(6691) => [
       q(Trinidadian Creole English),
       ],
-   q(6693) => [
+   q(6692) => [
       q(Lishan Didan),
       ],
-   q(6694) => [
+   q(6693) => [
       q(Turaka),
       ],
-   q(6695) => [
+   q(6694) => [
       q(Trio),
       ],
-   q(6696) => [
+   q(6695) => [
       q(Toram),
       ],
-   q(6697) => [
+   q(6696) => [
       q(Traveller Scottish),
       ],
-   q(6698) => [
+   q(6697) => [
       q(Tregami),
       ],
-   q(6699) => [
+   q(6698) => [
       q(Trinitario),
       ],
-   q(6700) => [
+   q(6699) => [
       q(Tarao Naga),
       ],
-   q(6701) => [
+   q(6700) => [
       q(Kok Borok),
       ],
-   q(6702) => [
+   q(6701) => [
       q(San Martin Itunyoso Triqui),
       ],
-   q(6703) => [
+   q(6702) => [
       q(Taushiro),
       ],
-   q(6704) => [
+   q(6703) => [
       q(Chicahuaxtla Triqui),
       ],
-   q(6705) => [
+   q(6704) => [
       q(Tunggare),
       ],
-   q(6706) => [
+   q(6705) => [
       q(Turoyo),
       q(Surayt),
       ],
-   q(6707) => [
+   q(6706) => [
       q(Taroko),
       ],
-   q(6708) => [
+   q(6707) => [
       q(Torwali),
       ],
-   q(6709) => [
+   q(6708) => [
       q(Tringgus-Sembaan Bidayuh),
       ],
-   q(6710) => [
+   q(6709) => [
       q(Turung),
       ],
-   q(6711) => [
+   q(6710) => [
       q(Tora),
       ],
-   q(6712) => [
+   q(6711) => [
       q(Tsaangi),
       ],
-   q(6713) => [
+   q(6712) => [
       q(Tsamai),
       ],
-   q(6714) => [
+   q(6713) => [
       q(Tswa),
       ],
-   q(6715) => [
+   q(6714) => [
       q(Tsakonian),
       ],
-   q(6716) => [
+   q(6715) => [
       q(Tunisian Sign Language),
       ],
-   q(6717) => [
+   q(6716) => [
       q(Tausug),
       ],
-   q(6718) => [
+   q(6717) => [
       q(Tsuvan),
       ],
-   q(6719) => [
+   q(6718) => [
       q(Tshangla),
       ],
-   q(6720) => [
+   q(6719) => [
       q(Tseku),
       ],
-   q(6721) => [
+   q(6720) => [
       q(Ts'un-Lao),
       ],
-   q(6722) => [
+   q(6721) => [
       q(Turkish Sign Language),
       q(Turk Isaret Dili),
       ],
-   q(6723) => [
+   q(6722) => [
       q(Northern Toussian),
       ],
-   q(6724) => [
+   q(6723) => [
       q(Thai Sign Language),
       ],
-   q(6725) => [
+   q(6724) => [
       q(Akei),
       ],
-   q(6726) => [
+   q(6725) => [
       q(Taiwan Sign Language),
       ],
-   q(6727) => [
+   q(6726) => [
       q(Tondi Songway Kiini),
       ],
-   q(6728) => [
+   q(6727) => [
       q(Tsou),
       ],
-   q(6729) => [
+   q(6728) => [
       q(Tsogo),
       ],
-   q(6730) => [
+   q(6729) => [
       q(Tsishingini),
       ],
-   q(6731) => [
+   q(6730) => [
       q(Mubami),
       ],
-   q(6732) => [
+   q(6731) => [
       q(Tebul Sign Language),
       ],
-   q(6733) => [
+   q(6732) => [
       q(Purepecha),
       ],
-   q(6734) => [
+   q(6733) => [
       q(Tutelo),
       ],
-   q(6735) => [
+   q(6734) => [
       q(Gaa),
       ],
-   q(6736) => [
+   q(6735) => [
       q(Tektiteko),
       ],
-   q(6737) => [
+   q(6736) => [
       q(Tauade),
       ],
-   q(6738) => [
+   q(6737) => [
       q(Bwanabwana),
       ],
-   q(6739) => [
+   q(6738) => [
       q(Tuotomb),
       ],
-   q(6740) => [
+   q(6739) => [
       q(Tutong),
       ],
-   q(6741) => [
+   q(6740) => [
       q(Upper Ta'oih),
       ],
-   q(6742) => [
+   q(6741) => [
       q(Tobati),
       ],
-   q(6743) => [
+   q(6742) => [
       q(Tooro),
       ],
-   q(6744) => [
+   q(6743) => [
       q(Totoro),
       ],
-   q(6745) => [
+   q(6744) => [
       q(Totela),
       ],
-   q(6746) => [
+   q(6745) => [
       q(Northern Tutchone),
       ],
-   q(6747) => [
+   q(6746) => [
       q(Towei),
       ],
-   q(6748) => [
+   q(6747) => [
       q(Lower Ta'oih),
       ],
-   q(6749) => [
+   q(6748) => [
       q(Tombelala),
       ],
-   q(6750) => [
+   q(6749) => [
       q(Tawallammat Tamajaq),
       ],
-   q(6751) => [
+   q(6750) => [
       q(Tera),
       ],
-   q(6752) => [
+   q(6751) => [
       q(Northeastern Thai),
       ],
-   q(6753) => [
+   q(6752) => [
       q(Muslim Tat),
       ],
-   q(6754) => [
+   q(6753) => [
       q(Torau),
       ],
-   q(6755) => [
+   q(6754) => [
       q(Titan),
       ],
-   q(6756) => [
+   q(6755) => [
       q(Long Wat),
       ],
-   q(6757) => [
+   q(6756) => [
       q(Sikaritai),
       ],
-   q(6758) => [
+   q(6757) => [
       q(Tsum),
       ],
-   q(6759) => [
+   q(6758) => [
       q(Wiarumus),
       ],
-   q(6760) => [
+   q(6759) => [
       q(Tubatulabal),
       ],
-   q(6761) => [
+   q(6760) => [
       q(Mutu),
       ],
-   q(6762) => [
+   q(6761) => [
       q(Tuxa),
       ],
-   q(6763) => [
+   q(6762) => [
       q(Tuyuca),
       ],
-   q(6764) => [
+   q(6763) => [
       q(Central Tunebo),
       ],
-   q(6765) => [
+   q(6764) => [
       q(Tunia),
       ],
-   q(6766) => [
+   q(6765) => [
       q(Taulil),
       ],
-   q(6767) => [
+   q(6766) => [
       q(Tupuri),
       ],
-   q(6768) => [
+   q(6767) => [
       q(Tugutil),
       ],
-   q(6769) => [
+   q(6768) => [
       q(Tula),
       ],
-   q(6770) => [
+   q(6769) => [
       q(Tunica),
       ],
-   q(6771) => [
+   q(6770) => [
       q(Tucano),
       ],
-   q(6772) => [
+   q(6771) => [
       q(Tedaga),
       ],
-   q(6773) => [
+   q(6772) => [
       q(Tuscarora),
       ],
-   q(6774) => [
+   q(6773) => [
       q(Tututni),
       ],
-   q(6775) => [
+   q(6774) => [
       q(Turkana),
       ],
-   q(6776) => [
+   q(6775) => [
       q(Tuxinawa),
       ],
-   q(6777) => [
+   q(6776) => [
       q(Tugen),
       ],
-   q(6778) => [
+   q(6777) => [
       q(Turka),
       ],
-   q(6779) => [
+   q(6778) => [
       q(Vaghua),
       ],
-   q(6780) => [
+   q(6779) => [
       q(Tsuvadi),
       ],
-   q(6781) => [
+   q(6780) => [
       q(Te'un),
       ],
-   q(6782) => [
+   q(6781) => [
       q(Southeast Ambrym),
       ],
-   q(6783) => [
+   q(6782) => [
       q(Tela-Masbuar),
       ],
-   q(6784) => [
+   q(6783) => [
       q(Tavoyan),
       ],
-   q(6785) => [
+   q(6784) => [
       q(Tidore),
       ],
-   q(6786) => [
+   q(6785) => [
       q(Taveta),
       ],
-   q(6787) => [
+   q(6786) => [
       q(Tutsa Naga),
       ],
-   q(6788) => [
+   q(6787) => [
       q(Tunen),
       ],
-   q(6789) => [
+   q(6788) => [
       q(Sedoa),
       ],
-   q(6790) => [
+   q(6789) => [
       q(Timor Pidgin),
       ],
-   q(6791) => [
+   q(6790) => [
       q(Twana),
       ],
-   q(6792) => [
+   q(6791) => [
       q(Western Tawbuid),
       ],
-   q(6793) => [
+   q(6792) => [
       q(Teshenawa),
       ],
-   q(6794) => [
+   q(6793) => [
       q(Twents),
       ],
-   q(6795) => [
+   q(6794) => [
       q(Tewa (Indonesia)),
       ],
-   q(6796) => [
+   q(6795) => [
       q(Northern Tiwa),
       ],
-   q(6797) => [
+   q(6796) => [
       q(Tereweng),
       ],
-   q(6798) => [
+   q(6797) => [
       q(Tai Don),
       ],
-   q(6799) => [
+   q(6798) => [
       q(Tawara),
       ],
-   q(6800) => [
+   q(6799) => [
       q(Tawang Monpa),
       ],
-   q(6801) => [
+   q(6800) => [
       q(Twendi),
       ],
-   q(6802) => [
+   q(6801) => [
       q(Tswapong),
       ],
-   q(6803) => [
+   q(6802) => [
       q(Ere),
       ],
-   q(6804) => [
+   q(6803) => [
       q(Tasawaq),
       ],
-   q(6805) => [
+   q(6804) => [
       q(Southwestern Tarahumara),
       ],
-   q(6806) => [
+   q(6805) => [
       q(Turiwara),
       ],
-   q(6807) => [
+   q(6806) => [
       q(Termanu),
       ],
-   q(6808) => [
+   q(6807) => [
       q(Tuwari),
       ],
-   q(6809) => [
+   q(6808) => [
       q(Tewe),
       ],
-   q(6810) => [
+   q(6809) => [
       q(Tawoyan),
       ],
-   q(6811) => [
+   q(6810) => [
       q(Tombonuo),
       ],
-   q(6812) => [
+   q(6811) => [
       q(Tokharian B),
       ],
-   q(6813) => [
+   q(6812) => [
       q(Tsetsaut),
       ],
-   q(6814) => [
+   q(6813) => [
       q(Totoli),
       ],
-   q(6815) => [
+   q(6814) => [
       q(Tangut),
       ],
-   q(6816) => [
+   q(6815) => [
       q(Thracian),
       ],
-   q(6817) => [
+   q(6816) => [
       q(Ikpeng),
       ],
-   q(6818) => [
+   q(6817) => [
       q(Tarjumo),
       ],
-   q(6819) => [
+   q(6818) => [
       q(Tomini),
       ],
-   q(6820) => [
+   q(6819) => [
       q(West Tarangan),
       ],
-   q(6821) => [
+   q(6820) => [
       q(Toto),
       ],
-   q(6822) => [
+   q(6821) => [
       q(Tii),
       ],
-   q(6823) => [
+   q(6822) => [
       q(Tartessian),
       ],
-   q(6824) => [
+   q(6823) => [
       q(Tonsea),
       ],
-   q(6825) => [
+   q(6824) => [
       q(Citak),
       ],
-   q(6826) => [
+   q(6825) => [
       q(Kayapo),
       ],
-   q(6827) => [
+   q(6826) => [
       q(Tatana),
       ],
-   q(6828) => [
+   q(6827) => [
       q(Tanosy Malagasy),
       ],
-   q(6829) => [
+   q(6828) => [
       q(Tauya),
       ],
-   q(6830) => [
+   q(6829) => [
       q(Kyanga),
       ],
-   q(6831) => [
+   q(6830) => [
       q(O'du),
       ],
-   q(6832) => [
+   q(6831) => [
       q(Teke-Tsaayi),
       ],
-   q(6833) => [
+   q(6832) => [
       q(Tai Do),
       ],
-   q(6834) => [
+   q(6833) => [
       q(Thu Lao),
       ],
-   q(6835) => [
+   q(6834) => [
       q(Kombai),
       ],
-   q(6836) => [
+   q(6835) => [
       q(Thaypan),
       ],
-   q(6837) => [
+   q(6836) => [
       q(Tai Daeng),
       ],
-   q(6838) => [
+   q(6837) => [
       q(Tay Sa Pa),
       ],
-   q(6839) => [
+   q(6838) => [
       q(Tay Tac),
       ],
-   q(6840) => [
+   q(6839) => [
       q(Kua),
       ],
-   q(6841) => [
+   q(6840) => [
       q(Teke-Tyee),
       ],
-   q(6842) => [
+   q(6841) => [
       q(Tay),
       ],
-   q(6843) => [
+   q(6842) => [
       q(Tanzanian Sign Language),
       ],
-   q(6844) => [
+   q(6843) => [
       q(Tzeltal),
       ],
-   q(6845) => [
+   q(6844) => [
       q(Tz'utujil),
       ],
-   q(6846) => [
+   q(6845) => [
       q(Talossan),
       ],
-   q(6847) => [
+   q(6846) => [
       q(Central Atlas Tamazight),
       ],
-   q(6848) => [
+   q(6847) => [
       q(Tugun),
       ],
-   q(6849) => [
+   q(6848) => [
       q(Tzotzil),
       ],
-   q(6850) => [
+   q(6849) => [
       q(Tabriak),
       ],
-   q(6851) => [
+   q(6850) => [
       q(Uamue),
       ],
-   q(6852) => [
+   q(6851) => [
       q(Kuan),
       ],
-   q(6853) => [
+   q(6852) => [
       q(Tairuma),
       ],
-   q(6854) => [
+   q(6853) => [
       q(Ubang),
       ],
-   q(6855) => [
+   q(6854) => [
       q(Ubi),
       ],
-   q(6856) => [
+   q(6855) => [
       q(Buhi'non Bikol),
       ],
-   q(6857) => [
+   q(6856) => [
       q(Ubir),
       ],
-   q(6858) => [
+   q(6857) => [
       q(Umbu-Ungu),
       ],
-   q(6859) => [
+   q(6858) => [
       q(Ubykh),
       ],
-   q(6860) => [
+   q(6859) => [
       q(Uda),
       ],
-   q(6861) => [
+   q(6860) => [
       q(Udihe),
       ],
-   q(6862) => [
+   q(6861) => [
       q(Muduga),
       ],
-   q(6863) => [
+   q(6862) => [
       q(Udi),
       ],
-   q(6864) => [
+   q(6863) => [
       q(Ujir),
       ],
-   q(6865) => [
+   q(6864) => [
       q(Wuzlam),
       ],
-   q(6866) => [
+   q(6865) => [
       q(Uduk),
       ],
-   q(6867) => [
+   q(6866) => [
       q(Kioko),
       ],
-   q(6868) => [
+   q(6867) => [
       q(Ufim),
       ],
-   q(6869) => [
+   q(6868) => [
       q(Kuku-Ugbanh),
       ],
-   q(6870) => [
+   q(6869) => [
       q(Ughele),
       ],
-   q(6871) => [
+   q(6870) => [
       q(Ugandan Sign Language),
       ],
-   q(6872) => [
+   q(6871) => [
       q(Ugong),
       ],
-   q(6873) => [
+   q(6872) => [
       q(Uruguayan Sign Language),
       ],
-   q(6874) => [
+   q(6873) => [
       q(Uhami),
       ],
-   q(6875) => [
+   q(6874) => [
       q(Damal),
       ],
-   q(6876) => [
+   q(6875) => [
       q(Uisai),
       ],
-   q(6877) => [
+   q(6876) => [
       q(Iyive),
       ],
-   q(6878) => [
+   q(6877) => [
       q(Tanjijili),
       ],
-   q(6879) => [
+   q(6878) => [
       q(Kaburi),
       ],
-   q(6880) => [
+   q(6879) => [
       q(Ukuriguma),
       ],
-   q(6881) => [
+   q(6880) => [
       q(Ukhwejo),
       ],
-   q(6882) => [
+   q(6881) => [
       q(Ukrainian Sign Language),
       ],
-   q(6883) => [
+   q(6882) => [
       q(Ukpe-Bayobiri),
       ],
-   q(6884) => [
+   q(6883) => [
       q(Ukwa),
       ],
-   q(6885) => [
+   q(6884) => [
       q(Urubu-Kaapor Sign Language),
       q(Kaapor Sign Language),
       ],
-   q(6886) => [
+   q(6885) => [
       q(Ukue),
       ],
-   q(6887) => [
+   q(6886) => [
       q(Ukwuani-Aboh-Ndoni),
       ],
-   q(6888) => [
+   q(6887) => [
       q(Kuuk-Yak),
       ],
-   q(6889) => [
+   q(6888) => [
       q(Fungwa),
       ],
-   q(6890) => [
+   q(6889) => [
       q(Ulukwumi),
       ],
-   q(6891) => [
+   q(6890) => [
       q(Ulch),
       ],
-   q(6892) => [
+   q(6891) => [
       q(Lule),
       ],
-   q(6893) => [
+   q(6892) => [
       q(Usku),
       q(Afra),
       ],
-   q(6894) => [
+   q(6893) => [
       q(Ulithian),
       ],
-   q(6895) => [
+   q(6894) => [
       q(Meriam),
       ],
-   q(6896) => [
+   q(6895) => [
       q(Ullatan),
       ],
-   q(6897) => [
+   q(6896) => [
       q(Ulumanda'),
       ],
-   q(6898) => [
+   q(6897) => [
       q(Unserdeutsch),
       ],
-   q(6899) => [
+   q(6898) => [
       q(Uma' Lung),
       ],
-   q(6900) => [
+   q(6899) => [
       q(Ulwa),
       ],
-   q(6901) => [
+   q(6900) => [
       q(Umatilla),
       ],
-   q(6902) => [
+   q(6901) => [
       q(Marrucinian),
       ],
-   q(6903) => [
+   q(6902) => [
       q(Umbindhamu),
       ],
-   q(6904) => [
+   q(6903) => [
       q(Umbuygamu),
       ],
-   q(6905) => [
+   q(6904) => [
       q(Ukit),
       ],
-   q(6906) => [
+   q(6905) => [
       q(Umon),
       ],
-   q(6907) => [
+   q(6906) => [
       q(Makyan Naga),
       ],
-   q(6908) => [
+   q(6907) => [
       q(Umotina),
       ],
-   q(6909) => [
+   q(6908) => [
       q(Umpila),
       ],
-   q(6910) => [
+   q(6909) => [
       q(Umbugarla),
       ],
-   q(6911) => [
+   q(6910) => [
       q(Pendau),
       ],
-   q(6912) => [
+   q(6911) => [
       q(Munsee),
       ],
-   q(6913) => [
+   q(6912) => [
       q(North Watut),
       ],
-   q(6914) => [
+   q(6913) => [
       q(Uneme),
       ],
-   q(6915) => [
+   q(6914) => [
       q(Ngarinyin),
       ],
-   q(6916) => [
+   q(6915) => [
       q(Enawene-Nawe),
       ],
-   q(6917) => [
+   q(6916) => [
       q(Unami),
       ],
-   q(6918) => [
+   q(6917) => [
       q(Kurnai),
       ],
-   q(6919) => [
+   q(6918) => [
       q(Mundari),
       ],
-   q(6920) => [
+   q(6919) => [
       q(Unubahe),
       ],
-   q(6921) => [
+   q(6920) => [
       q(Munda),
       ],
-   q(6922) => [
+   q(6921) => [
       q(Unde Kaili),
       ],
-   q(6923) => [
+   q(6922) => [
       q(Umeda),
       ],
-   q(6924) => [
+   q(6923) => [
       q(Uripiv-Wala-Rano-Atchin),
       ],
-   q(6925) => [
+   q(6924) => [
       q(Urarina),
       ],
-   q(6926) => [
+   q(6925) => [
       q(Urubu-Kaapor),
       q(Kaapor),
       ],
-   q(6927) => [
+   q(6926) => [
       q(Urningangg),
       ],
-   q(6928) => [
+   q(6927) => [
       q(Uru),
       ],
-   q(6929) => [
+   q(6928) => [
       q(Uradhi),
       ],
-   q(6930) => [
+   q(6929) => [
       q(Urigina),
       ],
-   q(6931) => [
+   q(6930) => [
       q(Urhobo),
       ],
-   q(6932) => [
+   q(6931) => [
       q(Urim),
       ],
-   q(6933) => [
+   q(6932) => [
       q(Urak Lawoi'),
       ],
-   q(6934) => [
+   q(6933) => [
       q(Urali),
       ],
-   q(6935) => [
+   q(6934) => [
       q(Urapmin),
       ],
-   q(6936) => [
+   q(6935) => [
       q(Uruangnirin),
       ],
-   q(6937) => [
+   q(6936) => [
       q(Ura (Papua New Guinea)),
       ],
-   q(6938) => [
+   q(6937) => [
       q(Uru-Pa-In),
       ],
-   q(6939) => [
+   q(6938) => [
       q(Lehalurup),
       q(Loyop),
       ],
-   q(6940) => [
+   q(6939) => [
       q(Urat),
       ],
-   q(6941) => [
+   q(6940) => [
       q(Urumi),
       ],
-   q(6942) => [
+   q(6941) => [
       q(Uruava),
       ],
-   q(6943) => [
+   q(6942) => [
       q(Sop),
       ],
-   q(6944) => [
+   q(6943) => [
       q(Urimo),
       ],
-   q(6945) => [
+   q(6944) => [
       q(Orya),
       ],
-   q(6946) => [
+   q(6945) => [
       q(Uru-Eu-Wau-Wau),
       ],
-   q(6947) => [
+   q(6946) => [
       q(Usarufa),
       ],
-   q(6948) => [
+   q(6947) => [
       q(Ushojo),
       ],
-   q(6949) => [
+   q(6948) => [
       q(Usui),
       ],
-   q(6950) => [
+   q(6949) => [
       q(Usaghade),
       ],
-   q(6951) => [
+   q(6950) => [
       q(Uspanteco),
       ],
-   q(6952) => [
+   q(6951) => [
       q(Uya),
       ],
-   q(6953) => [
+   q(6952) => [
       q(Otank),
       ],
-   q(6954) => [
+   q(6953) => [
       q(Ute-Southern Paiute),
       ],
-   q(6955) => [
+   q(6954) => [
       q(Amba (Solomon Islands)),
       ],
-   q(6956) => [
+   q(6955) => [
       q(Etulo),
       ],
-   q(6957) => [
+   q(6956) => [
       q(Utu),
       ],
-   q(6958) => [
+   q(6957) => [
       q(Urum),
       ],
-   q(6959) => [
+   q(6958) => [
       q(Kulon-Pazeh),
       ],
-   q(6960) => [
+   q(6959) => [
       q(Ura (Vanuatu)),
       ],
-   q(6961) => [
+   q(6960) => [
       q(U),
       ],
-   q(6962) => [
+   q(6961) => [
       q(West Uvean),
       q(Fagauvea),
       ],
-   q(6963) => [
+   q(6962) => [
       q(Uri),
       ],
-   q(6964) => [
+   q(6963) => [
       q(Lote),
       ],
-   q(6965) => [
+   q(6964) => [
       q(Kuku-Uwanh),
       ],
-   q(6966) => [
+   q(6965) => [
       q(Doko-Uyanga),
       ],
-   q(6967) => [
+   q(6966) => [
       q(Northern Uzbek),
       ],
-   q(6968) => [
+   q(6967) => [
       q(Southern Uzbek),
       ],
-   q(6969) => [
+   q(6968) => [
       q(Vaagri Booli),
       ],
-   q(6970) => [
+   q(6969) => [
       q(Vale),
       ],
-   q(6971) => [
+   q(6970) => [
       q(Vafsi),
       ],
-   q(6972) => [
+   q(6971) => [
       q(Vagla),
       ],
-   q(6973) => [
+   q(6972) => [
       q(Varhadi-Nagpuri),
       ],
-   q(6974) => [
+   q(6973) => [
       q(Sekele),
       q(Northwestern Kung),
       q(Northwestern Kung),
       q(Vasekele),
       ],
-   q(6975) => [
+   q(6974) => [
       q(Vehes),
       ],
-   q(6976) => [
+   q(6975) => [
       q(Vanimo),
       ],
-   q(6977) => [
+   q(6976) => [
       q(Valman),
       ],
-   q(6978) => [
+   q(6977) => [
       q(Vao),
       ],
-   q(6979) => [
+   q(6978) => [
       q(Vaiphei),
       ],
-   q(6980) => [
+   q(6979) => [
       q(Huarijio),
       ],
-   q(6981) => [
+   q(6980) => [
       q(Vasavi),
       ],
-   q(6982) => [
+   q(6981) => [
       q(Vanuma),
       ],
-   q(6983) => [
+   q(6982) => [
       q(Varli),
       ],
-   q(6984) => [
+   q(6983) => [
       q(Wayu),
       ],
-   q(6985) => [
+   q(6984) => [
       q(Southeast Babar),
       ],
-   q(6986) => [
+   q(6985) => [
       q(Southwestern Bontok),
       ],
-   q(6987) => [
+   q(6986) => [
       q(Venetian),
       ],
-   q(6988) => [
+   q(6987) => [
       q(Veddah),
       ],
-   q(6989) => [
+   q(6988) => [
       q(Veluws),
       ],
-   q(6990) => [
+   q(6989) => [
       q(Vemgo-Mabas),
       ],
-   q(6991) => [
+   q(6990) => [
       q(Ventureno),
       ],
-   q(6992) => [
+   q(6991) => [
       q(Veps),
       ],
-   q(6993) => [
+   q(6992) => [
       q(Mom Jango),
       ],
-   q(6994) => [
+   q(6993) => [
       q(Vaghri),
       ],
-   q(6995) => [
+   q(6994) => [
       q(Vlaamse Gebarentaal),
       q(Flemish Sign Language),
       ],
-   q(6996) => [
+   q(6995) => [
       q(Virgin Islands Creole English),
       ],
-   q(6997) => [
+   q(6996) => [
       q(Vidunda),
       ],
-   q(6998) => [
+   q(6997) => [
       q(Vili),
       ],
-   q(6999) => [
+   q(6998) => [
       q(Viemo),
       ],
-   q(7000) => [
+   q(6999) => [
       q(Vilela),
       ],
-   q(7001) => [
+   q(7000) => [
       q(Vinza),
       ],
-   q(7002) => [
+   q(7001) => [
       q(Vishavan),
       ],
-   q(7003) => [
+   q(7002) => [
       q(Viti),
       ],
-   q(7004) => [
+   q(7003) => [
       q(Iduna),
       ],
-   q(7005) => [
+   q(7004) => [
       q(Kariyarra),
       ],
-   q(7006) => [
+   q(7005) => [
       q(Ija-Zuba),
       ],
-   q(7007) => [
+   q(7006) => [
       q(Kujarge),
       ],
-   q(7008) => [
+   q(7007) => [
       q(Kaur),
       ],
-   q(7009) => [
+   q(7008) => [
       q(Kulisusu),
       ],
-   q(7010) => [
+   q(7009) => [
       q(Kamakan),
       ],
-   q(7011) => [
+   q(7010) => [
       q(Kodeoha),
       ],
-   q(7012) => [
+   q(7011) => [
       q(Korlai Creole Portuguese),
       ],
-   q(7013) => [
+   q(7012) => [
       q(Tenggarong Kutai Malay),
       ],
-   q(7014) => [
+   q(7013) => [
       q(Kurrama),
       ],
-   q(7015) => [
+   q(7014) => [
       q(Valpei),
       ],
-   q(7016) => [
+   q(7015) => [
       q(Vlaams),
       ],
-   q(7017) => [
+   q(7016) => [
       q(Martuyhunira),
       ],
-   q(7018) => [
+   q(7017) => [
       q(Barbaram),
       ],
-   q(7019) => [
+   q(7018) => [
       q(Juxtlahuaca Mixtec),
       ],
-   q(7020) => [
+   q(7019) => [
       q(Mudu Koraga),
       ],
-   q(7021) => [
+   q(7020) => [
       q(East Masela),
       ],
-   q(7022) => [
+   q(7021) => [
       q(Mainfrankisch),
       ],
-   q(7023) => [
+   q(7022) => [
       q(Lungalunga),
       ],
-   q(7024) => [
+   q(7023) => [
       q(Maraghei),
       ],
-   q(7025) => [
+   q(7024) => [
       q(Miwa),
       ],
-   q(7026) => [
+   q(7025) => [
       q(Ixtayutla Mixtec),
       ],
-   q(7027) => [
+   q(7026) => [
       q(Makhuwa-Shirima),
       ],
-   q(7028) => [
+   q(7027) => [
       q(Malgana),
       ],
-   q(7029) => [
+   q(7028) => [
       q(Mitlatongo Mixtec),
       ],
-   q(7030) => [
+   q(7029) => [
       q(Soyaltepec Mazatec),
       ],
-   q(7031) => [
+   q(7030) => [
       q(Soyaltepec Mixtec),
       ],
-   q(7032) => [
+   q(7031) => [
       q(Marenje),
       ],
-   q(7033) => [
+   q(7032) => [
       q(Moksela),
       ],
-   q(7034) => [
+   q(7033) => [
       q(Muluridyi),
       ],
-   q(7035) => [
+   q(7034) => [
       q(Valley Maidu),
       ],
-   q(7036) => [
+   q(7035) => [
       q(Makhuwa),
       ],
-   q(7037) => [
+   q(7036) => [
       q(Tamazola Mixtec),
       ],
-   q(7038) => [
+   q(7037) => [
       q(Ayautla Mazatec),
       ],
-   q(7039) => [
+   q(7038) => [
       q(Mazatlan Mazatec),
       ],
-   q(7040) => [
+   q(7039) => [
       q(Vano),
       q(Lovono),
       ],
-   q(7041) => [
+   q(7040) => [
       q(Vinmavis),
       q(Neve'ei),
       ],
-   q(7042) => [
+   q(7041) => [
       q(Vunapu),
       ],
-   q(7043) => [
+   q(7042) => [
       q(Voro),
       ],
-   q(7044) => [
+   q(7043) => [
       q(Vera'a),
       ],
-   q(7045) => [
+   q(7044) => [
       q(Varisi),
       ],
-   q(7046) => [
+   q(7045) => [
       q(Burmbar),
       q(Banam Bay),
       ],
-   q(7047) => [
+   q(7046) => [
       q(Moldova Sign Language),
       ],
-   q(7048) => [
+   q(7047) => [
       q(Venezuelan Sign Language),
       ],
-   q(7049) => [
+   q(7048) => [
       q(Valencian Sign Language),
       q(Llengua de signes valenciana),
       ],
-   q(7050) => [
+   q(7049) => [
       q(Vitou),
       ],
-   q(7051) => [
+   q(7050) => [
       q(Vumbu),
       ],
-   q(7052) => [
+   q(7051) => [
       q(Vunjo),
       ],
-   q(7053) => [
+   q(7052) => [
       q(Vute),
       ],
-   q(7054) => [
+   q(7053) => [
       q(Awa (China)),
       ],
-   q(7055) => [
+   q(7054) => [
       q(Walla Walla),
       ],
-   q(7056) => [
+   q(7055) => [
       q(Wab),
       ],
-   q(7057) => [
+   q(7056) => [
       q(Wasco-Wishram),
       ],
-   q(7058) => [
+   q(7057) => [
       q(Wandamen),
       ],
-   q(7059) => [
+   q(7058) => [
       q(Walser),
       ],
-   q(7060) => [
+   q(7059) => [
       q(Wakona),
       ],
-   q(7061) => [
+   q(7060) => [
       q(Wa'ema),
       ],
-   q(7062) => [
+   q(7061) => [
       q(Watubela),
       ],
-   q(7063) => [
+   q(7062) => [
       q(Wares),
       ],
-   q(7064) => [
+   q(7063) => [
       q(Waffa),
       ],
-   q(7065) => [
+   q(7064) => [
       q(Wampanoag),
       ],
-   q(7066) => [
+   q(7065) => [
       q(Wan),
       ],
-   q(7067) => [
+   q(7066) => [
       q(Wappo),
       ],
-   q(7068) => [
+   q(7067) => [
       q(Wapishana),
       ],
-   q(7069) => [
+   q(7068) => [
       q(Wageman),
       ],
-   q(7070) => [
+   q(7069) => [
       q(Kaninuwa),
       ],
-   q(7071) => [
+   q(7070) => [
       q(Waura),
       ],
-   q(7072) => [
+   q(7071) => [
       q(Waka),
       ],
-   q(7073) => [
+   q(7072) => [
       q(Waiwai),
       ],
-   q(7074) => [
+   q(7073) => [
       q(Watam),
       q(Marangis),
       ],
-   q(7075) => [
+   q(7074) => [
       q(Wayana),
       ],
-   q(7076) => [
+   q(7075) => [
       q(Wampur),
       ],
-   q(7077) => [
+   q(7076) => [
       q(Warao),
       ],
-   q(7078) => [
+   q(7077) => [
       q(Wabo),
       ],
-   q(7079) => [
+   q(7078) => [
       q(Waritai),
       ],
-   q(7080) => [
+   q(7079) => [
       q(Wanda),
       ],
-   q(7081) => [
+   q(7080) => [
       q(Vwanji),
       ],
-   q(7082) => [
+   q(7081) => [
       q(Alagwa),
       ],
-   q(7083) => [
+   q(7082) => [
       q(Waigali),
       ],
-   q(7084) => [
+   q(7083) => [
       q(Wakhi),
       ],
-   q(7085) => [
+   q(7084) => [
       q(Wa),
       ],
-   q(7086) => [
+   q(7085) => [
       q(Warlpiri),
       ],
-   q(7087) => [
+   q(7086) => [
       q(Waddar),
       ],
-   q(7088) => [
+   q(7087) => [
       q(Wagdi),
       ],
-   q(7089) => [
+   q(7088) => [
       q(Wanman),
       ],
-   q(7090) => [
+   q(7089) => [
       q(Wajarri),
       ],
-   q(7091) => [
+   q(7090) => [
       q(Woi),
       ],
-   q(7092) => [
+   q(7091) => [
       q(Yanomami),
       ],
-   q(7093) => [
+   q(7092) => [
       q(Waci Gbe),
       ],
-   q(7094) => [
+   q(7093) => [
       q(Wandji),
       ],
-   q(7095) => [
+   q(7094) => [
       q(Wadaginam),
       ],
-   q(7096) => [
+   q(7095) => [
       q(Wadjiginy),
       ],
-   q(7097) => [
+   q(7096) => [
       q(Wadikali),
       ],
-   q(7098) => [
+   q(7097) => [
       q(Wadjigu),
       ],
-   q(7099) => [
+   q(7098) => [
       q(Wadjabangayi),
       ],
-   q(7100) => [
+   q(7099) => [
       q(Wewaw),
       ],
-   q(7101) => [
+   q(7100) => [
       q(We Western),
       ],
-   q(7102) => [
+   q(7101) => [
       q(Wedau),
       ],
-   q(7103) => [
+   q(7102) => [
       q(Wergaia),
       ],
-   q(7104) => [
+   q(7103) => [
       q(Weh),
       ],
-   q(7105) => [
+   q(7104) => [
       q(Kiunum),
       ],
-   q(7106) => [
+   q(7105) => [
       q(Weme Gbe),
       ],
-   q(7107) => [
+   q(7106) => [
       q(Wemale),
       ],
-   q(7108) => [
+   q(7107) => [
       q(Westphalien),
       ],
-   q(7109) => [
+   q(7108) => [
       q(Weri),
       ],
-   q(7110) => [
+   q(7109) => [
       q(Cameroon Pidgin),
       ],
-   q(7111) => [
+   q(7110) => [
       q(Perai),
       ],
-   q(7112) => [
+   q(7111) => [
       q(Rawngtu Chin),
       ],
-   q(7113) => [
+   q(7112) => [
       q(Wejewa),
       ],
-   q(7114) => [
+   q(7113) => [
       q(Yafi),
       q(Zorop),
       ],
-   q(7115) => [
+   q(7114) => [
       q(Wagaya),
       ],
-   q(7116) => [
+   q(7115) => [
       q(Wagawaga),
       ],
-   q(7117) => [
+   q(7116) => [
       q(Wangganguru),
       ],
-   q(7118) => [
+   q(7117) => [
       q(Wahgi),
       ],
-   q(7119) => [
+   q(7118) => [
       q(Waigeo),
       ],
-   q(7120) => [
+   q(7119) => [
       q(Wirangu),
       ],
-   q(7121) => [
+   q(7120) => [
       q(Warrgamay),
       ],
-   q(7122) => [
+   q(7121) => [
       q(Manusela),
       ],
-   q(7123) => [
+   q(7122) => [
       q(North Wahgi),
       ],
-   q(7124) => [
+   q(7123) => [
       q(Wahau Kenyah),
       ],
-   q(7125) => [
+   q(7124) => [
       q(Wahau Kayan),
       ],
-   q(7126) => [
+   q(7125) => [
       q(Southern Toussian),
       ],
-   q(7127) => [
+   q(7126) => [
       q(Wichita),
       ],
-   q(7128) => [
+   q(7127) => [
       q(Wik-Epa),
       ],
-   q(7129) => [
+   q(7128) => [
       q(Wik-Keyangan),
       ],
-   q(7130) => [
+   q(7129) => [
       q(Wik-Ngathana),
       ],
-   q(7131) => [
+   q(7130) => [
       q(Wik-Me'anha),
       ],
-   q(7132) => [
+   q(7131) => [
       q(Minidien),
       ],
-   q(7133) => [
+   q(7132) => [
       q(Wik-Iiyanh),
       ],
-   q(7134) => [
+   q(7133) => [
       q(Wikalkan),
       ],
-   q(7135) => [
+   q(7134) => [
       q(Wilawila),
       ],
-   q(7136) => [
+   q(7135) => [
       q(Wik-Mungkan),
       ],
-   q(7137) => [
+   q(7136) => [
       q(Ho-Chunk),
       ],
-   q(7138) => [
+   q(7137) => [
       q(Wirafed),
       ],
-   q(7139) => [
+   q(7138) => [
       q(Wiru),
       ],
-   q(7140) => [
+   q(7139) => [
       q(Vitu),
       ],
-   q(7141) => [
+   q(7140) => [
       q(Wiyot),
       ],
-   q(7142) => [
+   q(7141) => [
       q(Waja),
       ],
-   q(7143) => [
+   q(7142) => [
       q(Warji),
       ],
-   q(7144) => [
+   q(7143) => [
       q(Kw'adza),
       ],
-   q(7145) => [
+   q(7144) => [
       q(Kumbaran),
       ],
-   q(7146) => [
+   q(7145) => [
       q(Wakde),
       q(Mo),
       ],
-   q(7147) => [
+   q(7146) => [
       q(Kalanadi),
       ],
-   q(7148) => [
+   q(7147) => [
       q(Kunduvadi),
       ],
-   q(7149) => [
+   q(7148) => [
       q(Wakawaka),
       ],
-   q(7150) => [
+   q(7149) => [
       q(Wangkayutyuru),
       ],
-   q(7151) => [
+   q(7150) => [
       q(Walio),
       ],
-   q(7152) => [
+   q(7151) => [
       q(Mwali Comorian),
       ],
-   q(7153) => [
+   q(7152) => [
       q(Wolane),
       ],
-   q(7154) => [
+   q(7153) => [
       q(Kunbarlang),
       ],
-   q(7155) => [
+   q(7154) => [
       q(Waioli),
       ],
-   q(7156) => [
+   q(7155) => [
       q(Wailaki),
       ],
-   q(7157) => [
+   q(7156) => [
       q(Wali (Sudan)),
       ],
-   q(7158) => [
+   q(7157) => [
       q(Middle Welsh),
       ],
-   q(7159) => [
+   q(7158) => [
       q(Wolio),
       ],
-   q(7160) => [
+   q(7159) => [
       q(Wailapa),
       ],
-   q(7161) => [
+   q(7160) => [
       q(Wallisian),
       ],
-   q(7162) => [
+   q(7161) => [
       q(Wuliwuli),
       ],
-   q(7163) => [
+   q(7162) => [
       q(Wichi Lhamtes Vejoz),
       ],
-   q(7164) => [
+   q(7163) => [
       q(Walak),
       ],
-   q(7165) => [
+   q(7164) => [
       q(Wali (Ghana)),
       ],
-   q(7166) => [
+   q(7165) => [
       q(Waling),
       ],
-   q(7167) => [
+   q(7166) => [
       q(Mawa (Nigeria)),
       ],
-   q(7168) => [
+   q(7167) => [
       q(Wambaya),
       ],
-   q(7169) => [
+   q(7168) => [
       q(Wamas),
       ],
-   q(7170) => [
+   q(7169) => [
       q(Mamainde),
       ],
-   q(7171) => [
+   q(7170) => [
       q(Wambule),
       ],
-   q(7172) => [
+   q(7171) => [
       q(Waima'a),
       ],
-   q(7173) => [
+   q(7172) => [
       q(Wamin),
       ],
-   q(7174) => [
+   q(7173) => [
       q(Maiwa (Indonesia)),
       ],
-   q(7175) => [
+   q(7174) => [
       q(Waamwang),
       ],
-   q(7176) => [
+   q(7175) => [
       q(Wom (Papua New Guinea)),
       ],
-   q(7177) => [
+   q(7176) => [
       q(Wambon),
       ],
-   q(7178) => [
+   q(7177) => [
       q(Walmajarri),
       ],
-   q(7179) => [
+   q(7178) => [
       q(Mwani),
       ],
-   q(7180) => [
+   q(7179) => [
       q(Womo),
       ],
-   q(7181) => [
+   q(7180) => [
       q(Wanambre),
       ],
-   q(7182) => [
+   q(7181) => [
       q(Wantoat),
       ],
-   q(7183) => [
+   q(7182) => [
       q(Wandarang),
       ],
-   q(7184) => [
+   q(7183) => [
       q(Waneci),
       ],
-   q(7185) => [
+   q(7184) => [
       q(Wanggom),
       ],
-   q(7186) => [
+   q(7185) => [
       q(Ndzwani Comorian),
       ],
-   q(7187) => [
+   q(7186) => [
       q(Wanukaka),
       ],
-   q(7188) => [
+   q(7187) => [
       q(Wanggamala),
       ],
-   q(7189) => [
+   q(7188) => [
       q(Wunumara),
       ],
-   q(7190) => [
+   q(7189) => [
       q(Wano),
       ],
-   q(7191) => [
+   q(7190) => [
       q(Wanap),
       ],
-   q(7192) => [
+   q(7191) => [
       q(Usan),
       ],
-   q(7193) => [
+   q(7192) => [
       q(Wintu),
       ],
-   q(7194) => [
+   q(7193) => [
       q(Wanyi),
       ],
-   q(7195) => [
+   q(7194) => [
       q(Tyaraity),
       ],
-   q(7196) => [
+   q(7195) => [
       q(We Northern),
       ],
-   q(7197) => [
+   q(7196) => [
       q(Wogeo),
       ],
-   q(7198) => [
+   q(7197) => [
       q(Wolani),
       ],
-   q(7199) => [
+   q(7198) => [
       q(Woleaian),
       ],
-   q(7200) => [
+   q(7199) => [
       q(Gambian Wolof),
       ],
-   q(7201) => [
+   q(7200) => [
       q(Wogamusin),
       ],
-   q(7202) => [
+   q(7201) => [
       q(Kamang),
       ],
-   q(7203) => [
+   q(7202) => [
       q(Longto),
       ],
-   q(7204) => [
+   q(7203) => [
       q(Wom (Nigeria)),
       ],
-   q(7205) => [
+   q(7204) => [
       q(Wongo),
       ],
-   q(7206) => [
+   q(7205) => [
       q(Manombai),
       ],
-   q(7207) => [
+   q(7206) => [
       q(Woria),
       ],
-   q(7208) => [
+   q(7207) => [
       q(Hanga Hundi),
       ],
-   q(7209) => [
+   q(7208) => [
       q(Wawonii),
       ],
-   q(7210) => [
+   q(7209) => [
       q(Weyto),
       ],
-   q(7211) => [
+   q(7210) => [
       q(Maco),
       ],
-   q(7212) => [
+   q(7211) => [
       q(Warapu),
       ],
-   q(7213) => [
+   q(7212) => [
       q(Warluwara),
       ],
-   q(7214) => [
+   q(7213) => [
       q(Warduji),
       ],
-   q(7215) => [
+   q(7214) => [
       q(Warungu),
       ],
-   q(7216) => [
+   q(7215) => [
       q(Wiradhuri),
       ],
-   q(7217) => [
+   q(7216) => [
       q(Wariyangga),
       ],
-   q(7218) => [
+   q(7217) => [
       q(Garrwa),
       ],
-   q(7219) => [
+   q(7218) => [
       q(Warlmanpa),
       ],
-   q(7220) => [
+   q(7219) => [
       q(Warumungu),
       ],
-   q(7221) => [
+   q(7220) => [
       q(Warnang),
       ],
-   q(7222) => [
+   q(7221) => [
       q(Worrorra),
       ],
-   q(7223) => [
+   q(7222) => [
       q(Waropen),
       ],
-   q(7224) => [
+   q(7223) => [
       q(Wardaman),
       ],
-   q(7225) => [
+   q(7224) => [
       q(Waris),
       ],
-   q(7226) => [
+   q(7225) => [
       q(Waru),
       ],
-   q(7227) => [
+   q(7226) => [
       q(Waruna),
       ],
-   q(7228) => [
+   q(7227) => [
       q(Gugu Warra),
       ],
-   q(7229) => [
+   q(7228) => [
       q(Wae Rana),
       ],
-   q(7230) => [
+   q(7229) => [
       q(Merwari),
       ],
-   q(7231) => [
+   q(7230) => [
       q(Waray (Australia)),
       ],
-   q(7232) => [
+   q(7231) => [
       q(Warembori),
       ],
-   q(7233) => [
+   q(7232) => [
       q(Wusi),
       ],
-   q(7234) => [
+   q(7233) => [
       q(Waskia),
       ],
-   q(7235) => [
+   q(7234) => [
       q(Owenia),
       ],
-   q(7236) => [
+   q(7235) => [
       q(Wasa),
       ],
-   q(7237) => [
+   q(7236) => [
       q(Wasu),
       ],
-   q(7238) => [
+   q(7237) => [
       q(Wotapuri-Katarqalai),
       ],
-   q(7239) => [
+   q(7238) => [
       q(Watiwa),
       ],
-   q(7240) => [
+   q(7239) => [
       q(Wathawurrung),
       ],
-   q(7241) => [
+   q(7240) => [
       q(Berta),
       ],
-   q(7242) => [
+   q(7241) => [
       q(Watakataui),
       ],
-   q(7243) => [
+   q(7242) => [
       q(Mewati),
       ],
-   q(7244) => [
+   q(7243) => [
       q(Wotu),
       ],
-   q(7245) => [
+   q(7244) => [
       q(Wikngenchera),
       ],
-   q(7246) => [
+   q(7245) => [
       q(Wunambal),
       ],
-   q(7247) => [
+   q(7246) => [
       q(Wudu),
       ],
-   q(7248) => [
+   q(7247) => [
       q(Wutunhua),
       ],
-   q(7249) => [
+   q(7248) => [
       q(Silimo),
       ],
-   q(7250) => [
+   q(7249) => [
       q(Wumbvu),
       ],
-   q(7251) => [
+   q(7250) => [
       q(Bungu),
       ],
-   q(7252) => [
+   q(7251) => [
       q(Wurrugu),
       ],
-   q(7253) => [
+   q(7252) => [
       q(Wutung),
       ],
-   q(7254) => [
+   q(7253) => [
       q(Wu Chinese),
       ],
-   q(7255) => [
+   q(7254) => [
       q(Wuvulu-Aua),
       ],
-   q(7256) => [
+   q(7255) => [
       q(Wulna),
       ],
-   q(7257) => [
+   q(7256) => [
       q(Wauyai),
       ],
-   q(7258) => [
+   q(7257) => [
       q(Waama),
       ],
-   q(7259) => [
+   q(7258) => [
       q(Wakabunga),
       ],
-   q(7260) => [
+   q(7259) => [
       q(Wetamut),
       q(Dorig),
       ],
-   q(7261) => [
+   q(7260) => [
       q(Warrwa),
       ],
-   q(7262) => [
+   q(7261) => [
       q(Wawa),
       ],
-   q(7263) => [
+   q(7262) => [
       q(Waxianghua),
       ],
-   q(7264) => [
+   q(7263) => [
       q(Wardandi),
       ],
-   q(7265) => [
+   q(7264) => [
       q(Wyandot),
       ],
-   q(7266) => [
+   q(7265) => [
       q(Wangaaybuwan-Ngiyambaa),
       ],
-   q(7267) => [
+   q(7266) => [
       q(Woiwurrung),
       ],
-   q(7268) => [
+   q(7267) => [
       q(Wymysorys),
       ],
-   q(7269) => [
+   q(7268) => [
       q(Wayoro),
       ],
-   q(7270) => [
+   q(7269) => [
       q(Western Fijian),
       ],
-   q(7271) => [
+   q(7270) => [
       q(Andalusian Arabic),
       ],
-   q(7272) => [
+   q(7271) => [
       q(Sambe),
       ],
-   q(7273) => [
+   q(7272) => [
       q(Kachari),
       ],
-   q(7274) => [
+   q(7273) => [
       q(Adai),
       ],
-   q(7275) => [
+   q(7274) => [
       q(Aequian),
       ],
-   q(7276) => [
+   q(7275) => [
       q(Aghwan),
       ],
-   q(7277) => [
+   q(7276) => [
       q(Kaimbe),
       ],
-   q(7278) => [
+   q(7277) => [
       q(Ararandewara),
       ],
-   q(7279) => [
+   q(7278) => [
       q(/Xam),
+      q(Xam),
       ],
-   q(7280) => [
+   q(7279) => [
       q(Xamtanga),
       ],
-   q(7281) => [
+   q(7280) => [
       q(Khao),
       ],
-   q(7282) => [
+   q(7281) => [
       q(Apalachee),
       ],
-   q(7283) => [
+   q(7282) => [
       q(Aquitanian),
       ],
-   q(7284) => [
+   q(7283) => [
       q(Karami),
       ],
-   q(7285) => [
+   q(7284) => [
       q(Kamas),
       ],
-   q(7286) => [
+   q(7285) => [
       q(Katawixi),
       ],
-   q(7287) => [
+   q(7286) => [
       q(Kauwera),
       ],
-   q(7288) => [
+   q(7287) => [
       q(Xavante),
       ],
-   q(7289) => [
+   q(7288) => [
       q(Kawaiisu),
       ],
-   q(7290) => [
+   q(7289) => [
       q(Kayan Mahakam),
       ],
-   q(7291) => [
+   q(7290) => [
       q(Kamba (Brazil)),
       ],
-   q(7292) => [
+   q(7291) => [
       q(Lower Burdekin),
       ],
-   q(7293) => [
+   q(7292) => [
       q(Bactrian),
       ],
-   q(7294) => [
+   q(7293) => [
       q(Bindal),
       ],
-   q(7295) => [
+   q(7294) => [
       q(Bigambal),
       ],
-   q(7296) => [
+   q(7295) => [
       q(Bunganditj),
       ],
-   q(7297) => [
+   q(7296) => [
       q(Kombio),
       ],
-   q(7298) => [
+   q(7297) => [
       q(Birrpayi),
       ],
-   q(7299) => [
+   q(7298) => [
       q(Middle Breton),
       ],
-   q(7300) => [
+   q(7299) => [
       q(Kenaboi),
       ],
-   q(7301) => [
+   q(7300) => [
       q(Bolgarian),
       ],
-   q(7302) => [
+   q(7301) => [
       q(Bibbulman),
       ],
-   q(7303) => [
+   q(7302) => [
       q(Kambera),
       ],
-   q(7304) => [
+   q(7303) => [
       q(Kambiwa),
       ],
-   q(7305) => [
+   q(7304) => [
       q(Kabixi),
       ],
-   q(7306) => [
+   q(7305) => [
       q(Batyala),
       ],
-   q(7307) => [
+   q(7306) => [
       q(Cumbric),
       ],
-   q(7308) => [
+   q(7307) => [
       q(Camunic),
       ],
-   q(7309) => [
+   q(7308) => [
       q(Celtiberian),
       ],
-   q(7310) => [
+   q(7309) => [
       q(Cisalpine Gaulish),
       ],
-   q(7311) => [
+   q(7310) => [
       q(Chemakum),
       q(Chimakum),
       ],
-   q(7312) => [
+   q(7311) => [
       q(Classical Armenian),
       ],
-   q(7313) => [
+   q(7312) => [
       q(Comecrudo),
       ],
-   q(7314) => [
+   q(7313) => [
       q(Cotoname),
       ],
-   q(7315) => [
+   q(7314) => [
       q(Chorasmian),
       ],
-   q(7316) => [
+   q(7315) => [
       q(Carian),
       ],
-   q(7317) => [
+   q(7316) => [
       q(Classical Tibetan),
       ],
-   q(7318) => [
+   q(7317) => [
       q(Curonian),
       ],
-   q(7319) => [
+   q(7318) => [
       q(Chuvantsy),
       ],
-   q(7320) => [
+   q(7319) => [
       q(Coahuilteco),
       ],
-   q(7321) => [
+   q(7320) => [
       q(Cayuse),
       ],
-   q(7322) => [
+   q(7321) => [
       q(Darkinyung),
       ],
-   q(7323) => [
+   q(7322) => [
       q(Dacian),
       ],
-   q(7324) => [
+   q(7323) => [
       q(Dharuk),
       ],
-   q(7325) => [
+   q(7324) => [
       q(Edomite),
       ],
-   q(7326) => [
+   q(7325) => [
       q(Malayic Dayak),
       ],
-   q(7327) => [
+   q(7326) => [
       q(Eblan),
       ],
-   q(7328) => [
+   q(7327) => [
       q(Hdi),
       ],
-   q(7329) => [
+   q(7328) => [
       q(//Xegwi),
+      q(Xegwi),
       ],
-   q(7330) => [
+   q(7329) => [
       q(Kelo),
       ],
-   q(7331) => [
+   q(7330) => [
       q(Kembayan),
       ],
-   q(7332) => [
+   q(7331) => [
       q(Epi-Olmec),
       ],
-   q(7333) => [
+   q(7332) => [
       q(Xerente),
       ],
-   q(7334) => [
+   q(7333) => [
       q(Kesawai),
       ],
-   q(7335) => [
+   q(7334) => [
       q(Xeta),
       ],
-   q(7336) => [
+   q(7335) => [
       q(Keoru-Ahia),
       ],
-   q(7337) => [
+   q(7336) => [
       q(Faliscan),
       ],
-   q(7338) => [
+   q(7337) => [
       q(Galatian),
       ],
-   q(7339) => [
+   q(7338) => [
       q(Gbin),
       ],
-   q(7340) => [
+   q(7339) => [
       q(Gudang),
       ],
-   q(7341) => [
+   q(7340) => [
       q(Gabrielino-Fernandeno),
       ],
-   q(7342) => [
+   q(7341) => [
       q(Goreng),
       ],
-   q(7343) => [
+   q(7342) => [
       q(Garingbal),
       ],
-   q(7344) => [
+   q(7343) => [
       q(Galindan),
       ],
-   q(7345) => [
+   q(7344) => [
       q(Dharumbal),
       q(Guwinmal),
       ],
-   q(7346) => [
+   q(7345) => [
       q(Garza),
       ],
-   q(7347) => [
+   q(7346) => [
       q(Unggumi),
       ],
-   q(7348) => [
+   q(7347) => [
       q(Guwa),
       ],
-   q(7349) => [
+   q(7348) => [
       q(Harami),
       ],
-   q(7350) => [
+   q(7349) => [
       q(Hunnic),
       ],
-   q(7351) => [
+   q(7350) => [
       q(Hadrami),
       ],
-   q(7352) => [
+   q(7351) => [
       q(Khetrani),
       ],
-   q(7353) => [
+   q(7352) => [
       q(Hernican),
       ],
-   q(7354) => [
+   q(7353) => [
       q(Hattic),
       ],
-   q(7355) => [
+   q(7354) => [
       q(Hurrian),
       ],
-   q(7356) => [
+   q(7355) => [
       q(Khua),
       ],
-   q(7357) => [
+   q(7356) => [
       q(Iberian),
       ],
-   q(7358) => [
+   q(7357) => [
       q(Xiri),
       ],
-   q(7359) => [
+   q(7358) => [
       q(Illyrian),
       ],
-   q(7360) => [
+   q(7359) => [
       q(Xinca),
       ],
-   q(7361) => [
+   q(7360) => [
       q(Xipinawa),
       ],
-   q(7362) => [
+   q(7361) => [
       q(Xiriana),
       ],
-   q(7363) => [
+   q(7362) => [
       q(Kisan),
       ],
-   q(7364) => [
+   q(7363) => [
       q(Indus Valley Language),
       ],
-   q(7365) => [
+   q(7364) => [
       q(Xipaya),
       ],
-   q(7366) => [
+   q(7365) => [
       q(Minjungbal),
       ],
-   q(7367) => [
+   q(7366) => [
       q(Jaitmatang),
       ],
-   q(7368) => [
+   q(7367) => [
       q(Kalkoti),
       ],
-   q(7369) => [
+   q(7368) => [
       q(Northern Nago),
       ],
-   q(7370) => [
+   q(7369) => [
       q(Kho'ini),
       ],
-   q(7371) => [
+   q(7370) => [
       q(Mendalam Kayan),
       ],
-   q(7372) => [
+   q(7371) => [
       q(Kereho),
       ],
-   q(7373) => [
+   q(7372) => [
       q(Khengkha),
       ],
-   q(7374) => [
+   q(7373) => [
       q(Kagoro),
       ],
-   q(7375) => [
+   q(7374) => [
       q(Karahawyana),
       ],
-   q(7376) => [
+   q(7375) => [
       q(Kenyan Sign Language),
       ],
-   q(7377) => [
+   q(7376) => [
       q(Kajali),
       ],
-   q(7378) => [
+   q(7377) => [
       q(Kaco'),
       ],
-   q(7379) => [
+   q(7378) => [
       q(Mainstream Kenyah),
       ],
-   q(7380) => [
+   q(7379) => [
       q(Kayan River Kayan),
       ],
-   q(7381) => [
+   q(7380) => [
       q(Kiorr),
       ],
-   q(7382) => [
+   q(7381) => [
       q(Kabatei),
       ],
-   q(7383) => [
+   q(7382) => [
       q(Koroni),
       ],
-   q(7384) => [
+   q(7383) => [
       q(Xakriaba),
       ],
-   q(7385) => [
+   q(7384) => [
       q(Kumbewaha),
       ],
-   q(7386) => [
+   q(7385) => [
       q(Kantosi),
       ],
-   q(7387) => [
+   q(7386) => [
       q(Kaamba),
       ],
-   q(7388) => [
+   q(7387) => [
       q(Kgalagadi),
       ],
-   q(7389) => [
+   q(7388) => [
       q(Kembra),
       ],
-   q(7390) => [
+   q(7389) => [
       q(Karore),
       ],
-   q(7391) => [
+   q(7390) => [
       q(Uma' Lasan),
       ],
-   q(7392) => [
+   q(7391) => [
       q(Kurtokha),
       ],
-   q(7393) => [
+   q(7392) => [
       q(Kamula),
       ],
-   q(7394) => [
+   q(7393) => [
       q(Loup B),
       ],
-   q(7395) => [
+   q(7394) => [
       q(Lycian),
       ],
-   q(7396) => [
+   q(7395) => [
       q(Lydian),
       ],
-   q(7397) => [
+   q(7396) => [
       q(Lemnian),
       ],
-   q(7398) => [
+   q(7397) => [
       q(Ligurian (Ancient)),
       ],
-   q(7399) => [
+   q(7398) => [
       q(Liburnian),
       ],
-   q(7400) => [
+   q(7399) => [
       q(Alanic),
       ],
-   q(7401) => [
+   q(7400) => [
       q(Loup A),
       ],
-   q(7402) => [
+   q(7401) => [
       q(Lepontic),
       ],
-   q(7403) => [
+   q(7402) => [
       q(Lusitanian),
       ],
-   q(7404) => [
+   q(7403) => [
       q(Cuneiform Luwian),
       ],
-   q(7405) => [
+   q(7404) => [
       q(Elymian),
       ],
-   q(7406) => [
+   q(7405) => [
       q(Mushungulu),
       ],
-   q(7407) => [
+   q(7406) => [
       q(Mbonga),
       ],
-   q(7408) => [
+   q(7407) => [
       q(Makhuwa-Marrevone),
       ],
-   q(7409) => [
+   q(7408) => [
       q(Mbudum),
       ],
-   q(7410) => [
+   q(7409) => [
       q(Median),
       ],
-   q(7411) => [
+   q(7410) => [
       q(Mingrelian),
       ],
-   q(7412) => [
+   q(7411) => [
       q(Mengaka),
       ],
-   q(7413) => [
+   q(7412) => [
       q(Kuku-Muminh),
       ],
-   q(7414) => [
+   q(7413) => [
       q(Majera),
       ],
-   q(7415) => [
+   q(7414) => [
       q(Ancient Macedonian),
       ],
-   q(7416) => [
+   q(7415) => [
       q(Malaysian Sign Language),
       ],
-   q(7417) => [
+   q(7416) => [
       q(Manado Malay),
       ],
-   q(7418) => [
+   q(7417) => [
       q(Manichaean Middle Persian),
       ],
-   q(7419) => [
+   q(7418) => [
       q(Morerebi),
       ],
-   q(7420) => [
+   q(7419) => [
       q(Kuku-Mu'inh),
       ],
-   q(7421) => [
+   q(7420) => [
       q(Kuku-Mangk),
       ],
-   q(7422) => [
+   q(7421) => [
       q(Meroitic),
       ],
-   q(7423) => [
+   q(7422) => [
       q(Moroccan Sign Language),
       ],
-   q(7424) => [
+   q(7423) => [
       q(Matbat),
       ],
-   q(7425) => [
+   q(7424) => [
       q(Kamu),
       ],
-   q(7426) => [
+   q(7425) => [
       q(Antankarana Malagasy),
       q(Tankarana Malagasy),
       ],
-   q(7427) => [
+   q(7426) => [
       q(Tsimihety Malagasy),
       ],
-   q(7428) => [
+   q(7427) => [
       q(Maden),
       ],
-   q(7429) => [
+   q(7428) => [
       q(Mayaguduna),
       ],
-   q(7430) => [
+   q(7429) => [
       q(Mori Bawah),
       ],
-   q(7431) => [
+   q(7430) => [
       q(Ancient North Arabian),
       ],
-   q(7432) => [
+   q(7431) => [
       q(Kanakanabu),
       ],
-   q(7433) => [
+   q(7432) => [
       q(Middle Mongolian),
       ],
-   q(7434) => [
+   q(7433) => [
       q(Kuanhua),
       ],
-   q(7435) => [
+   q(7434) => [
       q(Ngarigu),
       ],
-   q(7436) => [
+   q(7435) => [
       q(Nganakarti),
       ],
-   q(7437) => [
+   q(7436) => [
       q(Northern Kankanay),
       ],
-   q(7438) => [
+   q(7437) => [
       q(Anglo-Norman),
       ],
-   q(7439) => [
+   q(7438) => [
       q(Kangri),
       ],
-   q(7440) => [
+   q(7439) => [
       q(Kanashi),
       ],
-   q(7441) => [
+   q(7440) => [
       q(Narragansett),
       ],
-   q(7442) => [
+   q(7441) => [
       q(Nukunul),
       ],
-   q(7443) => [
+   q(7442) => [
       q(Nyiyaparli),
       ],
-   q(7444) => [
+   q(7443) => [
       q(Kenzi),
       q(Mattoki),
       ],
-   q(7445) => [
+   q(7444) => [
       q(O'chi'chi'),
       ],
-   q(7446) => [
+   q(7445) => [
       q(Kokoda),
       ],
-   q(7447) => [
+   q(7446) => [
       q(Soga),
       ],
-   q(7448) => [
+   q(7447) => [
       q(Kominimung),
       ],
-   q(7449) => [
+   q(7448) => [
       q(Xokleng),
       ],
-   q(7450) => [
+   q(7449) => [
       q(Komo (Sudan)),
       ],
-   q(7451) => [
+   q(7450) => [
       q(Konkomba),
       ],
-   q(7452) => [
+   q(7451) => [
       q(Xukuru),
       ],
-   q(7453) => [
+   q(7452) => [
       q(Kopar),
       ],
-   q(7454) => [
+   q(7453) => [
       q(Korubo),
       ],
-   q(7455) => [
+   q(7454) => [
       q(Kowaki),
       ],
-   q(7456) => [
+   q(7455) => [
       q(Pirriya),
       ],
-   q(7457) => [
+   q(7456) => [
       q(Pecheneg),
       ],
-   q(7458) => [
+   q(7457) => [
       q(Liberia Kpelle),
       ],
-   q(7459) => [
+   q(7458) => [
       q(Phrygian),
       ],
-   q(7460) => [
+   q(7459) => [
       q(Pictish),
       ],
-   q(7461) => [
+   q(7460) => [
       q(Mpalitjanh),
       ],
-   q(7462) => [
+   q(7461) => [
       q(Kulina Pano),
       ],
-   q(7463) => [
+   q(7462) => [
       q(Pumpokol),
       ],
-   q(7464) => [
+   q(7463) => [
       q(Kapinawa),
       ],
-   q(7465) => [
+   q(7464) => [
       q(Pochutec),
       ],
-   q(7466) => [
+   q(7465) => [
       q(Puyo-Paekche),
       ],
-   q(7467) => [
+   q(7466) => [
       q(Mohegan-Pequot),
       ],
-   q(7468) => [
+   q(7467) => [
       q(Parthian),
       ],
-   q(7469) => [
+   q(7468) => [
       q(Pisidian),
       ],
-   q(7470) => [
+   q(7469) => [
       q(Punthamara),
       ],
-   q(7471) => [
+   q(7470) => [
       q(Punic),
       ],
-   q(7472) => [
+   q(7471) => [
       q(Puyo),
       ],
-   q(7473) => [
+   q(7472) => [
       q(Karakhanid),
       ],
-   q(7474) => [
+   q(7473) => [
       q(Qatabanian),
       ],
-   q(7475) => [
+   q(7474) => [
       q(Kraho),
       ],
-   q(7476) => [
+   q(7475) => [
       q(Eastern Karaboro),
       ],
-   q(7477) => [
+   q(7476) => [
       q(Gundungurra),
       ],
-   q(7478) => [
+   q(7477) => [
       q(Kreye),
       ],
-   q(7479) => [
+   q(7478) => [
       q(Minang),
       ],
-   q(7480) => [
+   q(7479) => [
       q(Krikati-Timbira),
       ],
-   q(7481) => [
+   q(7480) => [
       q(Armazic),
       ],
-   q(7482) => [
+   q(7481) => [
       q(Arin),
       ],
-   q(7483) => [
+   q(7482) => [
       q(Karranga),
       ],
-   q(7484) => [
+   q(7483) => [
       q(Raetic),
       ],
-   q(7485) => [
+   q(7484) => [
       q(Aranama-Tamique),
       ],
-   q(7486) => [
+   q(7485) => [
       q(Marriammu),
       ],
-   q(7487) => [
+   q(7486) => [
       q(Karawa),
       ],
-   q(7488) => [
+   q(7487) => [
       q(Sabaean),
       ],
-   q(7489) => [
+   q(7488) => [
       q(Sambal),
       ],
-   q(7490) => [
+   q(7489) => [
       q(Scythian),
       ],
-   q(7491) => [
+   q(7490) => [
       q(Sidetic),
       ],
-   q(7492) => [
+   q(7491) => [
       q(Sempan),
       ],
-   q(7493) => [
+   q(7492) => [
       q(Shamang),
       ],
-   q(7494) => [
+   q(7493) => [
       q(Sio),
       ],
-   q(7495) => [
+   q(7494) => [
       q(South Slavey),
       ],
-   q(7496) => [
+   q(7495) => [
       q(Kasem),
       ],
-   q(7497) => [
+   q(7496) => [
       q(Sanga (Nigeria)),
       ],
-   q(7498) => [
+   q(7497) => [
       q(Solano),
       ],
-   q(7499) => [
+   q(7498) => [
       q(Silopi),
       ],
-   q(7500) => [
+   q(7499) => [
       q(Makhuwa-Saka),
       ],
-   q(7501) => [
+   q(7500) => [
       q(Sherpa),
       ],
-   q(7502) => [
+   q(7501) => [
       q(Assan),
       ],
-   q(7503) => [
+   q(7502) => [
       q(Sanuma),
       ],
-   q(7504) => [
+   q(7503) => [
       q(Sudovian),
       ],
-   q(7505) => [
+   q(7504) => [
       q(Saisiyat),
       ],
-   q(7506) => [
+   q(7505) => [
       q(Alcozauca Mixtec),
       ],
-   q(7507) => [
+   q(7506) => [
       q(Chazumba Mixtec),
       ],
-   q(7508) => [
+   q(7507) => [
       q(Katcha-Kadugli-Miri),
       ],
-   q(7509) => [
+   q(7508) => [
       q(Diuxi-Tilantongo Mixtec),
       ],
-   q(7510) => [
+   q(7509) => [
       q(Ketengban),
       ],
-   q(7511) => [
+   q(7510) => [
       q(Transalpine Gaulish),
       ],
-   q(7512) => [
+   q(7511) => [
       q(Yitha Yitha),
       ],
-   q(7513) => [
+   q(7512) => [
       q(Sinicahua Mixtec),
       ],
-   q(7514) => [
+   q(7513) => [
       q(San Juan Teita Mixtec),
       ],
-   q(7515) => [
+   q(7514) => [
       q(Tijaltepec Mixtec),
       ],
-   q(7516) => [
+   q(7515) => [
       q(Magdalena Penasco Mixtec),
       ],
-   q(7517) => [
+   q(7516) => [
       q(Northern Tlaxiaco Mixtec),
       ],
-   q(7518) => [
+   q(7517) => [
       q(Tokharian A),
       ],
-   q(7519) => [
+   q(7518) => [
       q(San Miguel Piedras Mixtec),
       ],
-   q(7520) => [
+   q(7519) => [
       q(Tumshuqese),
       ],
-   q(7521) => [
+   q(7520) => [
       q(Early Tripuri),
       ],
-   q(7522) => [
+   q(7521) => [
       q(Sindihui Mixtec),
       ],
-   q(7523) => [
+   q(7522) => [
       q(Tacahua Mixtec),
       ],
-   q(7524) => [
+   q(7523) => [
       q(Cuyamecalco Mixtec),
       ],
-   q(7525) => [
+   q(7524) => [
       q(Thawa),
       ],
-   q(7526) => [
+   q(7525) => [
       q(Tawande),
       ],
-   q(7527) => [
+   q(7526) => [
       q(Yoloxochitl Mixtec),
       ],
-   q(7528) => [
+   q(7527) => [
       q(Tasmanian),
       ],
-   q(7529) => [
+   q(7528) => [
       q(Alu Kurumba),
       ],
-   q(7530) => [
+   q(7529) => [
       q(Betta Kurumba),
       ],
-   q(7531) => [
+   q(7530) => [
       q(Umiida),
       ],
-   q(7532) => [
+   q(7531) => [
       q(Kunigami),
       ],
-   q(7533) => [
+   q(7532) => [
       q(Jennu Kurumba),
       ],
-   q(7534) => [
+   q(7533) => [
       q(Ngunawal),
       ],
-   q(7535) => [
+   q(7534) => [
       q(Umbrian),
       ],
-   q(7536) => [
+   q(7535) => [
       q(Unggaranggu),
       ],
-   q(7537) => [
+   q(7536) => [
       q(Kuo),
       ],
-   q(7538) => [
+   q(7537) => [
       q(Upper Umpqua),
       ],
-   q(7539) => [
+   q(7538) => [
       q(Urartian),
       ],
-   q(7540) => [
+   q(7539) => [
       q(Kuthant),
       ],
-   q(7541) => [
+   q(7540) => [
       q(Kxoe),
       ],
-   q(7542) => [
+   q(7541) => [
       q(Venetic),
       ],
-   q(7543) => [
+   q(7542) => [
       q(Kamviri),
       ],
-   q(7544) => [
+   q(7543) => [
       q(Vandalic),
       ],
-   q(7545) => [
+   q(7544) => [
       q(Volscian),
       ],
-   q(7546) => [
+   q(7545) => [
       q(Vestinian),
       ],
-   q(7547) => [
+   q(7546) => [
       q(Kwaza),
       ],
-   q(7548) => [
+   q(7547) => [
       q(Woccon),
       ],
-   q(7549) => [
+   q(7548) => [
       q(Wadi Wadi),
       ],
-   q(7550) => [
+   q(7549) => [
       q(Xwela Gbe),
       ],
-   q(7551) => [
+   q(7550) => [
       q(Kwegu),
       ],
-   q(7552) => [
+   q(7551) => [
       q(Wajuk),
       ],
-   q(7553) => [
+   q(7552) => [
       q(Wangkumara),
       ],
-   q(7554) => [
+   q(7553) => [
       q(Western Xwla Gbe),
       ],
-   q(7555) => [
+   q(7554) => [
       q(Written Oirat),
       ],
-   q(7556) => [
+   q(7555) => [
       q(Kwerba Mamberamo),
       ],
-   q(7557) => [
+   q(7556) => [
       q(Wotjobaluk),
       ],
-   q(7558) => [
+   q(7557) => [
       q(Wemba Wemba),
       ],
-   q(7559) => [
+   q(7558) => [
       q(Boro (Ghana)),
       ],
-   q(7560) => [
+   q(7559) => [
       q(Ke'o),
       ],
-   q(7561) => [
+   q(7560) => [
       q(Minkin),
       ],
-   q(7562) => [
+   q(7561) => [
       q(Koropo),
       ],
-   q(7563) => [
+   q(7562) => [
       q(Tambora),
       ],
-   q(7564) => [
+   q(7563) => [
       q(Yaygir),
       ],
-   q(7565) => [
+   q(7564) => [
       q(Yandjibara),
       ],
-   q(7566) => [
+   q(7565) => [
       q(Mayi-Yapi),
       ],
-   q(7567) => [
+   q(7566) => [
       q(Mayi-Kulan),
       ],
-   q(7568) => [
+   q(7567) => [
       q(Yalakalore),
       ],
-   q(7569) => [
+   q(7568) => [
       q(Mayi-Thakurti),
       ],
-   q(7570) => [
+   q(7569) => [
       q(Yorta Yorta),
       ],
-   q(7571) => [
+   q(7570) => [
       q(Zhang-Zhung),
       ],
-   q(7572) => [
+   q(7571) => [
       q(Zemgalian),
       ],
-   q(7573) => [
+   q(7572) => [
       q(Ancient Zapotec),
       ],
-   q(7574) => [
+   q(7573) => [
       q(Yaminahua),
       ],
-   q(7575) => [
+   q(7574) => [
       q(Yuhup),
       ],
-   q(7576) => [
+   q(7575) => [
       q(Pass Valley Yali),
       ],
-   q(7577) => [
+   q(7576) => [
       q(Yagua),
       ],
-   q(7578) => [
+   q(7577) => [
       q(Pume),
       ],
-   q(7579) => [
+   q(7578) => [
       q(Yaka (Democratic Republic of Congo)),
       ],
-   q(7580) => [
+   q(7579) => [
       q(Yamana),
       ],
-   q(7581) => [
+   q(7580) => [
       q(Yazgulyam),
       ],
-   q(7582) => [
+   q(7581) => [
       q(Yagnobi),
       ],
-   q(7583) => [
+   q(7582) => [
       q(Banda-Yangere),
       ],
-   q(7584) => [
+   q(7583) => [
       q(Yakama),
       ],
-   q(7585) => [
+   q(7584) => [
       q(Yalunka),
       ],
-   q(7586) => [
+   q(7585) => [
       q(Yamba),
       ],
-   q(7587) => [
+   q(7586) => [
       q(Mayangna),
       ],
-   q(7588) => [
+   q(7587) => [
       q(Yaqui),
       ],
-   q(7589) => [
+   q(7588) => [
       q(Yabarana),
       ],
-   q(7590) => [
+   q(7589) => [
       q(Nugunu (Cameroon)),
       ],
-   q(7591) => [
+   q(7590) => [
       q(Yambeta),
       ],
-   q(7592) => [
+   q(7591) => [
       q(Yuwana),
       ],
-   q(7593) => [
+   q(7592) => [
       q(Yangben),
       ],
-   q(7594) => [
+   q(7593) => [
       q(Yawalapiti),
       ],
-   q(7595) => [
+   q(7594) => [
       q(Yauma),
       ],
-   q(7596) => [
+   q(7595) => [
       q(Agwagwune),
       ],
-   q(7597) => [
+   q(7596) => [
       q(Lokaa),
       ],
-   q(7598) => [
+   q(7597) => [
       q(Yala),
       ],
-   q(7599) => [
+   q(7598) => [
       q(Yemba),
       ],
-   q(7600) => [
+   q(7599) => [
       q(West Yugur),
       ],
-   q(7601) => [
+   q(7600) => [
       q(Yakha),
       ],
-   q(7602) => [
+   q(7601) => [
       q(Yamphu),
       ],
-   q(7603) => [
+   q(7602) => [
       q(Hasha),
       ],
-   q(7604) => [
+   q(7603) => [
       q(Bokha),
       ],
-   q(7605) => [
+   q(7604) => [
       q(Yukuben),
       ],
-   q(7606) => [
+   q(7605) => [
       q(Yaben),
       ],
-   q(7607) => [
+   q(7606) => [
       q(Yabaana),
       ],
-   q(7608) => [
+   q(7607) => [
       q(Yabong),
       ],
-   q(7609) => [
+   q(7608) => [
       q(Yawiyo),
       ],
-   q(7610) => [
+   q(7609) => [
       q(Yaweyuha),
       ],
-   q(7611) => [
+   q(7610) => [
       q(Chesu),
       ],
-   q(7612) => [
+   q(7611) => [
       q(Lolopo),
       ],
-   q(7613) => [
+   q(7612) => [
       q(Yucuna),
       ],
-   q(7614) => [
+   q(7613) => [
       q(Chepya),
       ],
-   q(7615) => [
+   q(7614) => [
       q(Yanda),
       ],
-   q(7616) => [
+   q(7615) => [
       q(Eastern Yiddish),
       ],
-   q(7617) => [
+   q(7616) => [
       q(Yangum Dey),
       ],
-   q(7618) => [
+   q(7617) => [
       q(Yidgha),
       ],
-   q(7619) => [
+   q(7618) => [
       q(Yoidik),
       ],
-   q(7620) => [
+   q(7619) => [
       q(Ravula),
       ],
-   q(7621) => [
+   q(7620) => [
       q(Yeniche),
       ],
-   q(7622) => [
+   q(7621) => [
       q(Yimas),
       ],
-   q(7623) => [
+   q(7622) => [
       q(Yeni),
       ],
-   q(7624) => [
+   q(7623) => [
       q(Yevanic),
       ],
-   q(7625) => [
+   q(7624) => [
       q(Yela),
       ],
-   q(7626) => [
+   q(7625) => [
       q(Tarok),
       ],
-   q(7627) => [
+   q(7626) => [
       q(Nyankpa),
       ],
-   q(7628) => [
+   q(7627) => [
       q(Yetfa),
       ],
-   q(7629) => [
+   q(7628) => [
       q(Yerukula),
       ],
-   q(7630) => [
+   q(7629) => [
       q(Yapunda),
       ],
-   q(7631) => [
+   q(7630) => [
       q(Yeyi),
       ],
-   q(7632) => [
+   q(7631) => [
       q(Malyangapa),
       ],
-   q(7633) => [
+   q(7632) => [
       q(Yiningayi),
       ],
-   q(7634) => [
+   q(7633) => [
       q(Yangum Gel),
       ],
-   q(7635) => [
+   q(7634) => [
       q(Yagomi),
       ],
-   q(7636) => [
+   q(7635) => [
       q(Gepo),
       ],
-   q(7637) => [
+   q(7636) => [
       q(Yagaria),
       ],
-   q(7638) => [
+   q(7637) => [
       q(Yolnu Sign Language),
       ],
-   q(7639) => [
+   q(7638) => [
       q(Yugul),
       ],
-   q(7640) => [
+   q(7639) => [
       q(Yagwoia),
       ],
-   q(7641) => [
+   q(7640) => [
       q(Baha Buyang),
       ],
-   q(7642) => [
+   q(7641) => [
       q(Judeo-Iraqi Arabic),
       ],
-   q(7643) => [
+   q(7642) => [
       q(Hlepho Phowa),
       ],
+   q(7643) => [
+      q(Yan-nhanu Sign Language),
+      ],
    q(7644) => [
       q(Yinggarda),
       ],
@@ -24270,7 +24280,7 @@ $Locale::Codes::Data{'language'}{'id2names'} = {
 
 $Locale::Codes::Data{'language'}{'alias2id'} = {
    q(!xoo) => [
-      q(4974),
+      q(4973),
       q(0),
       ],
    q('are'are) => [
@@ -24278,7 +24288,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q('auhelawa) => [
-      q(3647),
+      q(3646),
       q(0),
       ],
    q('oroe) => [
@@ -24286,7 +24296,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(//ani) => [
-      q(2803),
+      q(2802),
       q(0),
       ],
    q(//gana) => [
@@ -24294,19 +24304,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(//xegwi) => [
-      q(7329),
+      q(7328),
       q(0),
       ],
    q(/gwi) => [
-      q(2686),
+      q(2685),
       q(0),
       ],
    q(/xam) => [
-      q(7279),
+      q(7278),
       q(0),
       ],
    q(=/hua) => [
-      q(2853),
+      q(2852),
       q(0),
       ],
    q(=/ungkue) => [
@@ -24322,7 +24332,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(a-hmaos) => [
-      q(2780),
+      q(2779),
       q(1),
       ],
    q(a-pucikwar) => [
@@ -24338,7 +24348,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(abadi) => [
-      q(3201),
+      q(3200),
       q(0),
       ],
    q(abaga) => [
@@ -24354,7 +24364,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(abar) => [
-      q(4306),
+      q(4305),
       q(0),
       ],
    q(abau) => [
@@ -24422,7 +24432,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(abun) => [
-      q(3324),
+      q(3323),
       q(0),
       ],
    q(abure) => [
@@ -24430,15 +24440,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(abureni) => [
-      q(4258),
+      q(4257),
       q(0),
       ],
    q(acatepec me'phaa) => [
-      q(6673),
+      q(6672),
       q(0),
       ],
    q(acatepec tlapanec) => [
-      q(6673),
+      q(6672),
       q(1),
       ],
    q(achagua) => [
@@ -24450,7 +24460,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ache) => [
-      q(2657),
+      q(2656),
       q(0),
       ],
    q(acheron) => [
@@ -24490,7 +24500,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(adai) => [
-      q(7274),
+      q(7273),
       q(0),
       ],
    q(adamawa fulfulde) => [
@@ -24514,11 +24524,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(adara) => [
-      q(3170),
+      q(3169),
       q(0),
       ],
    q(adasen) => [
-      q(6532),
+      q(6531),
       q(0),
       ],
    q(adele) => [
@@ -24542,7 +24552,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(adivasi oriya) => [
-      q(5302),
+      q(5301),
       q(0),
       ],
    q(adiwasi garasia) => [
@@ -24582,7 +24592,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aequian) => [
-      q(7275),
+      q(7274),
       q(0),
       ],
    q(aer) => [
@@ -24598,7 +24608,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(afghan persian) => [
-      q(5601),
+      q(5600),
       q(1),
       ],
    q(afghan sign language) => [
@@ -24610,7 +24620,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(afra) => [
-      q(6893),
+      q(6892),
       q(1),
       ],
    q(afrihili) => [
@@ -24654,7 +24664,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aghu-tharnggala) => [
-      q(2641),
+      q(2640),
       q(0),
       ],
    q(aghul) => [
@@ -24662,7 +24672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aghwan) => [
-      q(7276),
+      q(7275),
       q(0),
       ],
    q(agi) => [
@@ -24670,11 +24680,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(agob) => [
-      q(3370),
+      q(3369),
       q(0),
       ],
    q(agoi) => [
-      q(2893),
+      q(2892),
       q(0),
       ],
    q(aguacateco) => [
@@ -24694,7 +24704,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(agusan manobo) => [
-      q(4541),
+      q(4540),
       q(0),
       ],
    q(agutaynen) => [
@@ -24702,7 +24712,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(agwagwune) => [
-      q(7596),
+      q(7595),
       q(0),
       ],
    q(ahan) => [
@@ -24714,7 +24724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aheu) => [
-      q(6504),
+      q(6503),
       q(0),
       ],
    q(ahirani) => [
@@ -24730,7 +24740,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ahwai) => [
-      q(4830),
+      q(4829),
       q(0),
       ],
    q(ai-cham) => [
@@ -24742,11 +24752,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aikana) => [
-      q(6379),
+      q(6378),
       q(0),
       ],
    q(aiklep) => [
-      q(4629),
+      q(4628),
       q(0),
       ],
    q(aimaq) => [
@@ -24790,7 +24800,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aiwoo) => [
-      q(4831),
+      q(4830),
       q(1),
       ],
    q(aja (benin)) => [
@@ -24810,11 +24820,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ajiya) => [
-      q(2904),
+      q(2903),
       q(1),
       ],
    q(ajumbu) => [
-      q(4581),
+      q(4580),
       q(0),
       ],
    q(ajyininka apurucayali) => [
@@ -24826,7 +24836,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aka) => [
-      q(6161),
+      q(6160),
       q(0),
       ],
    q(aka-bea) => [
@@ -24878,11 +24888,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akebu) => [
-      q(3276),
+      q(3275),
       q(0),
       ],
    q(akei) => [
-      q(6725),
+      q(6724),
       q(0),
       ],
    q(akeu) => [
@@ -24902,7 +24912,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akkala sami) => [
-      q(6033),
+      q(6032),
       q(0),
       ],
    q(aklanon) => [
@@ -24918,7 +24928,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akoye) => [
-      q(4316),
+      q(4315),
       q(0),
       ],
    q(akpa) => [
@@ -24926,7 +24936,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akpes) => [
-      q(2890),
+      q(2889),
       q(0),
       ],
    q(akrukay) => [
@@ -24934,7 +24944,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akukem) => [
-      q(6185),
+      q(6184),
       q(0),
       ],
    q(akuku) => [
@@ -24958,11 +24968,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akyaung ari naga) => [
-      q(5047),
+      q(5046),
       q(0),
       ],
    q(al-sayyid bedouin sign language) => [
-      q(6345),
+      q(6344),
       q(0),
       ],
    q(alaba-k'abeena) => [
@@ -24982,7 +24992,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alacatlatzala mixtec) => [
-      q(4309),
+      q(4308),
       q(0),
       ],
    q(alago) => [
@@ -24990,7 +25000,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alagwa) => [
-      q(7082),
+      q(7081),
       q(0),
       ],
    q(alak) => [
@@ -25006,7 +25016,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alanic) => [
-      q(7400),
+      q(7399),
       q(0),
       ],
    q(alapmunte) => [
@@ -25026,11 +25036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(albanian sign language) => [
-      q(6199),
+      q(6198),
       q(0),
       ],
    q(alcozauca mixtec) => [
-      q(7506),
+      q(7505),
       q(0),
       ],
    q(alege) => [
@@ -25114,7 +25124,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alu kurumba) => [
-      q(7529),
+      q(7528),
       q(0),
       ],
    q(alugu) => [
@@ -25154,7 +25164,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ama (sudan)) => [
-      q(5162),
+      q(5161),
       q(0),
       ],
    q(amahai) => [
@@ -25198,11 +25208,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(amba (solomon islands)) => [
-      q(6955),
+      q(6954),
       q(0),
       ],
    q(amba (uganda)) => [
-      q(5877),
+      q(5876),
       q(0),
       ],
    q(ambai) => [
@@ -25234,7 +25244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ambo-pasco quechua) => [
-      q(5699),
+      q(5698),
       q(0),
       ],
    q(ambonese malay) => [
@@ -25270,7 +25280,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(amganad ifugao) => [
-      q(2912),
+      q(2911),
       q(0),
       ],
    q(amharic) => [
@@ -25282,7 +25292,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(amio-gelimi) => [
-      q(3877),
+      q(3876),
       q(1),
       ],
    q(amis) => [
@@ -25298,7 +25308,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(amoltepec mixtec) => [
-      q(4151),
+      q(4150),
       q(0),
       ],
    q(ampanang) => [
@@ -25342,7 +25352,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anam) => [
-      q(5396),
+      q(5395),
       q(0),
       ],
    q(anambe) => [
@@ -25350,7 +25360,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anamgura) => [
-      q(2962),
+      q(2961),
       q(0),
       ],
    q(anasi) => [
@@ -25362,7 +25372,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ancient aramaic (up to 700 bce)) => [
-      q(5186),
+      q(5185),
       q(1),
       ],
    q(ancient greek (to 1453)) => [
@@ -25370,19 +25380,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(ancient hebrew) => [
-      q(2735),
+      q(2734),
       q(0),
       ],
    q(ancient macedonian) => [
-      q(7415),
+      q(7414),
       q(0),
       ],
    q(ancient north arabian) => [
-      q(7431),
+      q(7430),
       q(0),
       ],
    q(ancient zapotec) => [
-      q(7573),
+      q(7572),
       q(0),
       ],
    q(andaandi) => [
@@ -25398,11 +25408,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(andalusian arabic) => [
-      q(7271),
+      q(7270),
       q(0),
       ],
    q(andaman creole hindi) => [
-      q(2737),
+      q(2736),
       q(0),
       ],
    q(andaqui) => [
@@ -25454,7 +25464,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anfillo) => [
-      q(4684),
+      q(4683),
       q(0),
       ],
    q(angaataha) => [
@@ -25478,7 +25488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(angami naga) => [
-      q(4911),
+      q(4910),
       q(0),
       ],
    q(angguruk yali) => [
@@ -25494,11 +25504,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anglo-norman) => [
-      q(7438),
+      q(7437),
       q(0),
       ],
    q(angloromani) => [
-      q(5808),
+      q(5807),
       q(0),
       ],
    q(angolar) => [
@@ -25514,13 +25524,17 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(angosturas tunebo) => [
-      q(6613),
+      q(6612),
       q(0),
       ],
    q(anguthimri) => [
       q(0969),
       q(0),
       ],
+   q(ani) => [
+      q(2802),
+      q(1),
+      ],
    q(ani phowa) => [
       q(7730),
       q(0),
@@ -25550,7 +25564,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anong) => [
-      q(5115),
+      q(5114),
       q(0),
       ],
    q(anor) => [
@@ -25570,7 +25584,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(antankarana malagasy) => [
-      q(7426),
+      q(7425),
       q(0),
       ],
    q(antigua and barbuda creole english) => [
@@ -25606,15 +25620,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anyin morofo) => [
-      q(4555),
+      q(4554),
       q(0),
       ],
    q(ao naga) => [
-      q(4913),
+      q(4912),
       q(0),
       ],
    q(aoheng) => [
-      q(5535),
+      q(5534),
       q(0),
       ],
    q(aore) => [
@@ -25622,7 +25636,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ap ma) => [
-      q(3205),
+      q(3204),
       q(0),
       ],
    q(apache languages) => [
@@ -25630,7 +25644,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(apalachee) => [
-      q(7282),
+      q(7281),
       q(0),
       ],
    q(apalai) => [
@@ -25642,7 +25656,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(apasco-apoala mixtec) => [
-      q(4311),
+      q(4310),
       q(0),
       ],
    q(apatani) => [
@@ -25674,7 +25688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aquitanian) => [
-      q(7283),
+      q(7282),
       q(0),
       ],
    q(arabana) => [
@@ -25698,7 +25712,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arakwal) => [
-      q(5803),
+      q(5802),
       q(0),
       ],
    q(aralle-tabulahan) => [
@@ -25706,7 +25720,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arammba) => [
-      q(6262),
+      q(6261),
       q(0),
       ],
    q(aranadan) => [
@@ -25714,11 +25728,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aranama-tamique) => [
-      q(7485),
+      q(7484),
       q(0),
       ],
    q(arandai) => [
-      q(3062),
+      q(3061),
       q(0),
       ],
    q(araona) => [
@@ -25734,7 +25748,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ararandewara) => [
-      q(7278),
+      q(7277),
       q(0),
       ],
    q(arauan languages) => [
@@ -25774,11 +25788,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ardhamagadhi prakrit) => [
-      q(5473),
+      q(5472),
       q(0),
       ],
    q(are) => [
-      q(4626),
+      q(4625),
       q(0),
       ],
    q(areba) => [
@@ -25790,7 +25804,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arequipa-la union quechua) => [
-      q(5731),
+      q(5730),
       q(0),
       ],
    q(argentine sign language) => [
@@ -25822,7 +25836,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aribwatsa) => [
-      q(3811),
+      q(3810),
       q(0),
       ],
    q(aribwaung) => [
@@ -25850,11 +25864,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arin) => [
-      q(7482),
+      q(7481),
       q(0),
       ],
    q(aringa) => [
-      q(4076),
+      q(4075),
       q(0),
       ],
    q(arma) => [
@@ -25862,7 +25876,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(armazic) => [
-      q(7481),
+      q(7480),
       q(0),
       ],
    q(armenian) => [
@@ -25898,7 +25912,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arritinngithigh) => [
-      q(5852),
+      q(5851),
       q(0),
       ],
    q(arta) => [
@@ -25918,7 +25932,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aruamu) => [
-      q(4552),
+      q(4551),
       q(0),
       ],
    q(aruek) => [
@@ -25930,7 +25944,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(aruop) => [
-      q(4065),
+      q(4064),
       q(0),
       ],
    q(arutani) => [
@@ -25946,7 +25960,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(asaro'o) => [
-      q(4575),
+      q(4574),
       q(0),
       ],
    q(asas) => [
@@ -25966,7 +25980,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(asheninka perene) => [
-      q(5599),
+      q(5598),
       q(0),
       ],
    q(ashkun) => [
@@ -25998,11 +26012,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(assan) => [
-      q(7502),
+      q(7501),
       q(0),
       ],
    q(assangori) => [
-      q(6058),
+      q(6057),
       q(0),
       ],
    q(assiniboine) => [
@@ -26030,7 +26044,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(asue awyu) => [
-      q(5608),
+      q(5607),
       q(0),
       ],
    q(asumboa) => [
@@ -26062,11 +26076,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(atatlahuca mixtec) => [
-      q(4299),
+      q(4298),
       q(0),
       ],
    q(atayal) => [
-      q(6377),
+      q(6376),
       q(0),
       ],
    q(atemble) => [
@@ -26118,7 +26132,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(attapady kurumba) => [
-      q(5481),
+      q(5480),
       q(0),
       ],
    q(attie) => [
@@ -26126,7 +26140,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(atzingo matlatzinca) => [
-      q(5199),
+      q(5198),
       q(0),
       ],
    q(au) => [
@@ -26178,7 +26192,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(auwe) => [
-      q(6118),
+      q(6117),
       q(0),
       ],
    q(auye) => [
@@ -26190,7 +26204,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ava guarani) => [
-      q(4862),
+      q(4861),
       q(1),
       ],
    q(ava-canoeiro) => [
@@ -26210,7 +26224,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(avava) => [
-      q(6587),
+      q(6586),
       q(1),
       ],
    q(avestan) => [
@@ -26226,7 +26240,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(awa (china)) => [
-      q(7054),
+      q(7053),
       q(0),
       ],
    q(awa (papua new guinea)) => [
@@ -26234,7 +26248,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(awa-cuaiquer) => [
-      q(3700),
+      q(3699),
       q(0),
       ],
    q(awabakal) => [
@@ -26294,11 +26308,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(awngthim) => [
-      q(2687),
+      q(2686),
       q(0),
       ],
    q(awtuw) => [
-      q(3466),
+      q(3465),
       q(0),
       ],
    q(awu) => [
@@ -26330,15 +26344,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ayacucho quechua) => [
-      q(5697),
+      q(5696),
       q(0),
       ],
    q(ayangan ifugao) => [
-      q(2913),
+      q(2912),
       q(1),
       ],
    q(ayautla mazatec) => [
-      q(7038),
+      q(7037),
       q(0),
       ],
    q(ayere) => [
@@ -26354,7 +26368,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ayiwo) => [
-      q(4831),
+      q(4830),
       q(0),
       ],
    q(ayizi) => [
@@ -26382,7 +26396,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ayutla mixtec) => [
-      q(4318),
+      q(4317),
       q(0),
       ],
    q(azerbaijani) => [
@@ -26398,11 +26412,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(azoyu me'phaa) => [
-      q(6656),
+      q(6655),
       q(0),
       ],
    q(azoyu tlapanec) => [
-      q(6656),
+      q(6655),
       q(1),
       ],
    q(baan) => [
@@ -26422,7 +26436,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(baba malay) => [
-      q(4132),
+      q(4131),
       q(0),
       ],
    q(babalia creole arabic) => [
@@ -26462,7 +26476,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bactrian) => [
-      q(7293),
+      q(7292),
       q(0),
       ],
    q(bada (indonesia)) => [
@@ -26486,7 +26500,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(badi kanum) => [
-      q(3334),
+      q(3333),
       q(0),
       ],
    q(badimaya) => [
@@ -26494,7 +26508,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(badjiri) => [
-      q(3061),
+      q(3060),
       q(0),
       ],
    q(badui) => [
@@ -26502,7 +26516,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(badyara) => [
-      q(5373),
+      q(5372),
       q(0),
       ],
    q(baeggu) => [
@@ -26526,7 +26540,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bafia) => [
-      q(3598),
+      q(3597),
       q(0),
       ],
    q(bafut) => [
@@ -26590,11 +26604,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bagvalal) => [
-      q(3666),
+      q(3665),
       q(0),
       ],
    q(baha buyang) => [
-      q(7641),
+      q(7640),
       q(0),
       ],
    q(baham) => [
@@ -26706,7 +26720,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bakole) => [
-      q(3457),
+      q(3456),
       q(0),
       ],
    q(bakpinka) => [
@@ -26730,7 +26744,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(balangingi) => [
-      q(6232),
+      q(6231),
       q(0),
       ],
    q(balanta-ganja) => [
@@ -26766,7 +26780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(balinese malay) => [
-      q(4288),
+      q(4287),
       q(0),
       ],
    q(balkan gagauz turkish) => [
@@ -26774,7 +26788,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(balkan romani) => [
-      q(5816),
+      q(5815),
       q(0),
       ],
    q(balo) => [
@@ -26794,7 +26808,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(baltic romani) => [
-      q(5814),
+      q(5813),
       q(0),
       ],
    q(baluan-pam) => [
@@ -26818,7 +26832,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bambam) => [
-      q(5636),
+      q(5635),
       q(0),
       ],
    q(bambara) => [
@@ -26826,7 +26840,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bambassi) => [
-      q(4676),
+      q(4675),
       q(0),
       ],
    q(bambili-bambui) => [
@@ -26870,7 +26884,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(banam bay) => [
-      q(7046),
+      q(7045),
       q(1),
       ],
    q(banao itneg) => [
@@ -26894,7 +26908,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(banda-bambari) => [
-      q(3929),
+      q(3928),
       q(0),
       ],
    q(banda-banda) => [
@@ -26910,7 +26924,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(banda-yangere) => [
-      q(7583),
+      q(7582),
       q(0),
       ],
    q(bandi) => [
@@ -26954,11 +26968,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bangingih sama) => [
-      q(6232),
+      q(6231),
       q(1),
       ],
    q(bangka) => [
-      q(4225),
+      q(4224),
       q(0),
       ],
    q(bangolan) => [
@@ -26990,7 +27004,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bankal) => [
-      q(3108),
+      q(3107),
       q(0),
       ],
    q(bankan tey dogon) => [
@@ -27042,7 +27056,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(barababaraba) => [
-      q(5760),
+      q(5759),
       q(0),
       ],
    q(barai) => [
@@ -27054,7 +27068,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(baram kayan) => [
-      q(3759),
+      q(3758),
       q(0),
       ],
    q(barama) => [
@@ -27086,7 +27100,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(barbaram) => [
-      q(7018),
+      q(7017),
       q(0),
       ],
    q(barbareno) => [
@@ -27094,7 +27108,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(barclayville grebo) => [
-      q(2630),
+      q(2629),
       q(0),
       ],
    q(bardi) => [
@@ -27110,7 +27124,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bargam) => [
-      q(4380),
+      q(4379),
       q(0),
       ],
    q(bari) => [
@@ -27130,7 +27144,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(barikewa) => [
-      q(3063),
+      q(3062),
       q(0),
       ],
    q(barok) => [
@@ -27142,7 +27156,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(barro negro tunebo) => [
-      q(6392),
+      q(6391),
       q(0),
       ],
    q(barrow point) => [
@@ -27234,7 +27248,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(batad ifugao) => [
-      q(2913),
+      q(2912),
       q(0),
       ],
    q(batak) => [
@@ -27314,7 +27328,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(batyala) => [
-      q(7306),
+      q(7305),
       q(0),
       ],
    q(bau) => [
@@ -27322,7 +27336,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bau bidayuh) => [
-      q(6136),
+      q(6135),
       q(0),
       ],
    q(bauchi) => [
@@ -27354,7 +27368,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bay miwok) => [
-      q(4357),
+      q(4356),
       q(0),
       ],
    q(bayali) => [
@@ -27546,7 +27560,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(beng) => [
-      q(4860),
+      q(4859),
       q(0),
       ],
    q(benga) => [
@@ -27614,7 +27628,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(berta) => [
-      q(7241),
+      q(7240),
       q(0),
       ],
    q(berti) => [
@@ -27622,7 +27636,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(besisi) => [
-      q(4278),
+      q(4277),
       q(0),
       ],
    q(besme) => [
@@ -27654,11 +27668,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(betta kurumba) => [
-      q(7530),
+      q(7529),
       q(0),
       ],
    q(bezhta) => [
-      q(3179),
+      q(3178),
       q(0),
       ],
    q(bhadrawahi) => [
@@ -27706,7 +27720,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bhoti kinnauri) => [
-      q(4822),
+      q(4821),
       q(0),
       ],
    q(bhujel) => [
@@ -27758,11 +27772,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bibbulman) => [
-      q(7302),
+      q(7301),
       q(0),
       ],
    q(bidhawal) => [
-      q(2932),
+      q(2931),
       q(0),
       ],
    q(bidiyo) => [
@@ -27794,7 +27808,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(big nambas) => [
-      q(4962),
+      q(4961),
       q(0),
       ],
    q(biga) => [
@@ -27802,7 +27816,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bigambal) => [
-      q(7295),
+      q(7294),
       q(0),
       ],
    q(bihari languages) => [
@@ -27834,7 +27848,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bilaspuri) => [
-      q(3300),
+      q(3299),
       q(0),
       ],
    q(bilba) => [
@@ -27898,7 +27912,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bindal) => [
-      q(7294),
+      q(7293),
       q(0),
       ],
    q(bine) => [
@@ -27914,7 +27928,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(binongan itneg) => [
-      q(3010),
+      q(3009),
       q(0),
       ],
    q(bintauna) => [
@@ -27970,7 +27984,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(birrpayi) => [
-      q(7298),
+      q(7297),
       q(0),
       ],
    q(birwa) => [
@@ -27982,7 +27996,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(biseni) => [
-      q(2935),
+      q(2934),
       q(0),
       ],
    q(bishnupriya) => [
@@ -28022,7 +28036,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bitur) => [
-      q(4154),
+      q(4153),
       q(0),
       ],
    q(biwat) => [
@@ -28078,11 +28092,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bo-rukul) => [
-      q(4116),
+      q(4115),
       q(0),
       ],
    q(bo-ung) => [
-      q(4597),
+      q(4596),
       q(0),
       ],
    q(boano (maluku)) => [
@@ -28146,7 +28160,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bokha) => [
-      q(7604),
+      q(7603),
       q(0),
       ],
    q(bokmal, norwegian) => [
@@ -28186,7 +28200,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bolgarian) => [
-      q(7301),
+      q(7300),
       q(0),
       ],
    q(bolgo) => [
@@ -28198,7 +28212,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bolinao) => [
-      q(6121),
+      q(6120),
       q(0),
       ],
    q(bolivian sign language) => [
@@ -28226,7 +28240,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bolyu) => [
-      q(5505),
+      q(5504),
       q(0),
       ],
    q(bom) => [
@@ -28262,7 +28276,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bonan) => [
-      q(5409),
+      q(5408),
       q(0),
       ],
    q(bondei) => [
@@ -28274,7 +28288,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bondoukou kulango) => [
-      q(3769),
+      q(3768),
       q(0),
       ],
    q(bondum dom dogon) => [
@@ -28350,7 +28364,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(border kuna) => [
-      q(3679),
+      q(3678),
       q(0),
       ],
    q(borei) => [
@@ -28370,11 +28384,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(boro (ghana)) => [
-      q(7559),
+      q(7558),
       q(0),
       ],
    q(borong) => [
-      q(3610),
+      q(3609),
       q(0),
       ],
    q(bororo) => [
@@ -28406,15 +28420,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(botolan sambal) => [
-      q(5912),
+      q(5911),
       q(0),
       ],
    q(bouna kulango) => [
-      q(4940),
+      q(4939),
       q(0),
       ],
    q(bouyei) => [
-      q(5382),
+      q(5381),
       q(0),
       ],
    q(bozaba) => [
@@ -28466,7 +28480,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(brokpake) => [
-      q(6003),
+      q(6002),
       q(0),
       ],
    q(brokskat) => [
@@ -28474,7 +28488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(brooke's point palawano) => [
-      q(5504),
+      q(5503),
       q(0),
       ],
    q(broome pearling lugger pidgin) => [
@@ -28482,7 +28496,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(brunei) => [
-      q(3720),
+      q(3719),
       q(0),
       ],
    q(brunei bisaya) => [
@@ -28490,7 +28504,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bu) => [
-      q(3094),
+      q(3093),
       q(0),
       ],
    q(bu-nao bunu) => [
@@ -28522,7 +28536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(budeh stieng) => [
-      q(6271),
+      q(6270),
       q(0),
       ],
    q(budibud) => [
@@ -28566,7 +28580,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(buglere) => [
-      q(5886),
+      q(5885),
       q(0),
       ],
    q(bugun) => [
@@ -28574,7 +28588,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(buhi'non bikol) => [
-      q(6856),
+      q(6855),
       q(0),
       ],
    q(buhid) => [
@@ -28586,7 +28600,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bukar-sadung bidayuh) => [
-      q(5954),
+      q(5953),
       q(0),
       ],
    q(bukat) => [
@@ -28610,7 +28624,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(buksa) => [
-      q(6548),
+      q(6547),
       q(0),
       ],
    q(bukusu) => [
@@ -28646,7 +28660,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bulo stieng) => [
-      q(6260),
+      q(6259),
       q(0),
       ],
    q(bulu (cameroon)) => [
@@ -28674,7 +28688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bumthangkha) => [
-      q(3401),
+      q(3400),
       q(0),
       ],
    q(bun) => [
@@ -28710,7 +28724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bunganditj) => [
-      q(7296),
+      q(7295),
       q(0),
       ],
    q(bungku) => [
@@ -28718,7 +28732,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bungu) => [
-      q(7251),
+      q(7250),
       q(0),
       ],
    q(bunoge dogon) => [
@@ -28770,7 +28784,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(burmbar) => [
-      q(7046),
+      q(7045),
       q(0),
       ],
    q(burmese) => [
@@ -28782,7 +28796,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(buru (indonesia)) => [
-      q(4291),
+      q(4290),
       q(0),
       ],
    q(buru (nigeria)) => [
@@ -28862,7 +28876,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(butbut kalinga) => [
-      q(3742),
+      q(3741),
       q(0),
       ],
    q(butmas-tur) => [
@@ -28886,7 +28900,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(buyuan jinuo) => [
-      q(3106),
+      q(3105),
       q(0),
       ],
    q(bwa) => [
@@ -28898,7 +28912,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bwanabwana) => [
-      q(6738),
+      q(6737),
       q(0),
       ],
    q(bwatoo) => [
@@ -28926,7 +28940,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(byep) => [
-      q(4351),
+      q(4350),
       q(0),
       ],
    q(c'lela) => [
@@ -28934,7 +28948,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(caac) => [
-      q(4545),
+      q(4544),
       q(0),
       ],
    q(cabecar) => [
@@ -28946,7 +28960,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cacaloxtepec mixtec) => [
-      q(4315),
+      q(4314),
       q(0),
       ],
    q(cacaopera) => [
@@ -28954,7 +28968,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cacgia roglai) => [
-      q(5837),
+      q(5836),
       q(0),
       ],
    q(cacua) => [
@@ -28986,15 +29000,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cahungwarya) => [
-      q(4734),
+      q(4733),
       q(0),
       ],
    q(cajamarca quechua) => [
-      q(5700),
+      q(5699),
       q(0),
       ],
    q(cajatambo north lima quechua) => [
-      q(5705),
+      q(5704),
       q(0),
       ],
    q(cajonos zapotec) => [
@@ -29022,11 +29036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(calamian tagbanwa) => [
-      q(6389),
+      q(6388),
       q(0),
       ],
    q(calderon highland quichua) => [
-      q(5681),
+      q(5680),
       q(0),
       ],
    q(callawalla) => [
@@ -29034,7 +29048,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(calo) => [
-      q(5819),
+      q(5818),
       q(0),
       ],
    q(caluyanun) => [
@@ -29042,15 +29056,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cameroon mambila) => [
-      q(4172),
+      q(4171),
       q(0),
       ],
    q(cameroon pidgin) => [
-      q(7110),
+      q(7109),
       q(0),
       ],
    q(camling) => [
-      q(5736),
+      q(5735),
       q(0),
       ],
    q(campalagian) => [
@@ -29058,11 +29072,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(campidanese sardinian) => [
-      q(6219),
+      q(6218),
       q(0),
       ],
    q(camsa) => [
-      q(3189),
+      q(3188),
       q(0),
       ],
    q(camtho) => [
@@ -29070,11 +29084,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(camunic) => [
-      q(7308),
+      q(7307),
       q(0),
       ],
    q(canar highland quichua) => [
-      q(5728),
+      q(5727),
       q(0),
       ],
    q(candoshi-shapra) => [
@@ -29082,7 +29096,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(canela) => [
-      q(5745),
+      q(5744),
       q(0),
       ],
    q(canichana) => [
@@ -29094,7 +29108,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(cao lan) => [
-      q(4369),
+      q(4368),
       q(0),
       ],
    q(cao miao) => [
@@ -29102,7 +29116,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(capanahua) => [
-      q(3180),
+      q(3179),
       q(0),
       ],
    q(capiznon) => [
@@ -29138,15 +29152,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(carian) => [
-      q(7316),
+      q(7315),
       q(0),
       ],
    q(caribbean hindustani) => [
-      q(2808),
+      q(2807),
       q(0),
       ],
    q(caribbean javanese) => [
-      q(3165),
+      q(3164),
       q(0),
       ],
    q(carijona) => [
@@ -29162,7 +29176,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(carpathian romani) => [
-      q(5806),
+      q(5805),
       q(0),
       ],
    q(carrier) => [
@@ -29222,11 +29236,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cayuse) => [
-      q(7321),
+      q(7320),
       q(0),
       ],
    q(cebaara senoufo) => [
-      q(5967),
+      q(5966),
       q(0),
       ],
    q(cebuano) => [
@@ -29234,7 +29248,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(celtiberian) => [
-      q(7309),
+      q(7308),
       q(0),
       ],
    q(celtic languages) => [
@@ -29258,7 +29272,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central atlas tamazight) => [
-      q(6847),
+      q(6846),
       q(0),
       ],
    q(central awyu) => [
@@ -29282,7 +29296,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central bontok) => [
-      q(3820),
+      q(3819),
       q(0),
       ],
    q(central cagayan agta) => [
@@ -29294,7 +29308,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central grebo) => [
-      q(2627),
+      q(2626),
       q(0),
       ],
    q(central hongshuihe zhuang) => [
@@ -29302,19 +29316,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central huasteca nahuatl) => [
-      q(4768),
+      q(4767),
       q(0),
       ],
    q(central huishui hmong) => [
-      q(2779),
+      q(2778),
       q(0),
       ],
    q(central huishui miao) => [
-      q(2779),
+      q(2778),
       q(1),
       ],
    q(central kanuri) => [
-      q(3481),
+      q(3480),
       q(0),
       ],
    q(central khmer) => [
@@ -29330,11 +29344,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(central maewo) => [
-      q(4635),
+      q(4634),
       q(0),
       ],
    q(central malay) => [
-      q(5611),
+      q(5610),
       q(0),
       ],
    q(central malayo-polynesian languages) => [
@@ -29342,23 +29356,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central masela) => [
-      q(4671),
+      q(4670),
       q(0),
       ],
    q(central mashan hmong) => [
-      q(2789),
+      q(2788),
       q(0),
       ],
    q(central mashan miao) => [
-      q(2789),
+      q(2788),
       q(1),
       ],
    q(central mazahua) => [
-      q(4126),
+      q(4125),
       q(0),
       ],
    q(central melanau) => [
-      q(4211),
+      q(4210),
       q(0),
       ],
    q(central mnong) => [
@@ -29366,43 +29380,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central nahuatl) => [
-      q(4870),
+      q(4869),
       q(0),
       ],
    q(central nicobarese) => [
-      q(4762),
+      q(4761),
       q(0),
       ],
    q(central ojibwa) => [
-      q(5218),
+      q(5217),
       q(0),
       ],
    q(central okinawan) => [
-      q(5884),
+      q(5883),
       q(0),
       ],
    q(central palawano) => [
-      q(5487),
+      q(5486),
       q(0),
       ],
    q(central pame) => [
-      q(5375),
+      q(5374),
       q(0),
       ],
    q(central pashto) => [
-      q(5623),
+      q(5622),
       q(0),
       ],
    q(central pomo) => [
-      q(5562),
+      q(5561),
       q(0),
       ],
    q(central puebla nahuatl) => [
-      q(4781),
+      q(4780),
       q(0),
       ],
    q(central sama) => [
-      q(6122),
+      q(6121),
       q(0),
       ],
    q(central siberian yupik) => [
@@ -29414,7 +29428,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central subanen) => [
-      q(6335),
+      q(6334),
       q(0),
       ],
    q(central sudanic languages) => [
@@ -29422,15 +29436,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central tagbanwa) => [
-      q(6489),
+      q(6488),
       q(0),
       ],
    q(central tarahumara) => [
-      q(6371),
+      q(6370),
       q(0),
       ],
    q(central tunebo) => [
-      q(6764),
+      q(6763),
       q(0),
       ],
    q(central yupik) => [
@@ -29450,11 +29464,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chabu) => [
-      q(5906),
+      q(5905),
       q(0),
       ],
    q(chachapoyas quechua) => [
-      q(5686),
+      q(5685),
       q(0),
       ],
    q(chachi) => [
@@ -29466,7 +29480,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chadian arabic) => [
-      q(6027),
+      q(6026),
       q(0),
       ],
    q(chadian sign language) => [
@@ -29510,7 +29524,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chalikha) => [
-      q(6479),
+      q(6478),
       q(0),
       ],
    q(chamacoco) => [
@@ -29550,7 +29564,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chang naga) => [
-      q(4741),
+      q(4740),
       q(0),
       ],
    q(changriwa) => [
@@ -29586,15 +29600,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chayuco mixtec) => [
-      q(4304),
+      q(4303),
       q(0),
       ],
    q(chazumba mixtec) => [
-      q(7507),
+      q(7506),
       q(0),
       ],
    q(che) => [
-      q(5868),
+      q(5867),
       q(0),
       ],
    q(chechen) => [
@@ -29602,11 +29616,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cheke holo) => [
-      q(4517),
+      q(4516),
       q(0),
       ],
    q(chemakum) => [
-      q(7311),
+      q(7310),
       q(0),
       ],
    q(chenapian) => [
@@ -29626,7 +29640,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chepya) => [
-      q(7614),
+      q(7613),
       q(0),
       ],
    q(cheq wong) => [
@@ -29642,7 +29656,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chesu) => [
-      q(7611),
+      q(7610),
       q(0),
       ],
    q(chetco) => [
@@ -29662,7 +29676,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chhattisgarhi) => [
-      q(2802),
+      q(2801),
       q(0),
       ],
    q(chhintange) => [
@@ -29690,7 +29704,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chicahuaxtla triqui) => [
-      q(6704),
+      q(6703),
       q(0),
       ],
    q(chichewa) => [
@@ -29702,7 +29716,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chichimeca-jonaz) => [
-      q(5410),
+      q(5409),
       q(0),
       ],
    q(chichonyi-chidzihana-chikauma) => [
@@ -29730,7 +29744,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chigmecatitlan mixtec) => [
-      q(4305),
+      q(4304),
       q(0),
       ],
    q(chilcotin) => [
@@ -29754,7 +29768,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chimakum) => [
-      q(7311),
+      q(7310),
       q(1),
       ],
    q(chimalapa zoque) => [
@@ -29766,7 +29780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chimborazo highland quichua) => [
-      q(5683),
+      q(5682),
       q(0),
       ],
    q(chimila) => [
@@ -29786,7 +29800,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chincha quechua) => [
-      q(5721),
+      q(5720),
       q(0),
       ],
    q(chinese) => [
@@ -29834,11 +29848,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chiquian ancash quechua) => [
-      q(5720),
+      q(5719),
       q(0),
       ],
    q(chiquihuitlan mazatec) => [
-      q(4120),
+      q(4119),
       q(0),
       ],
    q(chiquitano) => [
@@ -29846,7 +29860,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chiripa) => [
-      q(4862),
+      q(4861),
       q(0),
       ],
    q(chiru) => [
@@ -29866,7 +29880,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chitwania tharu) => [
-      q(6498),
+      q(6497),
       q(0),
       ],
    q(choapan zapotec) => [
@@ -29890,7 +29904,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chokri naga) => [
-      q(5054),
+      q(5053),
       q(0),
       ],
    q(chokwe) => [
@@ -29922,7 +29936,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chorasmian) => [
-      q(7315),
+      q(7314),
       q(0),
       ],
    q(chorti) => [
@@ -29930,7 +29944,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chothe naga) => [
-      q(4779),
+      q(4778),
       q(0),
       ],
    q(chrau) => [
@@ -29978,7 +29992,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chumburung) => [
-      q(4780),
+      q(4779),
       q(0),
       ],
    q(churahi) => [
@@ -29994,7 +30008,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(chut) => [
-      q(5927),
+      q(5926),
       q(0),
       ],
    q(chuukese) => [
@@ -30002,7 +30016,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chuvantsy) => [
-      q(7319),
+      q(7318),
       q(0),
       ],
    q(chuvash) => [
@@ -30046,7 +30060,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cisalpine gaulish) => [
-      q(7310),
+      q(7309),
       q(0),
       ],
    q(cishingini) => [
@@ -30054,11 +30068,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(citak) => [
-      q(6825),
+      q(6824),
       q(0),
       ],
    q(ciwogai) => [
-      q(6477),
+      q(6476),
       q(0),
       ],
    q(clallam) => [
@@ -30066,11 +30080,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(classical armenian) => [
-      q(7312),
+      q(7311),
       q(0),
       ],
    q(classical mandaic) => [
-      q(4692),
+      q(4691),
       q(0),
       ],
    q(classical mongolian) => [
@@ -30078,7 +30092,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(classical nahuatl) => [
-      q(4769),
+      q(4768),
       q(0),
       ],
    q(classical nepal bhasa) => [
@@ -30090,7 +30104,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(classical quechua) => [
-      q(5715),
+      q(5714),
       q(0),
       ],
    q(classical syriac) => [
@@ -30098,11 +30112,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(classical tibetan) => [
-      q(7317),
+      q(7316),
       q(0),
       ],
    q(coahuilteco) => [
-      q(7320),
+      q(7319),
       q(0),
       ],
    q(coast miwok) => [
@@ -30110,11 +30124,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(coastal kadazan) => [
-      q(3775),
+      q(3774),
       q(0),
       ],
    q(coastal konjo) => [
-      q(3379),
+      q(3378),
       q(0),
       ],
    q(coatecas altas zapotec) => [
@@ -30122,11 +30136,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(coatepec nahuatl) => [
-      q(4738),
+      q(4737),
       q(0),
       ],
    q(coatlan mixe) => [
-      q(4166),
+      q(4165),
       q(0),
       ],
    q(coatlan zapotec) => [
@@ -30134,7 +30148,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(coatzospan mixtec) => [
-      q(4319),
+      q(4318),
       q(0),
       ],
    q(cocama-cocamilla) => [
@@ -30162,11 +30176,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cogui) => [
-      q(3509),
+      q(3508),
       q(0),
       ],
    q(col) => [
-      q(3927),
+      q(3926),
       q(0),
       ],
    q(colombian sign language) => [
@@ -30194,7 +30208,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(comecrudo) => [
-      q(7313),
+      q(7312),
       q(0),
       ],
    q(como karim) => [
@@ -30210,7 +30224,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(congo swahili) => [
-      q(6300),
+      q(6299),
       q(0),
       ],
    q(cook islands maori) => [
@@ -30230,7 +30244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(copala triqui) => [
-      q(6689),
+      q(6688),
       q(0),
       ],
    q(coptic) => [
@@ -30250,7 +30264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(corongo ancash quechua) => [
-      q(5714),
+      q(5713),
       q(0),
       ],
    q(corsican) => [
@@ -30262,11 +30276,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cotabato manobo) => [
-      q(4554),
+      q(4553),
       q(0),
       ],
    q(cotoname) => [
-      q(7314),
+      q(7313),
       q(0),
       ],
    q(cowlitz) => [
@@ -30274,7 +30288,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(coxima) => [
-      q(3520),
+      q(3519),
       q(0),
       ],
    q(coyaima) => [
@@ -30282,11 +30296,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(coyotepec popoloca) => [
-      q(5366),
+      q(5365),
       q(0),
       ],
    q(coyutla totonac) => [
-      q(6635),
+      q(6634),
       q(0),
       ],
    q(cree) => [
@@ -30346,7 +30360,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cross river mbembe) => [
-      q(4237),
+      q(4236),
       q(0),
       ],
    q(crow) => [
@@ -30386,7 +30400,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cumbric) => [
-      q(7307),
+      q(7306),
       q(0),
       ],
    q(cumeral) => [
@@ -30398,7 +30412,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cuneiform luwian) => [
-      q(7404),
+      q(7403),
       q(0),
       ],
    q(cung) => [
@@ -30410,15 +30424,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(curonian) => [
-      q(7318),
+      q(7317),
       q(0),
       ],
    q(curripaco) => [
-      q(3525),
+      q(3524),
       q(0),
       ],
    q(cusco quechua) => [
-      q(5698),
+      q(5697),
       q(0),
       ],
    q(cushitic languages) => [
@@ -30434,7 +30448,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cuyamecalco mixtec) => [
-      q(7524),
+      q(7523),
       q(0),
       ],
    q(cuyonon) => [
@@ -30458,11 +30472,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(da'a kaili) => [
-      q(3772),
+      q(3771),
       q(0),
       ],
    q(da-hua miao) => [
-      q(2780),
+      q(2779),
       q(2),
       ],
    q(daai chin) => [
@@ -30474,7 +30488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(daantanai') => [
-      q(4003),
+      q(4002),
       q(0),
       ],
    q(daasanach) => [
@@ -30494,7 +30508,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dacian) => [
-      q(7323),
+      q(7322),
       q(0),
       ],
    q(dadi dadi) => [
@@ -30502,7 +30516,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dadibi) => [
-      q(4472),
+      q(4471),
       q(0),
       ],
    q(dadiya) => [
@@ -30570,7 +30584,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dalabon) => [
-      q(4843),
+      q(4842),
       q(0),
       ],
    q(dalmatian) => [
@@ -30590,7 +30604,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(damal) => [
-      q(6875),
+      q(6874),
       q(0),
       ],
    q(dambi) => [
@@ -30626,7 +30640,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dangaura tharu) => [
-      q(6503),
+      q(6502),
       q(0),
       ],
    q(danish) => [
@@ -30670,7 +30684,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(darang deng) => [
-      q(4293),
+      q(4292),
       q(1),
       ],
    q(dargwa) => [
@@ -30678,11 +30692,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dari) => [
-      q(5601),
+      q(5600),
       q(0),
       ],
    q(darkinyung) => [
-      q(7322),
+      q(7321),
       q(0),
       ],
    q(darlong) => [
@@ -30702,7 +30716,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(datooga) => [
-      q(6406),
+      q(6405),
       q(0),
       ],
    q(daungwurrung) => [
@@ -30718,7 +30732,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(daw) => [
-      q(3692),
+      q(3691),
       q(0),
       ],
    q(dawawa) => [
@@ -30766,7 +30780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(deg) => [
-      q(4714),
+      q(4713),
       q(0),
       ],
    q(degaru) => [
@@ -30782,7 +30796,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(degexit'an) => [
-      q(2970),
+      q(2969),
       q(0),
       ],
    q(dehu) => [
@@ -30798,7 +30812,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dela-oenale) => [
-      q(5847),
+      q(5846),
       q(0),
       ],
    q(delaware) => [
@@ -30806,7 +30820,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(delo) => [
-      q(5096),
+      q(5095),
       q(0),
       ],
    q(dem) => [
@@ -30862,11 +30876,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dera (indonesia)) => [
-      q(3203),
+      q(3202),
       q(0),
       ],
    q(dera (nigeria)) => [
-      q(3479),
+      q(3478),
       q(0),
       ],
    q(desano) => [
@@ -30910,7 +30924,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dhao) => [
-      q(4829),
+      q(4828),
       q(0),
       ],
    q(dhargari) => [
@@ -30918,15 +30932,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dharuk) => [
-      q(7324),
+      q(7323),
       q(0),
       ],
    q(dharumbal) => [
-      q(7345),
+      q(7344),
       q(0),
       ],
    q(dhatki) => [
-      q(4349),
+      q(4348),
       q(0),
       ],
    q(dhimal) => [
@@ -30974,7 +30988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dibabawon manobo) => [
-      q(4130),
+      q(4129),
       q(0),
       ],
    q(dibiyaso) => [
@@ -31002,7 +31016,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(diebroud) => [
-      q(6394),
+      q(6393),
       q(1),
       ],
    q(dieri) => [
@@ -31010,7 +31024,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(digaro-mishmi) => [
-      q(4293),
+      q(4292),
       q(0),
       ],
    q(digo) => [
@@ -31030,7 +31044,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dima) => [
-      q(3116),
+      q(3115),
       q(0),
       ],
    q(dimasa) => [
@@ -31062,7 +31076,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(6),
       ],
    q(dineor) => [
-      q(4527),
+      q(4526),
       q(1),
       ],
    q(ding) => [
@@ -31098,7 +31112,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ditammari) => [
-      q(6403),
+      q(6402),
       q(0),
       ],
    q(ditidaht) => [
@@ -31110,7 +31124,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(diuxi-tilantongo mixtec) => [
-      q(7509),
+      q(7508),
       q(0),
       ],
    q(divehi) => [
@@ -31122,11 +31136,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dizin) => [
-      q(4198),
+      q(4197),
       q(0),
       ],
    q(djabwurrung) => [
-      q(6546),
+      q(6545),
       q(0),
       ],
    q(djadjawurrung) => [
@@ -31174,7 +31188,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(djingili) => [
-      q(3096),
+      q(3095),
       q(0),
       ],
    q(djiwarli) => [
@@ -31182,7 +31196,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dobel) => [
-      q(3680),
+      q(3679),
       q(0),
       ],
    q(dobu) => [
@@ -31234,7 +31248,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(doko-uyanga) => [
-      q(6966),
+      q(6965),
       q(0),
       ],
    q(dolgan) => [
@@ -31254,7 +31268,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(domari) => [
-      q(5821),
+      q(5820),
       q(0),
       ],
    q(dombe) => [
@@ -31302,7 +31316,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dongxiang) => [
-      q(5928),
+      q(5927),
       q(0),
       ],
    q(donno so dogon) => [
@@ -31318,11 +31332,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dorig) => [
-      q(7260),
+      q(7259),
       q(1),
       ],
    q(doromu-koki) => [
-      q(3549),
+      q(3548),
       q(0),
       ],
    q(dororo) => [
@@ -31342,7 +31356,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(doutai) => [
-      q(6443),
+      q(6442),
       q(0),
       ],
    q(doyayo) => [
@@ -31390,7 +31404,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dugun) => [
-      q(4800),
+      q(4799),
       q(0),
       ],
    q(duguri) => [
@@ -31402,11 +31416,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(duhwa) => [
-      q(3207),
+      q(3206),
       q(0),
       ],
    q(duke) => [
-      q(4925),
+      q(4924),
       q(0),
       ],
    q(dulbu) => [
@@ -31446,7 +31460,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dungmali) => [
-      q(5735),
+      q(5734),
       q(0),
       ],
    q(dungra bhil) => [
@@ -31466,7 +31480,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(duri) => [
-      q(4613),
+      q(4612),
       q(0),
       ],
    q(duriankere) => [
@@ -31478,7 +31492,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(duruwa) => [
-      q(5388),
+      q(5387),
       q(0),
       ],
    q(dusner) => [
@@ -31530,15 +31544,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(duwet) => [
-      q(2668),
+      q(2667),
       q(0),
       ],
    q(duya) => [
-      q(3846),
+      q(3845),
       q(0),
       ],
    q(dwang) => [
-      q(5006),
+      q(5005),
       q(0),
       ],
    q(dyaabugay) => [
@@ -31570,7 +31584,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dza) => [
-      q(3081),
+      q(3080),
       q(0),
       ],
    q(dzalakha) => [
@@ -31606,15 +31620,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(e'napa woromaipu) => [
-      q(5368),
+      q(5367),
       q(0),
       ],
    q(early tripuri) => [
-      q(7521),
+      q(7520),
       q(0),
       ],
    q(east ambae) => [
-      q(5251),
+      q(5250),
       q(0),
       ],
    q(east berawan) => [
@@ -31634,23 +31648,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(east kewa) => [
-      q(3395),
+      q(3394),
       q(0),
       ],
    q(east limba) => [
-      q(3975),
+      q(3974),
       q(0),
       ],
    q(east makian) => [
-      q(4365),
+      q(4364),
       q(0),
       ],
    q(east masela) => [
-      q(7021),
+      q(7020),
       q(0),
       ],
    q(east nyala) => [
-      q(4947),
+      q(4946),
       q(0),
       ],
    q(east slavic languages) => [
@@ -31658,7 +31672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(east tarangan) => [
-      q(6691),
+      q(6690),
       q(0),
       ],
    q(east yugur) => [
@@ -31674,7 +31688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern apurimac quechua) => [
-      q(5701),
+      q(5700),
       q(0),
       ],
    q(eastern arrernte) => [
@@ -31686,7 +31700,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern bolivian guarani) => [
-      q(2650),
+      q(2649),
       q(0),
       ],
    q(eastern bontok) => [
@@ -31698,7 +31712,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern canadian inuktitut) => [
-      q(2939),
+      q(2938),
       q(0),
       ],
    q(eastern cham) => [
@@ -31718,7 +31732,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern gorkha tamang) => [
-      q(6478),
+      q(6477),
       q(0),
       ],
    q(eastern gurung) => [
@@ -31730,7 +31744,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern highland otomi) => [
-      q(5322),
+      q(5321),
       q(0),
       ],
    q(eastern hongshuihe zhuang) => [
@@ -31738,19 +31752,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern huasteca nahuatl) => [
-      q(4863),
+      q(4862),
       q(0),
       ],
    q(eastern huishui hmong) => [
-      q(2781),
+      q(2780),
       q(0),
       ],
    q(eastern huishui miao) => [
-      q(2781),
+      q(2780),
       q(1),
       ],
    q(eastern karaboro) => [
-      q(7476),
+      q(7475),
       q(0),
       ],
    q(eastern karnic) => [
@@ -31758,7 +31772,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern katu) => [
-      q(3640),
+      q(3639),
       q(0),
       ],
    q(eastern kayah) => [
@@ -31766,7 +31780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern keres) => [
-      q(3260),
+      q(3259),
       q(0),
       ],
    q(eastern khumi chin) => [
@@ -31774,7 +31788,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern krahn) => [
-      q(3561),
+      q(3560),
       q(0),
       ],
    q(eastern lalu) => [
@@ -31782,11 +31796,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern lawa) => [
-      q(4101),
+      q(4100),
       q(0),
       ],
    q(eastern magar) => [
-      q(4264),
+      q(4263),
       q(0),
       ],
    q(eastern malayo-polynesian languages) => [
@@ -31798,7 +31812,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern mari) => [
-      q(4290),
+      q(4289),
       q(0),
       ],
    q(eastern maroon creole) => [
@@ -31810,7 +31824,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern mnong) => [
-      q(4419),
+      q(4418),
       q(0),
       ],
    q(eastern muria) => [
@@ -31818,39 +31832,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern ngad'a) => [
-      q(4806),
+      q(4805),
       q(0),
       ],
    q(eastern nisu) => [
-      q(5024),
+      q(5023),
       q(0),
       ],
    q(eastern ojibwa) => [
-      q(5219),
+      q(5218),
       q(0),
       ],
    q(eastern oromo) => [
-      q(2714),
+      q(2713),
       q(0),
       ],
    q(eastern parbate kham) => [
-      q(3359),
+      q(3358),
       q(0),
       ],
    q(eastern penan) => [
-      q(5421),
+      q(5420),
       q(0),
       ],
    q(eastern pomo) => [
-      q(5404),
+      q(5403),
       q(0),
       ],
    q(eastern qiandong miao) => [
-      q(2791),
+      q(2790),
       q(0),
       ],
    q(eastern subanen) => [
-      q(5986),
+      q(5985),
       q(0),
       ],
    q(eastern sudanic languages) => [
@@ -31858,7 +31872,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern tamang) => [
-      q(6364),
+      q(6363),
       q(0),
       ],
    q(eastern tawbuid) => [
@@ -31866,7 +31880,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern xiangxi miao) => [
-      q(4592),
+      q(4591),
       q(0),
       ],
    q(eastern xwla gbe) => [
@@ -31874,15 +31888,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern yiddish) => [
-      q(7616),
+      q(7615),
       q(0),
       ],
    q(ebira) => [
-      q(2920),
+      q(2919),
       q(0),
       ],
    q(eblan) => [
-      q(7327),
+      q(7326),
       q(0),
       ],
    q(ebrie) => [
@@ -31902,15 +31916,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ede ica) => [
-      q(2898),
+      q(2897),
       q(0),
       ],
    q(ede idaca) => [
-      q(2905),
+      q(2904),
       q(0),
       ],
    q(ede ije) => [
-      q(2936),
+      q(2935),
       q(0),
       ],
    q(edera awyu) => [
@@ -31926,7 +31940,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(edomite) => [
-      q(7325),
+      q(7324),
       q(0),
       ],
    q(edopi) => [
@@ -31950,7 +31964,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(efutop) => [
-      q(5206),
+      q(5205),
       q(0),
       ],
    q(ega) => [
@@ -32006,7 +32020,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ekegusii) => [
-      q(2665),
+      q(2664),
       q(1),
       ],
    q(eki) => [
@@ -32066,7 +32080,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(elseng) => [
-      q(4510),
+      q(4509),
       q(0),
       ],
    q(elu) => [
@@ -32074,11 +32088,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(elymian) => [
-      q(7405),
+      q(7404),
       q(0),
       ],
    q(emae) => [
-      q(4410),
+      q(4409),
       q(0),
       ],
    q(emai-iuleha-ora) => [
@@ -32106,7 +32120,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(embera-tado) => [
-      q(6429),
+      q(6428),
       q(0),
       ],
    q(embu) => [
@@ -32138,7 +32152,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(enawene-nawe) => [
-      q(6916),
+      q(6915),
       q(0),
       ],
    q(ende) => [
@@ -32150,7 +32164,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(engdewu) => [
-      q(4850),
+      q(4849),
       q(0),
       ],
    q(engenni) => [
@@ -32182,7 +32196,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(enrekang) => [
-      q(5635),
+      q(5634),
       q(0),
       ],
    q(enu) => [
@@ -32206,11 +32220,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(epena) => [
-      q(6054),
+      q(6053),
       q(0),
       ],
    q(epi-olmec) => [
-      q(7332),
+      q(7331),
       q(0),
       ],
    q(epie) => [
@@ -32226,11 +32240,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(erave) => [
-      q(3400),
+      q(3399),
       q(0),
       ],
    q(ere) => [
-      q(6803),
+      q(6802),
       q(0),
       ],
    q(eritai) => [
@@ -32262,11 +32276,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(esan) => [
-      q(3001),
+      q(3000),
       q(0),
       ],
    q(ese) => [
-      q(4168),
+      q(4167),
       q(0),
       ],
    q(ese ejja) => [
@@ -32298,7 +32312,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(estado de mexico otomi) => [
-      q(5326),
+      q(5325),
       q(0),
       ],
    q(estonian) => [
@@ -32338,7 +32352,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(etkywan) => [
-      q(2899),
+      q(2898),
       q(0),
       ],
    q(eton (cameroon)) => [
@@ -32354,7 +32368,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(etulo) => [
-      q(6956),
+      q(6955),
       q(0),
       ],
    q(evant) => [
@@ -32374,7 +32388,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ewage-notu) => [
-      q(5026),
+      q(5025),
       q(0),
       ],
    q(ewe) => [
@@ -32406,7 +32420,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fagauvea) => [
-      q(6962),
+      q(6961),
       q(1),
       ],
    q(faire atta) => [
@@ -32434,7 +32448,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(faliscan) => [
-      q(7337),
+      q(7336),
       q(0),
       ],
    q(fam) => [
@@ -32474,7 +32488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(farefare) => [
-      q(2658),
+      q(2657),
       q(0),
       ],
    q(faroese) => [
@@ -32506,7 +32520,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fedan) => [
-      q(5399),
+      q(5398),
       q(1),
       ],
    q(fembe) => [
@@ -32522,7 +32536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fiji hindi) => [
-      q(2756),
+      q(2755),
       q(0),
       ],
    q(fijian) => [
@@ -32534,7 +32548,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(filomena mata-coahuitlan totonac) => [
-      q(6577),
+      q(6576),
       q(0),
       ],
    q(finland-swedish sign language) => [
@@ -32582,7 +32596,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(flemish sign language) => [
-      q(6995),
+      q(6994),
       q(1),
       ],
    q(flinders island) => [
@@ -32602,7 +32616,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(folopa) => [
-      q(5578),
+      q(5577),
       q(0),
       ],
    q(foma) => [
@@ -32662,7 +32676,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(french belgian sign language) => [
-      q(5985),
+      q(5984),
       q(1),
       ],
    q(french sign language) => [
@@ -32702,7 +32716,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fungwa) => [
-      q(6889),
+      q(6888),
       q(0),
       ],
    q(fur) => [
@@ -32730,7 +32744,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fyam) => [
-      q(5671),
+      q(5670),
       q(0),
       ],
    q(fyer) => [
@@ -32742,7 +32756,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ga'anda) => [
-      q(2609),
+      q(2608),
       q(0),
       ],
    q(ga'dang) => [
@@ -32750,11 +32764,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gaa) => [
-      q(6735),
+      q(6734),
       q(0),
       ],
    q(gaam) => [
-      q(6387),
+      q(6386),
       q(0),
       ],
    q(gabi-gabi) => [
@@ -32766,7 +32780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gabrielino-fernandeno) => [
-      q(7341),
+      q(7340),
       q(0),
       ],
    q(gadang) => [
@@ -32846,7 +32860,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(galatian) => [
-      q(7338),
+      q(7337),
       q(0),
       ],
    q(galela) => [
@@ -32870,11 +32884,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(galindan) => [
-      q(7344),
+      q(7343),
       q(0),
       ],
    q(gallurese sardinian) => [
-      q(5953),
+      q(5952),
       q(0),
       ],
    q(galo) => [
@@ -32886,7 +32900,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gamale kham) => [
-      q(3316),
+      q(3315),
       q(0),
       ],
    q(gambera) => [
@@ -32894,11 +32908,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gambian wolof) => [
-      q(7200),
+      q(7199),
       q(0),
       ],
    q(gamilaraay) => [
-      q(3431),
+      q(3430),
       q(0),
       ],
    q(gamit) => [
@@ -32922,8 +32936,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gana) => [
-      q(2579),
-      q(0),
+      q(2574),
+      q(1),
       ],
    q(ganang) => [
       q(2570),
@@ -32934,11 +32948,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gandhari) => [
-      q(5426),
+      q(5425),
       q(0),
       ],
    q(gane) => [
-      q(2709),
+      q(2708),
       q(0),
       ],
    q(ganggalida) => [
@@ -32962,11 +32976,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ganza) => [
-      q(2707),
+      q(2706),
       q(0),
       ],
    q(ganzi) => [
-      q(2584),
+      q(2583),
       q(0),
       ],
    q(gao) => [
@@ -32974,7 +32988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gapapaiwa) => [
-      q(5662),
+      q(5661),
       q(0),
       ],
    q(garhwali) => [
@@ -32986,11 +33000,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(garig-ilgar) => [
-      q(2954),
+      q(2953),
       q(0),
       ],
    q(garingbal) => [
-      q(7343),
+      q(7342),
       q(0),
       ],
    q(garlali) => [
@@ -32998,7 +33012,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(garo) => [
-      q(2625),
+      q(2624),
       q(0),
       ],
    q(garre) => [
@@ -33006,15 +33020,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(garrwa) => [
-      q(7218),
+      q(7217),
       q(0),
       ],
    q(garus) => [
-      q(2696),
+      q(2695),
       q(0),
       ],
    q(garza) => [
-      q(7346),
+      q(7345),
       q(0),
       ],
    q(gata') => [
@@ -33026,23 +33040,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gavar) => [
-      q(2601),
+      q(2600),
       q(0),
       ],
    q(gaviao do jiparana) => [
-      q(2674),
+      q(2673),
       q(0),
       ],
    q(gawar-bati) => [
-      q(2690),
+      q(2689),
       q(0),
       ],
    q(gawwada) => [
-      q(2682),
+      q(2681),
       q(0),
       ],
    q(gayil) => [
-      q(2702),
+      q(2701),
       q(0),
       ],
    q(gayo) => [
@@ -33050,7 +33064,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gazi) => [
-      q(2708),
+      q(2707),
       q(0),
       ],
    q(gbagyi) => [
@@ -33082,7 +33096,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(gbaya (sudan)) => [
-      q(3586),
+      q(3585),
       q(0),
       ],
    q(gbaya-bossangoa) => [
@@ -33098,7 +33112,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gbayi) => [
-      q(2700),
+      q(2699),
       q(0),
       ],
    q(gbesi gbe) => [
@@ -33110,11 +33124,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gbin) => [
-      q(7339),
+      q(7338),
       q(0),
       ],
    q(gbiri-niragu) => [
-      q(2617),
+      q(2616),
       q(0),
       ],
    q(gboloo grebo) => [
@@ -33122,11 +33136,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ge) => [
-      q(2786),
+      q(2785),
       q(0),
       ],
    q(geba karen) => [
-      q(3682),
+      q(3681),
       q(0),
       ],
    q(gebe) => [
@@ -33150,7 +33164,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gejia) => [
-      q(2786),
+      q(2785),
       q(1),
       ],
    q(geko karen) => [
@@ -33158,11 +33172,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gela) => [
-      q(4948),
+      q(4947),
       q(0),
       ],
    q(geman deng) => [
-      q(4655),
+      q(4654),
       q(1),
       ],
    q(geme) => [
@@ -33186,7 +33200,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gepo) => [
-      q(7636),
+      q(7635),
       q(0),
       ],
    q(gera) => [
@@ -33194,7 +33208,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gergiko) => [
-      q(4454),
+      q(4453),
       q(1),
       ],
    q(german) => [
@@ -33202,7 +33216,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(german sign language) => [
-      q(2633),
+      q(2632),
       q(0),
       ],
    q(german, low) => [
@@ -33230,7 +33244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gey) => [
-      q(2662),
+      q(2661),
       q(0),
       ],
    q(ghadames) => [
@@ -33238,11 +33252,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ghanaian pidgin english) => [
-      q(2607),
+      q(2606),
       q(0),
       ],
    q(ghanaian sign language) => [
-      q(2632),
+      q(2631),
       q(0),
       ],
    q(ghandruk sign language) => [
@@ -33254,7 +33268,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ghari) => [
-      q(2618),
+      q(2617),
       q(0),
       ],
    q(ghayavi) => [
@@ -33306,7 +33320,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(giiwo) => [
-      q(3420),
+      q(3419),
       q(0),
       ],
    q(gikuyu) => [
@@ -33330,7 +33344,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gilyak) => [
-      q(4899),
+      q(4898),
       q(0),
       ],
    q(gimi (eastern highlands)) => [
@@ -33342,7 +33356,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gimme) => [
-      q(3468),
+      q(3467),
       q(0),
       ],
    q(gimnime) => [
@@ -33362,7 +33376,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(giryama) => [
-      q(5159),
+      q(5158),
       q(0),
       ],
    q(githabul) => [
@@ -33370,7 +33384,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gitonga) => [
-      q(6639),
+      q(6638),
       q(0),
       ],
    q(gitua) => [
@@ -33386,7 +33400,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gizrra) => [
-      q(6638),
+      q(6637),
       q(0),
       ],
    q(glaro-twabo) => [
@@ -33398,15 +33412,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(glio-oubi) => [
-      q(5334),
+      q(5333),
       q(0),
       ],
    q(gnau) => [
-      q(2582),
+      q(2581),
       q(0),
       ],
    q(goan konkani) => [
-      q(2596),
+      q(2595),
       q(0),
       ],
    q(goaria) => [
@@ -33414,15 +33428,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gobasi) => [
-      q(2592),
+      q(2591),
       q(0),
       ],
    q(gobu) => [
-      q(2603),
+      q(2602),
       q(0),
       ],
    q(godie) => [
-      q(2588),
+      q(2587),
       q(0),
       ],
    q(godwari) => [
@@ -33434,11 +33448,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gofa) => [
-      q(2590),
+      q(2589),
       q(0),
       ],
    q(gogo) => [
-      q(2591),
+      q(2590),
       q(0),
       ],
    q(gogodala) => [
@@ -33450,15 +33464,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gola) => [
-      q(2595),
+      q(2594),
       q(0),
       ],
    q(golin) => [
-      q(2669),
+      q(2668),
       q(0),
       ],
    q(golpa) => [
-      q(3931),
+      q(3930),
       q(0),
       ],
    q(gondi) => [
@@ -33466,11 +33480,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gone dau) => [
-      q(2597),
+      q(2596),
       q(0),
       ],
    q(gongduk) => [
-      q(2589),
+      q(2588),
       q(0),
       ],
    q(gonja) => [
@@ -33482,19 +33496,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gor) => [
-      q(2612),
+      q(2611),
       q(0),
       ],
    q(gorakor) => [
-      q(2587),
+      q(2586),
       q(0),
       ],
    q(gorap) => [
-      q(2599),
+      q(2598),
       q(0),
       ],
    q(goreng) => [
-      q(7342),
+      q(7341),
       q(0),
       ],
    q(gorontalo) => [
@@ -33502,11 +33516,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gorovu) => [
-      q(2622),
+      q(2621),
       q(0),
       ],
    q(gorowa) => [
-      q(2602),
+      q(2601),
       q(0),
       ],
    q(gothic) => [
@@ -33514,35 +33528,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(goundo) => [
-      q(2604),
+      q(2603),
       q(0),
       ],
    q(gourmanchema) => [
-      q(2664),
+      q(2663),
       q(0),
       ],
    q(gowlan) => [
-      q(2593),
+      q(2592),
       q(0),
       ],
    q(gowli) => [
-      q(2594),
+      q(2593),
       q(0),
       ],
    q(gowro) => [
-      q(2684),
+      q(2683),
       q(0),
       ],
    q(gozarkhani) => [
-      q(2605),
+      q(2604),
       q(0),
       ],
    q(grangali) => [
-      q(4949),
+      q(4948),
       q(0),
       ],
    q(grass koiari) => [
-      q(3192),
+      q(3191),
       q(0),
       ],
    q(grebo) => [
@@ -33558,7 +33572,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(greek sign language) => [
-      q(2639),
+      q(2638),
       q(0),
       ],
    q(greek, ancient (to 1453)) => [
@@ -33582,15 +33596,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gresi) => [
-      q(2624),
+      q(2623),
       q(0),
       ],
    q(groma) => [
-      q(2621),
+      q(2620),
       q(0),
       ],
    q(gronings) => [
-      q(2600),
+      q(2599),
       q(0),
       ],
    q(gros ventre) => [
@@ -33598,7 +33612,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gua) => [
-      q(2693),
+      q(2692),
       q(0),
       ],
    q(guadeloupean creole french) => [
@@ -33606,31 +33620,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guahibo) => [
-      q(2649),
+      q(2648),
       q(0),
       ],
    q(guaja) => [
-      q(2670),
+      q(2669),
       q(0),
       ],
    q(guajajara) => [
-      q(2643),
+      q(2642),
       q(0),
       ],
    q(guambiano) => [
-      q(2653),
+      q(2652),
       q(0),
       ],
    q(guana (brazil)) => [
-      q(2611),
+      q(2610),
       q(0),
       ],
    q(guana (paraguay)) => [
-      q(2666),
+      q(2665),
       q(0),
       ],
    q(guanano) => [
-      q(2667),
+      q(2666),
       q(0),
       ],
    q(guanche) => [
@@ -33638,7 +33652,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guanyinqiao) => [
-      q(3102),
+      q(3101),
       q(0),
       ],
    q(guarani) => [
@@ -33646,7 +33660,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guarayu) => [
-      q(2705),
+      q(2704),
       q(0),
       ],
    q(guarequena) => [
@@ -33654,23 +33668,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guatemalan sign language) => [
-      q(2635),
+      q(2634),
       q(0),
       ],
    q(guato) => [
-      q(2640),
+      q(2639),
       q(0),
       ],
    q(guayabero) => [
-      q(2655),
+      q(2654),
       q(0),
       ],
    q(gudang) => [
-      q(7340),
+      q(7339),
       q(0),
       ],
    q(gudanji) => [
-      q(4908),
+      q(4907),
       q(0),
       ],
    q(gude) => [
@@ -33686,7 +33700,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guernesiais) => [
-      q(5052),
+      q(5051),
       q(1),
       ],
    q(guerrero amuzgo) => [
@@ -33694,7 +33708,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guerrero nahuatl) => [
-      q(4853),
+      q(4852),
       q(0),
       ],
    q(guevea de humboldt zapotec) => [
@@ -33710,15 +33724,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gugu warra) => [
-      q(7228),
+      q(7227),
       q(0),
       ],
    q(gugubera) => [
-      q(3417),
+      q(3416),
       q(0),
       ],
    q(guguyimidjir) => [
-      q(3426),
+      q(3425),
       q(0),
       ],
    q(guhu-samane) => [
@@ -33750,11 +33764,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guinean sign language) => [
-      q(2659),
+      q(2658),
       q(0),
       ],
    q(guiqiong) => [
-      q(2610),
+      q(2609),
       q(0),
       ],
    q(gujarati) => [
@@ -33766,7 +33780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gula (central african republic)) => [
-      q(3220),
+      q(3219),
       q(0),
       ],
    q(gula (chad)) => [
@@ -33782,7 +33796,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gulay) => [
-      q(2671),
+      q(2670),
       q(0),
       ],
    q(gule) => [
@@ -33806,15 +33820,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gumawana) => [
-      q(2677),
+      q(2676),
       q(0),
       ],
    q(gumuz) => [
-      q(2651),
+      q(2650),
       q(0),
       ],
    q(gun) => [
-      q(2663),
+      q(2662),
       q(0),
       ],
    q(gundi) => [
@@ -33826,35 +33840,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gundungurra) => [
-      q(7477),
+      q(7476),
       q(0),
       ],
    q(gungabula) => [
-      q(2699),
+      q(2698),
       q(0),
       ],
    q(gungu) => [
-      q(5861),
+      q(5860),
       q(0),
       ],
    q(guntai) => [
-      q(2581),
+      q(2580),
       q(0),
       ],
    q(gunwinggu) => [
-      q(2656),
+      q(2655),
       q(0),
       ],
    q(gunya) => [
-      q(2706),
+      q(2705),
       q(0),
       ],
    q(gupa-abawa) => [
-      q(2606),
+      q(2605),
       q(0),
       ],
    q(gupapuyngu) => [
-      q(2647),
+      q(2646),
       q(0),
       ],
    q(guragone) => [
@@ -33862,11 +33876,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guramalum) => [
-      q(2631),
+      q(2630),
       q(0),
       ],
    q(gurani) => [
-      q(2712),
+      q(2711),
       q(0),
       ],
    q(gurdjar) => [
@@ -33874,7 +33888,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gureng gureng) => [
-      q(2580),
+      q(2579),
       q(0),
       ],
    q(gurgula) => [
@@ -33882,47 +33896,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guriaso) => [
-      q(2629),
+      q(2628),
       q(0),
       ],
    q(gurinji) => [
-      q(2646),
+      q(2645),
       q(0),
       ],
    q(gurmana) => [
-      q(2672),
+      q(2671),
       q(0),
       ],
    q(guro) => [
-      q(2585),
+      q(2584),
       q(0),
       ],
    q(guruntum-mbaaru) => [
-      q(2615),
+      q(2614),
       q(0),
       ],
    q(gusan) => [
-      q(2636),
+      q(2635),
       q(0),
       ],
    q(gusii) => [
-      q(2665),
+      q(2664),
       q(0),
       ],
    q(gusilay) => [
-      q(2634),
+      q(2633),
       q(0),
       ],
    q(guwa) => [
-      q(7348),
+      q(7347),
       q(0),
       ],
    q(guwamu) => [
-      q(2691),
+      q(2690),
       q(0),
       ],
    q(guwinmal) => [
-      q(7345),
+      q(7344),
       q(1),
       ],
    q(guya) => [
@@ -33930,19 +33944,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guyanese creole english) => [
-      q(2704),
+      q(2703),
       q(0),
       ],
    q(guyani) => [
-      q(2678),
+      q(2677),
       q(0),
       ],
    q(gvoko) => [
-      q(4851),
+      q(4850),
       q(0),
       ],
    q(gwa) => [
-      q(2680),
+      q(2679),
       q(0),
       ],
    q(gwahatike) => [
@@ -33950,7 +33964,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gwak) => [
-      q(3087),
+      q(3086),
       q(0),
       ],
    q(gwamhi-wuri) => [
@@ -33958,51 +33972,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gwandara) => [
-      q(2688),
+      q(2687),
       q(0),
       ],
    q(gweda) => [
-      q(2628),
+      q(2627),
       q(0),
       ],
    q(gweno) => [
-      q(2683),
+      q(2682),
       q(0),
       ],
    q(gwere) => [
-      q(2689),
+      q(2688),
       q(0),
       ],
+   q(gwi) => [
+      q(2685),
+      q(1),
+      ],
    q(gwich'in) => [
       q(0168),
       q(0),
       ],
    q(gyele) => [
-      q(2701),
+      q(2700),
       q(0),
       ],
    q(gyem) => [
-      q(2698),
+      q(2697),
       q(0),
       ],
    q(ha) => [
-      q(2725),
+      q(2724),
       q(0),
       ],
    q(habu) => [
-      q(2736),
+      q(2735),
       q(0),
       ],
    q(hadiyya) => [
-      q(2741),
+      q(2740),
       q(0),
       ],
    q(hadothi) => [
-      q(2817),
+      q(2816),
       q(0),
       ],
    q(hadrami) => [
-      q(7351),
+      q(7350),
       q(0),
       ],
    q(hadrami arabic) => [
@@ -34010,7 +34028,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hadza) => [
-      q(2849),
+      q(2848),
       q(0),
       ],
    q(haeke) => [
@@ -34018,11 +34036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hahon) => [
-      q(2717),
+      q(2716),
       q(0),
       ],
    q(hai//om) => [
-      q(2748),
+      q(2747),
       q(0),
       ],
    q(haida) => [
@@ -34030,15 +34048,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(haigwai) => [
-      q(2749),
+      q(2748),
       q(0),
       ],
+   q(haiom) => [
+      q(2747),
+      q(1),
+      ],
    q(haiphong sign language) => [
-      q(2715),
+      q(2714),
       q(0),
       ],
    q(haisla) => [
-      q(2727),
+      q(2726),
       q(0),
       ],
    q(haitian) => [
@@ -34050,15 +34072,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(haitian vodoun culture language) => [
-      q(2875),
+      q(2874),
       q(0),
       ],
    q(haji) => [
-      q(2766),
+      q(2765),
       q(0),
       ],
    q(hajong) => [
-      q(2718),
+      q(2717),
       q(0),
       ],
    q(haka chin) => [
@@ -34066,43 +34088,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hakka chinese) => [
-      q(2719),
+      q(2718),
       q(0),
       ],
    q(hako) => [
-      q(2723),
+      q(2722),
       q(0),
       ],
    q(halang) => [
-      q(2720),
+      q(2719),
       q(0),
       ],
    q(halang doan) => [
-      q(2773),
+      q(2772),
       q(0),
       ],
    q(halbi) => [
-      q(2772),
+      q(2771),
       q(0),
       ],
    q(halh mongolian) => [
-      q(3340),
+      q(3339),
       q(0),
       ],
    q(halia) => [
-      q(2771),
+      q(2770),
       q(0),
       ],
    q(halkomelem) => [
-      q(2866),
+      q(2865),
       q(0),
       ],
    q(hamap) => [
-      q(2795),
+      q(2794),
       q(0),
       ],
    q(hamba) => [
-      q(2732),
+      q(2731),
       q(0),
       ],
    q(hamea) => [
@@ -34114,71 +34136,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hamtai) => [
-      q(2794),
+      q(2793),
       q(0),
       ],
    q(han) => [
-      q(2710),
+      q(2709),
       q(0),
       ],
    q(hanga) => [
-      q(2716),
+      q(2715),
       q(0),
       ],
    q(hanga hundi) => [
-      q(7208),
+      q(7207),
       q(0),
       ],
    q(hangaza) => [
-      q(2722),
+      q(2721),
       q(0),
       ],
    q(hani) => [
-      q(2804),
+      q(2803),
       q(0),
       ],
    q(hano) => [
-      q(3986),
+      q(3985),
       q(0),
       ],
    q(hanoi sign language) => [
-      q(2711),
+      q(2710),
       q(0),
       ],
    q(hanunoo) => [
-      q(2806),
+      q(2805),
       q(0),
       ],
    q(harami) => [
-      q(7349),
+      q(7348),
       q(0),
       ],
    q(harari) => [
-      q(2726),
+      q(2725),
       q(0),
       ],
    q(harijan kinnauri) => [
-      q(3391),
+      q(3390),
       q(0),
       ],
    q(haroi) => [
-      q(2836),
+      q(2835),
       q(0),
       ],
    q(haroti) => [
-      q(2817),
+      q(2816),
       q(1),
       ],
    q(harsusi) => [
-      q(2846),
+      q(2845),
       q(0),
       ],
    q(haruai) => [
-      q(6589),
+      q(6588),
       q(0),
       ],
    q(haruku) => [
-      q(2834),
+      q(2833),
       q(0),
       ],
    q(haryanvi) => [
@@ -34186,23 +34208,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(harzani) => [
-      q(2842),
+      q(2841),
       q(0),
       ],
    q(hasha) => [
-      q(7603),
+      q(7602),
       q(0),
       ],
    q(hassaniyya) => [
-      q(4222),
+      q(4221),
       q(0),
       ],
    q(hatam) => [
-      q(2713),
+      q(2712),
       q(0),
       ],
    q(hattic) => [
-      q(7354),
+      q(7353),
       q(0),
       ],
    q(hausa) => [
@@ -34210,7 +34232,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hausa sign language) => [
-      q(2844),
+      q(2843),
       q(0),
       ],
    q(havasupai-walapai-yavapai) => [
@@ -34218,27 +34240,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(haveke) => [
-      q(2877),
+      q(2876),
       q(0),
       ],
    q(havu) => [
-      q(2728),
+      q(2727),
       q(0),
       ],
    q(hawai'i creole english) => [
-      q(2881),
+      q(2880),
       q(0),
       ],
    q(hawai'i pidgin) => [
-      q(2881),
+      q(2880),
       q(1),
       ],
    q(hawai'i pidgin sign language) => [
-      q(2830),
+      q(2829),
       q(1),
       ],
    q(hawai'i sign language (hsl)) => [
-      q(2830),
+      q(2829),
       q(0),
       ],
    q(hawaiian) => [
@@ -34246,15 +34268,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(haya) => [
-      q(2730),
+      q(2729),
       q(0),
       ],
    q(hazaragi) => [
-      q(2731),
+      q(2730),
       q(0),
       ],
    q(hdi) => [
-      q(7328),
+      q(7327),
       q(0),
       ],
    q(hebrew) => [
@@ -34262,35 +34284,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hehe) => [
-      q(2745),
+      q(2744),
       q(0),
       ],
    q(heiban) => [
-      q(2734),
+      q(2733),
       q(0),
       ],
    q(heiltsuk) => [
-      q(2746),
+      q(2745),
       q(0),
       ],
    q(helambu sherpa) => [
-      q(5935),
+      q(5934),
       q(0),
       ],
    q(helong) => [
-      q(2744),
+      q(2743),
       q(0),
       ],
    q(hema) => [
-      q(4901),
+      q(4900),
       q(0),
       ],
    q(hemba) => [
-      q(2747),
+      q(2746),
       q(0),
       ],
    q(herde) => [
-      q(2743),
+      q(2742),
       q(0),
       ],
    q(herero) => [
@@ -34298,23 +34320,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hermit) => [
-      q(3960),
+      q(3959),
       q(0),
       ],
    q(hernican) => [
-      q(7353),
+      q(7352),
       q(0),
       ],
    q(hertevin) => [
-      q(2838),
+      q(2837),
       q(0),
       ],
    q(heung kong sau yue) => [
-      q(2770),
+      q(2769),
       q(1),
       ],
    q(hewa) => [
-      q(2721),
+      q(2720),
       q(0),
       ],
    q(heyo) => [
@@ -34326,23 +34348,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hibito) => [
-      q(2754),
+      q(2753),
       q(0),
       ],
    q(hidatsa) => [
-      q(2755),
+      q(2754),
       q(0),
       ],
    q(hieroglyphic luwian) => [
-      q(2776),
+      q(2775),
       q(0),
       ],
    q(higaonon) => [
-      q(4127),
+      q(4126),
       q(0),
       ],
    q(highland konjo) => [
-      q(3387),
+      q(3386),
       q(0),
       ],
    q(highland oaxaca chontal) => [
@@ -34350,7 +34372,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(highland popoluca) => [
-      q(5559),
+      q(5558),
       q(0),
       ],
    q(highland puebla nahuatl) => [
@@ -34358,7 +34380,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(highland totonac) => [
-      q(6648),
+      q(6647),
       q(0),
       ],
    q(hijazi arabic) => [
@@ -34366,7 +34388,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hijuk) => [
-      q(2760),
+      q(2759),
       q(0),
       ],
    q(hiligaynon) => [
@@ -34378,7 +34400,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(himarima) => [
-      q(2763),
+      q(2762),
       q(0),
       ],
    q(hindi) => [
@@ -34386,7 +34408,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hinduri) => [
-      q(2759),
+      q(2758),
       q(0),
       ],
    q(hinukh) => [
@@ -34402,31 +34424,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hitu) => [
-      q(2850),
+      q(2849),
       q(0),
       ],
    q(hiw) => [
-      q(2764),
+      q(2763),
       q(0),
       ],
    q(hixkaryana) => [
-      q(2765),
+      q(2764),
       q(0),
       ],
    q(hlai) => [
-      q(3911),
+      q(3910),
       q(0),
       ],
    q(hlepho phowa) => [
-      q(7643),
+      q(7642),
       q(0),
       ],
    q(hlersu) => [
-      q(2774),
+      q(2773),
       q(0),
       ],
    q(hmar) => [
-      q(2792),
+      q(2791),
       q(0),
       ],
    q(hmong) => [
@@ -34434,23 +34456,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hmong daw) => [
-      q(4642),
+      q(4641),
       q(0),
       ],
    q(hmong do) => [
-      q(2796),
+      q(2795),
       q(0),
       ],
    q(hmong don) => [
-      q(2782),
+      q(2781),
       q(0),
       ],
    q(hmong njua) => [
-      q(2805),
+      q(2804),
       q(0),
       ],
    q(hmong shua) => [
-      q(2799),
+      q(2798),
       q(0),
       ],
    q(hmong-mien languages) => [
@@ -34458,31 +34480,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hmwaveke) => [
-      q(4514),
+      q(4513),
       q(0),
       ],
    q(ho) => [
-      q(2812),
+      q(2811),
       q(0),
       ],
    q(ho chi minh city sign language) => [
-      q(2823),
+      q(2822),
       q(0),
       ],
    q(ho-chunk) => [
-      q(7137),
+      q(7136),
       q(0),
       ],
    q(hoava) => [
-      q(2810),
+      q(2809),
       q(0),
       ],
    q(hobyot) => [
-      q(2815),
+      q(2814),
       q(0),
       ],
    q(hoia hoia) => [
-      q(2750),
+      q(2749),
       q(0),
       ],
    q(hokan languages) => [
@@ -34490,59 +34512,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(holikachuk) => [
-      q(2816),
+      q(2815),
       q(0),
       ],
    q(holiya) => [
-      q(2827),
+      q(2826),
       q(0),
       ],
    q(holma) => [
-      q(2813),
+      q(2812),
       q(0),
       ],
    q(holoholo) => [
-      q(2820),
+      q(2819),
       q(0),
       ],
    q(holu) => [
-      q(2818),
+      q(2817),
       q(0),
       ],
    q(homa) => [
-      q(2819),
+      q(2818),
       q(0),
       ],
    q(honduras sign language) => [
-      q(2740),
+      q(2739),
       q(0),
       ],
    q(hone) => [
-      q(3150),
+      q(3149),
       q(0),
       ],
    q(hong kong sign language) => [
-      q(2770),
+      q(2769),
       q(0),
       ],
    q(honi) => [
-      q(2826),
+      q(2825),
       q(0),
       ],
    q(hopi) => [
-      q(2821),
+      q(2820),
       q(0),
       ],
    q(horned miao) => [
-      q(2835),
+      q(2834),
       q(0),
       ],
    q(horo) => [
-      q(2822),
+      q(2821),
       q(0),
       ],
    q(horom) => [
-      q(2814),
+      q(2813),
       q(0),
       ],
    q(horpa) => [
@@ -34550,107 +34572,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hote) => [
-      q(2824),
+      q(2823),
       q(0),
       ],
    q(hoti) => [
-      q(2847),
+      q(2846),
       q(0),
       ],
    q(hovongan) => [
-      q(2825),
+      q(2824),
       q(0),
       ],
    q(hoyahoya) => [
-      q(2752),
+      q(2751),
       q(0),
       ],
    q(hozo) => [
-      q(2828),
+      q(2827),
       q(0),
       ],
    q(hpon) => [
-      q(2829),
+      q(2828),
       q(0),
       ],
    q(hrangkhol) => [
-      q(2831),
+      q(2830),
       q(0),
       ],
    q(hre) => [
-      q(2833),
+      q(2832),
       q(0),
       ],
    q(hruso) => [
-      q(2839),
+      q(2838),
       q(0),
       ],
    q(hu) => [
-      q(2864),
+      q(2863),
       q(0),
       ],
+   q(hua) => [
+      q(2852),
+      q(1),
+      ],
    q(huachipaeri) => [
-      q(2857),
+      q(2856),
       q(0),
       ],
    q(huallaga huanuco quechua) => [
-      q(5679),
+      q(5678),
       q(0),
       ],
    q(huamalies-dos de mayo huanuco quechua) => [
-      q(5702),
+      q(5701),
       q(0),
       ],
    q(huambisa) => [
-      q(2852),
+      q(2851),
       q(0),
       ],
    q(huarijio) => [
-      q(6980),
+      q(6979),
       q(0),
       ],
    q(huastec) => [
-      q(2867),
+      q(2866),
       q(0),
       ],
    q(huaulu) => [
-      q(2854),
+      q(2853),
       q(0),
       ],
    q(huautla mazatec) => [
-      q(4122),
+      q(4121),
       q(0),
       ],
    q(huaxcaleca nahuatl) => [
-      q(4873),
+      q(4872),
       q(0),
       ],
    q(huaylas ancash quechua) => [
-      q(5716),
+      q(5715),
       q(0),
       ],
    q(huaylla wanca quechua) => [
-      q(5711),
+      q(5710),
       q(0),
       ],
    q(huba) => [
-      q(2733),
+      q(2732),
       q(0),
       ],
    q(huehuetla tepehua) => [
-      q(6453),
+      q(6452),
       q(0),
       ],
    q(huichol) => [
-      q(2738),
+      q(2737),
       q(0),
       ],
    q(huilliche) => [
-      q(2858),
+      q(2857),
       q(0),
       ],
    q(huitepec mixtec) => [
-      q(4664),
+      q(4663),
       q(0),
       ],
    q(huizhou chinese) => [
@@ -34658,35 +34684,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hukumina) => [
-      q(2871),
+      q(2870),
       q(0),
       ],
    q(hula) => [
-      q(2862),
+      q(2861),
       q(0),
       ],
    q(hulaula) => [
-      q(2873),
+      q(2872),
       q(0),
       ],
    q(huli) => [
-      q(2859),
+      q(2858),
       q(0),
       ],
    q(hulung) => [
-      q(2861),
+      q(2860),
       q(0),
       ],
    q(humburi senni songhay) => [
-      q(2778),
+      q(2777),
       q(0),
       ],
    q(humene) => [
-      q(2856),
+      q(2855),
       q(0),
       ],
    q(humla) => [
-      q(2868),
+      q(2867),
       q(0),
       ],
    q(hun-saare) => [
@@ -34694,15 +34720,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hunde) => [
-      q(2768),
+      q(2767),
       q(0),
       ],
    q(hung) => [
-      q(2809),
+      q(2808),
       q(0),
       ],
    q(hungana) => [
-      q(2863),
+      q(2862),
       q(0),
       ],
    q(hungarian) => [
@@ -34710,27 +34736,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hungarian sign language) => [
-      q(2843),
+      q(2842),
       q(0),
       ],
    q(hungworo) => [
-      q(4734),
+      q(4733),
       q(1),
       ],
    q(hunjara-kaina ke) => [
-      q(2769),
+      q(2768),
       q(0),
       ],
    q(hunnic) => [
-      q(7350),
+      q(7349),
       q(0),
       ],
    q(hunsrik) => [
-      q(2841),
+      q(2840),
       q(0),
       ],
    q(hunzib) => [
-      q(2874),
+      q(2873),
       q(0),
       ],
    q(hupa) => [
@@ -34738,15 +34764,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hupde) => [
-      q(3157),
+      q(3156),
       q(0),
       ],
    q(hupla) => [
-      q(2724),
+      q(2723),
       q(0),
       ],
    q(hurrian) => [
-      q(7355),
+      q(7354),
       q(0),
       ],
    q(hutterisch) => [
@@ -34758,27 +34784,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hwana) => [
-      q(2882),
+      q(2881),
       q(0),
       ],
    q(hya) => [
-      q(2883),
+      q(2882),
       q(0),
       ],
    q(hyam) => [
-      q(3041),
+      q(3040),
       q(0),
       ],
    q(i'saka) => [
-      q(3601),
+      q(3600),
       q(1),
       ],
    q(i-wak) => [
-      q(3028),
+      q(3027),
       q(0),
       ],
    q(iaai) => [
-      q(2884),
+      q(2883),
       q(0),
       ],
    q(iamalele) => [
@@ -34786,23 +34812,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iapama) => [
-      q(2886),
+      q(2885),
       q(0),
       ],
    q(iatmul) => [
-      q(2885),
+      q(2884),
       q(0),
       ],
    q(iau) => [
-      q(6605),
+      q(6604),
       q(0),
       ],
    q(ibali teke) => [
-      q(6458),
+      q(6457),
       q(0),
       ],
    q(ibaloi) => [
-      q(2892),
+      q(2891),
       q(0),
       ],
    q(iban) => [
@@ -34810,35 +34836,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ibanag) => [
-      q(2891),
+      q(2890),
       q(0),
       ],
    q(ibani) => [
-      q(2897),
+      q(2896),
       q(0),
       ],
    q(ibatan) => [
-      q(3026),
+      q(3025),
       q(0),
       ],
    q(iberian) => [
-      q(7357),
+      q(7356),
       q(0),
       ],
    q(ibibio) => [
-      q(2888),
+      q(2887),
       q(0),
       ],
    q(ibino) => [
-      q(2894),
+      q(2893),
       q(0),
       ],
    q(ibu) => [
-      q(2896),
+      q(2895),
       q(0),
       ],
    q(ibuoro) => [
-      q(2895),
+      q(2894),
       q(0),
       ],
    q(icelandic) => [
@@ -34846,7 +34872,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(icelandic sign language) => [
-      q(2900),
+      q(2899),
       q(0),
       ],
    q(iceve-maci) => [
@@ -34858,23 +34884,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(idakho-isukha-tiriki) => [
-      q(2902),
+      q(2901),
       q(0),
       ],
    q(idate) => [
-      q(2910),
+      q(2909),
       q(0),
       ],
    q(idere) => [
-      q(2906),
+      q(2905),
       q(0),
       ],
    q(idesa) => [
-      q(2909),
+      q(2908),
       q(0),
       ],
    q(idi) => [
-      q(2907),
+      q(2906),
       q(0),
       ],
    q(ido) => [
@@ -34882,11 +34908,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(idoma) => [
-      q(2911),
+      q(2910),
       q(0),
       ],
    q(idon) => [
-      q(2904),
+      q(2903),
       q(0),
       ],
    q(idu-mishmi) => [
@@ -34894,23 +34920,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iduna) => [
-      q(7004),
+      q(7003),
       q(0),
       ],
    q(ife) => [
-      q(2914),
+      q(2913),
       q(0),
       ],
    q(ifo) => [
-      q(2915),
+      q(2914),
       q(0),
       ],
    q(igala) => [
-      q(2923),
+      q(2922),
       q(0),
       ],
    q(igana) => [
-      q(2922),
+      q(2921),
       q(0),
       ],
    q(igbo) => [
@@ -34918,11 +34944,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(igede) => [
-      q(2921),
+      q(2920),
       q(0),
       ],
    q(ignaciano) => [
-      q(2925),
+      q(2924),
       q(0),
       ],
    q(igo) => [
@@ -34930,27 +34956,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iguta) => [
-      q(4732),
+      q(4731),
       q(0),
       ],
    q(igwe) => [
-      q(2928),
+      q(2927),
       q(0),
       ],
    q(iha) => [
-      q(2931),
+      q(2930),
       q(0),
       ],
    q(iha based pidgin) => [
-      q(2929),
+      q(2928),
       q(0),
       ],
    q(ihievbe) => [
-      q(2930),
+      q(2929),
       q(0),
       ],
    q(ija-zuba) => [
-      q(7006),
+      q(7005),
       q(0),
       ],
    q(ijo languages) => [
@@ -34958,83 +34984,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ik) => [
-      q(2950),
+      q(2949),
       q(0),
       ],
    q(ika) => [
-      q(2941),
+      q(2940),
       q(0),
       ],
    q(ikaranggal) => [
-      q(2945),
+      q(2944),
       q(0),
       ],
    q(ikizu) => [
-      q(2951),
+      q(2950),
       q(0),
       ],
    q(iko) => [
-      q(2940),
+      q(2939),
       q(0),
       ],
    q(ikobi) => [
-      q(4202),
+      q(4201),
       q(0),
       ],
    q(ikoma-nata-isenye) => [
-      q(5092),
+      q(5091),
       q(0),
       ],
    q(ikpeng) => [
-      q(6817),
+      q(6816),
       q(0),
       ],
    q(ikpeshi) => [
-      q(2944),
+      q(2943),
       q(0),
       ],
    q(ikposo) => [
-      q(3536),
+      q(3535),
       q(0),
       ],
    q(iku-gora-ankwa) => [
-      q(2948),
+      q(2947),
       q(0),
       ],
    q(ikulu) => [
-      q(2942),
+      q(2941),
       q(0),
       ],
    q(ikwere) => [
-      q(2949),
+      q(2948),
       q(0),
       ],
    q(ikwo) => [
-      q(2986),
+      q(2985),
       q(0),
       ],
    q(ila) => [
-      q(2953),
+      q(2952),
       q(0),
       ],
    q(ile ape) => [
-      q(2952),
+      q(2951),
       q(0),
       ],
    q(ili turki) => [
-      q(2955),
+      q(2954),
       q(0),
       ],
    q(ili'uun) => [
-      q(2959),
+      q(2958),
       q(0),
       ],
    q(ilianen manobo) => [
-      q(4134),
+      q(4133),
       q(0),
       ],
    q(illyrian) => [
-      q(7359),
+      q(7358),
       q(0),
       ],
    q(iloko) => [
@@ -35042,27 +35068,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ilongot) => [
-      q(2956),
+      q(2955),
       q(0),
       ],
    q(ilue) => [
-      q(2960),
+      q(2959),
       q(0),
       ],
    q(ilwana) => [
-      q(4375),
+      q(4374),
       q(0),
       ],
    q(imbabura highland quichua) => [
-      q(5703),
+      q(5702),
       q(0),
       ],
    q(imbongu) => [
-      q(2965),
+      q(2964),
       q(0),
       ],
    q(imonda) => [
-      q(2964),
+      q(2963),
       q(0),
       ],
    q(imperial aramaic (700-300 bce)) => [
@@ -35070,7 +35096,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(imroing) => [
-      q(2966),
+      q(2965),
       q(0),
       ],
    q(inabaknon) => [
@@ -35078,11 +35104,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(inapang) => [
-      q(4712),
+      q(4711),
       q(0),
       ],
    q(inapari) => [
-      q(2976),
+      q(2975),
       q(0),
       ],
    q(inari sami) => [
@@ -35090,7 +35116,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(indian sign language) => [
-      q(2977),
+      q(2976),
       q(0),
       ],
    q(indic languages) => [
@@ -35106,7 +35132,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(indo-portuguese) => [
-      q(2903),
+      q(2902),
       q(0),
       ],
    q(indonesian) => [
@@ -35118,35 +35144,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(indonesian sign language) => [
-      q(2972),
+      q(2971),
       q(0),
       ],
    q(indri) => [
-      q(2908),
+      q(2907),
       q(0),
       ],
    q(indus kohistani) => [
-      q(4622),
+      q(4621),
       q(0),
       ],
    q(indus valley language) => [
-      q(7364),
+      q(7363),
       q(0),
       ],
    q(inebu one) => [
-      q(5216),
+      q(5215),
       q(0),
       ],
    q(ineseno) => [
-      q(2979),
+      q(2978),
       q(0),
       ],
    q(inga) => [
-      q(2969),
+      q(2968),
       q(0),
       ],
    q(ingrian) => [
-      q(3037),
+      q(3036),
       q(0),
       ],
    q(ingush) => [
@@ -35154,27 +35180,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(inlaod itneg) => [
-      q(3012),
+      q(3011),
       q(0),
       ],
    q(inoke-yate) => [
-      q(2975),
+      q(2974),
       q(0),
       ],
    q(inonhan) => [
-      q(4015),
+      q(4014),
       q(0),
       ],
    q(inor) => [
-      q(2980),
+      q(2979),
       q(0),
       ],
    q(inpui naga) => [
-      q(4926),
+      q(4925),
       q(0),
       ],
    q(interglossa) => [
-      q(2927),
+      q(2926),
       q(0),
       ],
    q(interlingua (international auxiliary language association)) => [
@@ -35186,19 +35212,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(international sign) => [
-      q(2958),
+      q(2957),
       q(0),
       ],
    q(intha) => [
-      q(2978),
+      q(2977),
       q(0),
       ],
    q(inuinnaqtun) => [
-      q(2947),
+      q(2946),
       q(0),
       ],
    q(inuit sign language) => [
-      q(2946),
+      q(2945),
       q(0),
       ],
    q(inuktitut) => [
@@ -35210,7 +35236,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iowa-oto) => [
-      q(2982),
+      q(2981),
       q(0),
       ],
    q(ipalapa amuzgo) => [
@@ -35218,11 +35244,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ipiko) => [
-      q(2984),
+      q(2983),
       q(0),
       ],
    q(ipili) => [
-      q(2983),
+      q(2982),
       q(0),
       ],
    q(ipulo) => [
@@ -35230,11 +35256,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iquito) => [
-      q(2985),
+      q(2984),
       q(0),
       ],
    q(ir) => [
-      q(2992),
+      q(2991),
       q(0),
       ],
    q(iranian languages) => [
@@ -35242,35 +35268,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iranian persian) => [
-      q(5417),
+      q(5416),
       q(0),
       ],
    q(irantxe) => [
-      q(2991),
+      q(2990),
       q(0),
       ],
    q(iranun) => [
-      q(2957),
+      q(2956),
       q(0),
       ],
    q(iraqw) => [
-      q(2990),
+      q(2989),
       q(0),
       ],
    q(irarutu) => [
-      q(2988),
+      q(2987),
       q(0),
       ],
    q(iraya) => [
-      q(2995),
+      q(2994),
       q(0),
       ],
    q(iresim) => [
-      q(2987),
+      q(2986),
       q(0),
       ],
    q(irigwe) => [
-      q(2989),
+      q(2988),
       q(0),
       ],
    q(irish) => [
@@ -35278,7 +35304,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(irish sign language) => [
-      q(3000),
+      q(2999),
       q(0),
       ],
    q(irish, middle (900-1200)) => [
@@ -35294,15 +35320,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(irula) => [
-      q(2993),
+      q(2992),
       q(0),
       ],
    q(isabi) => [
-      q(2996),
+      q(2995),
       q(0),
       ],
    q(isanzu) => [
-      q(3005),
+      q(3004),
       q(0),
       ],
    q(isarog agta) => [
@@ -35310,27 +35336,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(isconahua) => [
-      q(2997),
+      q(2996),
       q(0),
       ],
    q(isebe) => [
-      q(2926),
+      q(2925),
       q(0),
       ],
    q(isekiri) => [
-      q(3018),
+      q(3017),
       q(0),
       ],
    q(ishkashimi) => [
-      q(3003),
+      q(3002),
       q(0),
       ],
    q(isinai) => [
-      q(2974),
+      q(2973),
       q(0),
       ],
    q(isirawa) => [
-      q(6217),
+      q(6216),
       q(0),
       ],
    q(island carib) => [
@@ -35338,23 +35364,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(islander creole english) => [
-      q(2901),
+      q(2900),
       q(0),
       ],
    q(isnag) => [
-      q(2998),
+      q(2997),
       q(0),
       ],
    q(isoko) => [
-      q(3006),
+      q(3005),
       q(0),
       ],
    q(israeli sign language) => [
-      q(3007),
+      q(3006),
       q(0),
       ],
    q(isthmus mixe) => [
-      q(4313),
+      q(4312),
       q(0),
       ],
    q(isthmus zapotec) => [
@@ -35362,31 +35388,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(isthmus-cosoleacaque nahuatl) => [
-      q(4868),
+      q(4867),
       q(0),
       ],
    q(isthmus-mecayapan nahuatl) => [
-      q(4879),
+      q(4878),
       q(0),
       ],
    q(isthmus-pajapan nahuatl) => [
-      q(4872),
+      q(4871),
       q(0),
       ],
    q(istriot) => [
-      q(3008),
+      q(3007),
       q(0),
       ],
    q(istro romanian) => [
-      q(5869),
+      q(5868),
       q(0),
       ],
    q(isu (fako division)) => [
-      q(6355),
+      q(6354),
       q(0),
       ],
    q(isu (menchum division)) => [
-      q(3009),
+      q(3008),
       q(0),
       ],
    q(italian) => [
@@ -35394,7 +35420,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(italian sign language) => [
-      q(2999),
+      q(2998),
       q(0),
       ],
    q(italic languages) => [
@@ -35402,51 +35428,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(itawit) => [
-      q(3020),
+      q(3019),
       q(0),
       ],
    q(itelmen) => [
-      q(3014),
+      q(3013),
       q(0),
       ],
    q(itene) => [
-      q(3011),
+      q(3010),
       q(0),
       ],
    q(iteri) => [
-      q(3017),
+      q(3016),
       q(0),
       ],
    q(itik) => [
-      q(3022),
+      q(3021),
       q(0),
       ],
    q(ito) => [
-      q(3021),
+      q(3020),
       q(0),
       ],
    q(itonama) => [
-      q(3016),
+      q(3015),
       q(0),
       ],
    q(itu mbon uzo) => [
-      q(3015),
+      q(3014),
       q(0),
       ],
    q(itundujia mixtec) => [
-      q(4156),
+      q(4155),
       q(0),
       ],
    q(itza) => [
-      q(3024),
+      q(3023),
       q(0),
       ],
    q(iu mien) => [
-      q(3025),
+      q(3024),
       q(0),
       ],
    q(ivatan) => [
-      q(3027),
+      q(3026),
       q(0),
       ],
    q(ivbie north-okpela-arhe) => [
@@ -35454,51 +35480,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iwaidja) => [
-      q(2889),
+      q(2888),
       q(0),
       ],
    q(iwal) => [
-      q(3194),
+      q(3193),
       q(0),
       ],
    q(iwam) => [
-      q(3029),
+      q(3028),
       q(0),
       ],
    q(iwur) => [
-      q(3030),
+      q(3029),
       q(0),
       ],
    q(ixcatec) => [
-      q(3032),
+      q(3031),
       q(0),
       ],
    q(ixcatlan mazatec) => [
-      q(4700),
+      q(4699),
       q(0),
       ],
    q(ixil) => [
-      q(3033),
+      q(3032),
       q(0),
       ],
    q(ixtayutla mixtec) => [
-      q(7026),
+      q(7025),
       q(0),
       ],
    q(ixtenco otomi) => [
-      q(5332),
+      q(5331),
       q(0),
       ],
    q(iyayu) => [
-      q(3034),
+      q(3033),
       q(0),
       ],
    q(iyive) => [
-      q(6877),
+      q(6876),
       q(0),
       ],
    q(iyo) => [
-      q(4761),
+      q(4760),
       q(0),
       ],
    q(iyo'wujwa chorote) => [
@@ -35510,15 +35536,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(izere) => [
-      q(3038),
+      q(3037),
       q(0),
       ],
    q(izii) => [
-      q(3039),
+      q(3038),
       q(0),
       ],
    q(izon) => [
-      q(2934),
+      q(2933),
       q(0),
       ],
    q(izora) => [
@@ -35526,23 +35552,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jabuti) => [
-      q(3066),
+      q(3065),
       q(0),
       ],
    q(jad) => [
-      q(3071),
+      q(3070),
       q(0),
       ],
    q(jadgali) => [
-      q(3072),
+      q(3071),
       q(0),
       ],
    q(jah hut) => [
-      q(3046),
+      q(3045),
       q(0),
       ],
    q(jahanka) => [
-      q(3043),
+      q(3042),
       q(0),
       ],
    q(jair awyu) => [
@@ -35550,23 +35576,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jaitmatang) => [
-      q(7367),
+      q(7366),
       q(0),
       ],
    q(jakalteko) => [
-      q(3042),
+      q(3041),
       q(1),
       ],
    q(jakati) => [
-      q(3055),
+      q(3054),
       q(0),
       ],
    q(jakun) => [
-      q(3048),
+      q(3047),
       q(0),
       ],
    q(jalapa de diaz mazatec) => [
-      q(4118),
+      q(4117),
       q(0),
       ],
    q(jalkunan) => [
@@ -35574,27 +35600,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jamaican country sign language) => [
-      q(3069),
+      q(3068),
       q(0),
       ],
    q(jamaican creole english) => [
-      q(3050),
+      q(3049),
       q(0),
       ],
    q(jamaican sign language) => [
-      q(3115),
+      q(3114),
       q(0),
       ],
    q(jamamadi) => [
-      q(3040),
+      q(3039),
       q(0),
       ],
    q(jambi malay) => [
-      q(3057),
+      q(3056),
       q(0),
       ],
    q(jamiltepec mixtec) => [
-      q(4665),
+      q(4664),
       q(0),
       ],
    q(jamsay dogon) => [
@@ -35602,11 +35628,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jandai) => [
-      q(3051),
+      q(3050),
       q(0),
       ],
    q(jandavra) => [
-      q(3128),
+      q(3127),
       q(0),
       ],
    q(jangkang) => [
@@ -35614,11 +35640,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jangshung) => [
-      q(3127),
+      q(3126),
       q(0),
       ],
    q(janji) => [
-      q(3130),
+      q(3129),
       q(0),
       ],
    q(japanese) => [
@@ -35630,23 +35656,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(japanese sign language) => [
-      q(3145),
+      q(3144),
       q(0),
       ],
    q(japreria) => [
-      q(3144),
+      q(3143),
       q(0),
       ],
    q(jaqaru) => [
-      q(3140),
+      q(3139),
       q(0),
       ],
    q(jara) => [
-      q(3045),
+      q(3044),
       q(0),
       ],
    q(jarai) => [
-      q(3141),
+      q(3140),
       q(0),
       ],
    q(jarawa (india)) => [
@@ -35658,11 +35684,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jauja wanca quechua) => [
-      q(5732),
+      q(5731),
       q(0),
       ],
    q(jaunsari) => [
-      q(3133),
+      q(3132),
       q(0),
       ],
    q(javanese) => [
@@ -35670,35 +35696,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(javindo) => [
-      q(3164),
+      q(3163),
       q(0),
       ],
    q(jawe) => [
-      q(3059),
+      q(3058),
       q(0),
       ],
    q(jaya) => [
-      q(3169),
+      q(3168),
       q(0),
       ],
    q(jebero) => [
-      q(3074),
+      q(3073),
       q(0),
       ],
    q(jeh) => [
-      q(3077),
+      q(3076),
       q(0),
       ],
    q(jehai) => [
-      q(3089),
+      q(3088),
       q(0),
       ],
    q(jejueo) => [
-      q(3107),
+      q(3106),
       q(0),
       ],
    q(jemez) => [
-      q(6651),
+      q(6650),
       q(0),
       ],
    q(jenaama bozo) => [
@@ -35706,55 +35732,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jeng) => [
-      q(3076),
+      q(3075),
       q(0),
       ],
    q(jennu kurumba) => [
-      q(7533),
+      q(7532),
       q(0),
       ],
    q(jere) => [
-      q(3082),
+      q(3081),
       q(0),
       ],
    q(jeri kuo) => [
-      q(3079),
+      q(3078),
       q(0),
       ],
    q(jerriais) => [
-      q(5052),
+      q(5051),
       q(0),
       ],
    q(jerung) => [
-      q(3075),
+      q(3074),
       q(0),
       ],
    q(jewish babylonian aramaic (ca. 200-1200 ce)) => [
-      q(6602),
+      q(6601),
       q(0),
       ],
    q(jewish palestinian aramaic) => [
-      q(3139),
+      q(3138),
       q(0),
       ],
    q(jhankot sign language) => [
-      q(3090),
+      q(3089),
       q(0),
       ],
    q(jiamao) => [
-      q(3101),
+      q(3100),
       q(0),
       ],
    q(jiarong) => [
-      q(3167),
+      q(3166),
       q(0),
       ],
    q(jiba) => [
-      q(3156),
+      q(3155),
       q(0),
       ],
    q(jibu) => [
-      q(3092),
+      q(3091),
       q(0),
       ],
    q(jicarilla apache) => [
@@ -35762,27 +35788,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jiiddu) => [
-      q(3098),
+      q(3097),
       q(0),
       ],
    q(jilbe) => [
-      q(3095),
+      q(3094),
       q(0),
       ],
    q(jilim) => [
-      q(3099),
+      q(3098),
       q(0),
       ],
    q(jimi (cameroon)) => [
-      q(3100),
+      q(3099),
       q(0),
       ],
    q(jimi (nigeria)) => [
-      q(3120),
+      q(3119),
       q(0),
       ],
    q(jina) => [
-      q(3091),
+      q(3090),
       q(0),
       ],
    q(jingpho) => [
@@ -35794,31 +35820,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jiongnai bunu) => [
-      q(5547),
+      q(5546),
       q(0),
       ],
    q(jirel) => [
-      q(3153),
+      q(3152),
       q(0),
       ],
    q(jiru) => [
-      q(3142),
+      q(3141),
       q(0),
       ],
    q(jita) => [
-      q(3103),
+      q(3102),
       q(0),
       ],
    q(jju) => [
-      q(3176),
+      q(3175),
       q(0),
       ],
    q(joba) => [
-      q(3134),
+      q(3133),
       q(0),
       ],
    q(jofotek-bromnya) => [
-      q(3065),
+      q(3064),
       q(0),
       ],
    q(jola-fonyi) => [
@@ -35830,35 +35856,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jonkor bourmataguil) => [
-      q(3084),
+      q(3083),
       q(0),
       ],
    q(jora) => [
-      q(3136),
+      q(3135),
       q(0),
       ],
    q(jordanian sign language) => [
-      q(3137),
+      q(3136),
       q(0),
       ],
    q(jorto) => [
-      q(3143),
+      q(3142),
       q(0),
       ],
    q(jowulu) => [
-      q(3138),
+      q(3137),
       q(0),
       ],
    q(ju) => [
-      q(3161),
+      q(3160),
       q(0),
       ],
    q(ju/'hoan) => [
-      q(3644),
+      q(3643),
       q(0),
       ],
    q(juang) => [
-      q(3155),
+      q(3154),
       q(0),
       ],
    q(judeo-arabic) => [
@@ -35866,19 +35892,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(judeo-berber) => [
-      q(3060),
+      q(3059),
       q(0),
       ],
    q(judeo-georgian) => [
-      q(3086),
+      q(3085),
       q(0),
       ],
    q(judeo-iraqi arabic) => [
-      q(7642),
+      q(7641),
       q(0),
       ],
    q(judeo-italian) => [
-      q(3013),
+      q(3012),
       q(0),
       ],
    q(judeo-moroccan arabic) => [
@@ -35890,7 +35916,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(judeo-tat) => [
-      q(3073),
+      q(3072),
       q(0),
       ],
    q(judeo-tripolitanian arabic) => [
@@ -35902,35 +35928,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(judeo-yemeni arabic) => [
-      q(3168),
+      q(3167),
       q(0),
       ],
+   q(juhoan) => [
+      q(3643),
+      q(1),
+      ],
    q(jukun takum) => [
-      q(3067),
+      q(3066),
       q(0),
       ],
    q(juma) => [
-      q(3146),
+      q(3145),
       q(0),
       ],
    q(jumjum) => [
-      q(3154),
+      q(3153),
       q(0),
       ],
    q(jumla sign language) => [
-      q(3159),
+      q(3158),
       q(0),
       ],
    q(jumli) => [
-      q(3121),
+      q(3120),
       q(0),
       ],
    q(jungle inga) => [
-      q(2971),
+      q(2970),
       q(0),
       ],
    q(juquila mixe) => [
-      q(4662),
+      q(4661),
       q(0),
       ],
    q(jur modo) => [
@@ -35938,43 +35968,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(juray) => [
-      q(3163),
+      q(3162),
       q(0),
       ],
    q(jurchen) => [
-      q(3148),
+      q(3147),
       q(0),
       ],
    q(juruna) => [
-      q(3158),
+      q(3157),
       q(0),
       ],
    q(jutish) => [
-      q(3160),
+      q(3159),
       q(0),
       ],
    q(juwal) => [
-      q(4625),
+      q(4624),
       q(0),
       ],
    q(juxtlahuaca mixtec) => [
-      q(7019),
+      q(7018),
       q(0),
       ],
    q(jwira-pepesa) => [
-      q(3166),
+      q(3165),
       q(0),
       ],
    q(k'iche') => [
-      q(5680),
+      q(5679),
       q(0),
       ],
    q(kaamba) => [
-      q(7387),
+      q(7386),
       q(0),
       ],
    q(kaan) => [
-      q(3853),
+      q(3852),
       q(0),
       ],
    q(kaang chin) => [
@@ -35986,19 +36016,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kaapor) => [
-      q(6926),
+      q(6925),
       q(1),
       ],
    q(kaapor sign language) => [
-      q(6885),
+      q(6884),
       q(1),
       ],
    q(kaba) => [
-      q(3608),
+      q(3607),
       q(0),
       ],
    q(kabalai) => [
-      q(3671),
+      q(3670),
       q(0),
       ],
    q(kabardian) => [
@@ -36006,39 +36036,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kabatei) => [
-      q(7382),
+      q(7381),
       q(0),
       ],
    q(kabixi) => [
-      q(7305),
+      q(7304),
       q(0),
       ],
    q(kabiye) => [
-      q(3197),
+      q(3196),
       q(0),
       ],
    q(kabola) => [
-      q(3453),
+      q(3452),
       q(0),
       ],
    q(kabore one) => [
-      q(5272),
+      q(5271),
       q(0),
       ],
    q(kabras) => [
-      q(3939),
+      q(3938),
       q(0),
       ],
    q(kaburi) => [
-      q(6879),
+      q(6878),
       q(0),
       ],
    q(kabutra) => [
-      q(3202),
+      q(3201),
       q(0),
       ],
    q(kabuverdianu) => [
-      q(3256),
+      q(3255),
       q(0),
       ],
    q(kabwa) => [
@@ -36046,7 +36076,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kabwari) => [
-      q(3230),
+      q(3229),
       q(0),
       ],
    q(kabyle) => [
@@ -36054,15 +36084,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kachama-ganjule) => [
-      q(3231),
+      q(3230),
       q(0),
       ],
    q(kachari) => [
-      q(7273),
+      q(7272),
       q(0),
       ],
    q(kachchi) => [
-      q(3299),
+      q(3298),
       q(0),
       ],
    q(kachi koli) => [
@@ -36074,27 +36104,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kacipo-balesi) => [
-      q(3507),
+      q(3506),
       q(0),
       ],
    q(kaco') => [
-      q(7378),
+      q(7377),
       q(0),
       ],
    q(kadai) => [
-      q(3770),
+      q(3769),
       q(0),
       ],
    q(kadar) => [
-      q(3265),
+      q(3264),
       q(0),
       ],
    q(kadaru) => [
-      q(3251),
+      q(3250),
       q(0),
       ],
    q(kadiweu) => [
-      q(3186),
+      q(3185),
       q(0),
       ],
    q(kadu) => [
@@ -36102,23 +36132,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kaduo) => [
-      q(3634),
+      q(3633),
       q(0),
       ],
    q(kafa) => [
-      q(3199),
+      q(3198),
       q(0),
       ],
    q(kafoa) => [
-      q(3541),
+      q(3540),
       q(0),
       ],
    q(kagan kalagan) => [
-      q(3439),
+      q(3438),
       q(0),
       ],
    q(kagate) => [
-      q(6343),
+      q(6342),
       q(0),
       ],
    q(kagayanen) => [
@@ -36126,19 +36156,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kagoma) => [
-      q(3245),
+      q(3244),
       q(0),
       ],
    q(kagoro) => [
-      q(7374),
+      q(7373),
       q(0),
       ],
    q(kagulu) => [
-      q(3410),
+      q(3409),
       q(0),
       ],
    q(kahe) => [
-      q(2767),
+      q(2766),
       q(0),
       ],
    q(kahua) => [
@@ -36146,39 +36176,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kaian) => [
-      q(3227),
+      q(3226),
       q(0),
       ],
    q(kaibobo) => [
-      q(3768),
+      q(3767),
       q(0),
       ],
    q(kaidipang) => [
-      q(3781),
+      q(3780),
       q(0),
       ],
    q(kaiep) => [
-      q(3204),
+      q(3203),
       q(0),
       ],
    q(kaikadi) => [
-      q(3271),
+      q(3270),
       q(0),
       ],
    q(kaikavian literary language) => [
-      q(3398),
+      q(3397),
       q(0),
       ],
    q(kaike) => [
-      q(3782),
+      q(3781),
       q(0),
       ],
    q(kaiku) => [
-      q(3418),
+      q(3417),
       q(0),
       ],
    q(kaimbe) => [
-      q(7277),
+      q(7276),
       q(0),
       ],
    q(kaimbulawa) => [
@@ -36186,7 +36216,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kaingang) => [
-      q(3322),
+      q(3321),
       q(0),
       ],
    q(kairak) => [
@@ -36194,27 +36224,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kairiru) => [
-      q(3717),
+      q(3716),
       q(0),
       ],
    q(kairui-midiki) => [
-      q(3575),
+      q(3574),
       q(0),
       ],
    q(kais) => [
-      q(3778),
+      q(3777),
       q(0),
       ],
    q(kaivi) => [
-      q(3212),
+      q(3211),
       q(0),
       ],
    q(kaiwa) => [
-      q(3317),
+      q(3316),
       q(0),
       ],
    q(kaiy) => [
-      q(6419),
+      q(6418),
       q(0),
       ],
    q(kajakse) => [
@@ -36222,43 +36252,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kajali) => [
-      q(7377),
+      q(7376),
       q(0),
       ],
    q(kajaman) => [
-      q(3173),
+      q(3172),
       q(0),
       ],
    q(kakabai) => [
-      q(3552),
+      q(3551),
       q(0),
       ],
    q(kakabe) => [
-      q(3406),
+      q(3405),
       q(0),
       ],
    q(kakanda) => [
-      q(3402),
+      q(3401),
       q(0),
       ],
    q(kaki ae) => [
-      q(6382),
+      q(6381),
       q(0),
       ],
    q(kako) => [
-      q(3411),
+      q(3410),
       q(0),
       ],
    q(kakwa) => [
-      q(3270),
+      q(3269),
       q(0),
       ],
    q(kala) => [
-      q(3219),
+      q(3218),
       q(1),
       ],
    q(kala lagaw ya) => [
-      q(4636),
+      q(4635),
       q(0),
       ],
    q(kalaallisut) => [
@@ -36266,67 +36296,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kalaamaya) => [
-      q(3947),
+      q(3946),
       q(0),
       ],
    q(kalabakan) => [
-      q(3670),
+      q(3669),
       q(0),
       ],
    q(kalabari) => [
-      q(2937),
+      q(2936),
       q(0),
       ],
    q(kalabra) => [
-      q(3791),
+      q(3790),
       q(0),
       ],
    q(kalagan) => [
-      q(3551),
+      q(3550),
       q(0),
       ],
    q(kalaktang monpa) => [
-      q(3407),
+      q(3406),
       q(0),
       ],
    q(kalam) => [
-      q(3460),
+      q(3459),
       q(0),
       ],
    q(kalami) => [
-      q(2681),
+      q(2680),
       q(0),
       ],
    q(kalamse) => [
-      q(3503),
+      q(3502),
       q(0),
       ],
    q(kalanadi) => [
-      q(7147),
+      q(7146),
       q(0),
       ],
    q(kalanga) => [
-      q(3218),
+      q(3217),
       q(0),
       ],
    q(kalao) => [
-      q(3452),
+      q(3451),
       q(0),
       ],
    q(kalapuya) => [
-      q(3752),
+      q(3751),
       q(0),
       ],
    q(kalarko) => [
-      q(3184),
+      q(3183),
       q(0),
       ],
    q(kalasha) => [
-      q(3446),
+      q(3445),
       q(0),
       ],
    q(kalenjin) => [
-      q(3441),
+      q(3440),
       q(0),
       ],
    q(kalispel-pend d'oreille) => [
@@ -36334,11 +36364,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kalkoti) => [
-      q(7368),
+      q(7367),
       q(0),
       ],
    q(kalkutung) => [
-      q(3625),
+      q(3624),
       q(0),
       ],
    q(kalmyk) => [
@@ -36346,7 +36376,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kalo finnish romani) => [
-      q(5809),
+      q(5808),
       q(0),
       ],
    q(kalou) => [
@@ -36358,63 +36388,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kalumpang) => [
-      q(3436),
+      q(3435),
       q(0),
       ],
    q(kam) => [
-      q(3253),
+      q(3252),
       q(0),
       ],
    q(kamakan) => [
-      q(7010),
+      q(7009),
       q(0),
       ],
    q(kamang) => [
-      q(7202),
+      q(7201),
       q(0),
       ],
    q(kamano) => [
-      q(3198),
+      q(3197),
       q(0),
       ],
    q(kamantan) => [
-      q(3216),
+      q(3215),
       q(0),
       ],
    q(kamar) => [
-      q(3272),
+      q(3271),
       q(0),
       ],
    q(kamara) => [
-      q(3123),
+      q(3122),
       q(0),
       ],
    q(kamarian) => [
-      q(3789),
+      q(3788),
       q(0),
       ],
    q(kamaru) => [
-      q(3330),
+      q(3329),
       q(0),
       ],
    q(kamas) => [
-      q(7285),
+      q(7284),
       q(0),
       ],
    q(kamasa) => [
-      q(3443),
+      q(3442),
       q(0),
       ],
    q(kamasau) => [
-      q(3471),
+      q(3470),
       q(0),
       ],
    q(kamayo) => [
-      q(3751),
+      q(3750),
       q(0),
       ],
    q(kamayura) => [
-      q(3183),
+      q(3182),
       q(0),
       ],
    q(kamba) => [
@@ -36422,7 +36452,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kamba (brazil)) => [
-      q(7291),
+      q(7290),
       q(0),
       ],
    q(kamba (kenya)) => [
@@ -36430,67 +36460,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(kambaata) => [
-      q(3620),
+      q(3619),
       q(0),
       ],
    q(kambaira) => [
-      q(3765),
+      q(3764),
       q(0),
       ],
    q(kambera) => [
-      q(7303),
+      q(7302),
       q(0),
       ],
    q(kamberau) => [
-      q(2994),
+      q(2993),
       q(0),
       ],
    q(kambiwa) => [
-      q(7304),
+      q(7303),
       q(0),
       ],
    q(kami (nigeria)) => [
-      q(3461),
+      q(3460),
       q(0),
       ],
    q(kami (tanzania)) => [
-      q(3228),
+      q(3227),
       q(0),
       ],
    q(kamo) => [
-      q(3224),
+      q(3223),
       q(0),
       ],
    q(kamoro) => [
-      q(3323),
+      q(3322),
       q(0),
       ],
    q(kamta) => [
-      q(5802),
+      q(5801),
       q(1),
       ],
    q(kamu) => [
-      q(7425),
+      q(7424),
       q(0),
       ],
    q(kamula) => [
-      q(7393),
+      q(7392),
       q(0),
       ],
    q(kamviri) => [
-      q(7543),
+      q(7542),
       q(0),
       ],
    q(kamwe) => [
-      q(2757),
+      q(2756),
       q(0),
       ],
    q(kanakanabu) => [
-      q(7432),
+      q(7431),
       q(0),
       ],
    q(kanamari) => [
-      q(3490),
+      q(3489),
       q(0),
       ],
    q(kanan) => [
@@ -36498,11 +36528,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kanashi) => [
-      q(7440),
+      q(7439),
       q(0),
       ],
    q(kanasi) => [
-      q(6168),
+      q(6167),
       q(0),
       ],
    q(kanauji) => [
@@ -36510,7 +36540,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kandas) => [
-      q(3569),
+      q(3568),
       q(0),
       ],
    q(kandawo) => [
@@ -36518,87 +36548,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kande) => [
-      q(3200),
+      q(3199),
       q(0),
       ],
    q(kanembu) => [
-      q(3193),
+      q(3192),
       q(0),
       ],
    q(kang) => [
-      q(3756),
+      q(3755),
       q(0),
       ],
    q(kanga) => [
-      q(3223),
+      q(3222),
       q(0),
       ],
    q(kangean) => [
-      q(3423),
+      q(3422),
       q(0),
       ],
    q(kanggape) => [
-      q(2924),
+      q(2923),
       q(0),
       ],
    q(kangjia) => [
-      q(3733),
+      q(3732),
       q(0),
       ],
    q(kango (bas-uele district)) => [
-      q(3643),
+      q(3642),
       q(0),
       ],
    q(kango (tshopo district)) => [
-      q(3790),
+      q(3789),
       q(0),
       ],
    q(kangri) => [
-      q(7439),
+      q(7438),
       q(0),
       ],
    q(kaniet) => [
-      q(3629),
+      q(3628),
       q(0),
       ],
    q(kanikkaran) => [
-      q(3277),
+      q(3276),
       q(0),
       ],
    q(kaningdon-nindem) => [
-      q(3247),
+      q(3246),
       q(0),
       ],
    q(kaningi) => [
-      q(3780),
+      q(3779),
       q(0),
       ],
    q(kaningra) => [
-      q(3495),
+      q(3494),
       q(0),
       ],
    q(kaninuwa) => [
-      q(7070),
+      q(7069),
       q(0),
       ],
    q(kanite) => [
-      q(3473),
+      q(3472),
       q(0),
       ],
    q(kanjari) => [
-      q(3301),
+      q(3300),
       q(0),
       ],
    q(kanjobal) => [
-      q(3378),
+      q(3377),
       q(1),
       ],
    q(kanju) => [
-      q(3187),
+      q(3186),
       q(0),
       ],
    q(kankanaey) => [
-      q(3483),
+      q(3482),
       q(0),
       ],
    q(kannada) => [
@@ -36606,31 +36636,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kannada kurumba) => [
-      q(3290),
+      q(3289),
       q(0),
       ],
    q(kanoe) => [
-      q(3729),
+      q(3728),
       q(0),
       ],
    q(kanowit-tanjong melanau) => [
-      q(3728),
+      q(3727),
       q(0),
       ],
    q(kansa) => [
-      q(3603),
+      q(3602),
       q(0),
       ],
    q(kantosi) => [
-      q(7386),
+      q(7385),
       q(0),
       ],
    q(kanu) => [
-      q(3351),
+      q(3350),
       q(0),
       ],
    q(kanufi) => [
-      q(3486),
+      q(3485),
       q(0),
       ],
    q(kanuri) => [
@@ -36638,15 +36668,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kanyok) => [
-      q(3502),
+      q(3501),
       q(0),
       ],
    q(kao) => [
-      q(3182),
+      q(3181),
       q(0),
       ],
    q(kaonde) => [
-      q(3560),
+      q(3559),
       q(0),
       ],
    q(kap) => [
@@ -36658,23 +36688,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(kapauri) => [
-      q(3343),
+      q(3342),
       q(1),
       ],
    q(kapin) => [
-      q(6401),
+      q(6400),
       q(0),
       ],
    q(kapinawa) => [
-      q(7464),
+      q(7463),
       q(0),
       ],
    q(kapingamarangi) => [
-      q(3528),
+      q(3527),
       q(0),
       ],
    q(kapori) => [
-      q(3343),
+      q(3342),
       q(0),
       ],
    q(kapriman) => [
@@ -36682,11 +36712,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kaptiau) => [
-      q(3190),
+      q(3189),
       q(0),
       ],
    q(kapya) => [
-      q(3442),
+      q(3441),
       q(0),
       ],
    q(kaqchikel) => [
@@ -36694,7 +36724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kara (central african republic)) => [
-      q(3174),
+      q(3173),
       q(0),
       ],
    q(kara (korea)) => [
@@ -36702,11 +36732,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kara (papua new guinea)) => [
-      q(3878),
+      q(3877),
       q(0),
       ],
    q(kara (tanzania)) => [
-      q(5766),
+      q(5765),
       q(0),
       ],
    q(kara-kalpak) => [
@@ -36722,39 +36752,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(karagas) => [
-      q(3365),
+      q(3364),
       q(0),
       ],
    q(karahawyana) => [
-      q(7375),
+      q(7374),
       q(0),
       ],
    q(karaim) => [
-      q(3249),
+      q(3248),
       q(0),
       ],
    q(karaja) => [
-      q(3531),
+      q(3530),
       q(0),
       ],
    q(karakhanid) => [
-      q(7473),
+      q(7472),
       q(0),
       ],
    q(karami) => [
-      q(7284),
+      q(7283),
       q(0),
       ],
    q(karamojong) => [
-      q(3242),
+      q(3241),
       q(0),
       ],
    q(karang) => [
-      q(3783),
+      q(3782),
       q(0),
       ],
    q(karanga) => [
-      q(3626),
+      q(3625),
       q(0),
       ],
    q(karankawa) => [
@@ -36762,35 +36792,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(karao) => [
-      q(3750),
+      q(3749),
       q(0),
       ],
    q(karas) => [
-      q(3328),
+      q(3327),
       q(0),
       ],
    q(karata) => [
-      q(3540),
+      q(3539),
       q(0),
       ],
    q(karawa) => [
-      q(7487),
+      q(7486),
       q(0),
       ],
    q(karbi) => [
-      q(4339),
+      q(4338),
       q(0),
       ],
    q(kare (central african republic)) => [
-      q(3195),
+      q(3194),
       q(0),
       ],
    q(kare (papua new guinea)) => [
-      q(3458),
+      q(3457),
       q(0),
       ],
    q(karekare) => [
-      q(3175),
+      q(3174),
       q(0),
       ],
    q(karelian) => [
@@ -36806,39 +36836,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(karey) => [
-      q(3744),
+      q(3743),
       q(0),
       ],
    q(kari) => [
-      q(3191),
+      q(3190),
       q(0),
       ],
    q(karingani) => [
-      q(3320),
+      q(3319),
       q(0),
       ],
    q(karipuna) => [
-      q(3319),
+      q(3318),
       q(0),
       ],
    q(karipuna creole french) => [
-      q(3474),
+      q(3473),
       q(0),
       ],
    q(kariri-xoco) => [
-      q(3788),
+      q(3787),
       q(0),
       ],
    q(karitiana) => [
-      q(3632),
+      q(3631),
       q(0),
       ],
    q(kariya) => [
-      q(3364),
+      q(3363),
       q(0),
       ],
    q(kariyarra) => [
-      q(7005),
+      q(7004),
       q(0),
       ],
    q(karkar-yuri) => [
@@ -36846,11 +36876,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(karkin) => [
-      q(3574),
+      q(3573),
       q(0),
       ],
    q(karko) => [
-      q(3416),
+      q(3415),
       q(0),
       ],
    q(karnai) => [
@@ -36862,31 +36892,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(karo (ethiopia)) => [
-      q(3722),
+      q(3721),
       q(0),
       ],
    q(karok) => [
-      q(3748),
+      q(3747),
       q(0),
       ],
    q(karon) => [
-      q(3590),
+      q(3589),
       q(0),
       ],
    q(karon dori) => [
-      q(3329),
+      q(3328),
       q(0),
       ],
    q(karore) => [
-      q(7390),
+      q(7389),
       q(0),
       ],
    q(karranga) => [
-      q(7483),
+      q(7482),
       q(0),
       ],
    q(karuwali) => [
-      q(5881),
+      q(5880),
       q(0),
       ],
    q(kasanga) => [
@@ -36894,11 +36924,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kasem) => [
-      q(7496),
+      q(7495),
       q(0),
       ],
    q(kashaya) => [
-      q(3397),
+      q(3396),
       q(0),
       ],
    q(kashmiri) => [
@@ -36910,11 +36940,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kasiguranin) => [
-      q(3606),
+      q(3605),
       q(0),
       ],
    q(kaska) => [
-      q(3427),
+      q(3426),
       q(0),
       ],
    q(kaskean) => [
@@ -36922,39 +36952,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kasseng) => [
-      q(3310),
+      q(3309),
       q(0),
       ],
    q(kasua) => [
-      q(3346),
+      q(3345),
       q(0),
       ],
    q(kataang) => [
-      q(3311),
+      q(3310),
       q(0),
       ],
    q(katabaga) => [
-      q(3635),
+      q(3634),
       q(0),
       ],
    q(katawixi) => [
-      q(7286),
+      q(7285),
       q(0),
       ],
    q(katbol) => [
-      q(6587),
+      q(6586),
       q(0),
       ],
    q(katcha-kadugli-miri) => [
-      q(7508),
+      q(7507),
       q(0),
       ],
    q(kate) => [
-      q(3459),
+      q(3458),
       q(0),
       ],
    q(kathoriya tharu) => [
-      q(6559),
+      q(6558),
       q(0),
       ],
    q(kathu) => [
@@ -36966,35 +36996,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(katkari) => [
-      q(3302),
+      q(3301),
       q(0),
       ],
    q(katla) => [
-      q(3225),
+      q(3224),
       q(0),
       ],
    q(kato) => [
-      q(3641),
+      q(3640),
       q(0),
       ],
    q(katso) => [
-      q(3172),
+      q(3171),
       q(0),
       ],
    q(katua) => [
-      q(3619),
+      q(3618),
       q(0),
       ],
    q(katukina) => [
-      q(3181),
+      q(3180),
       q(0),
       ],
    q(kaulong) => [
-      q(5622),
+      q(5621),
       q(0),
       ],
    q(kaur) => [
-      q(7008),
+      q(7007),
       q(0),
       ],
    q(kaure) => [
@@ -37006,7 +37036,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kauwera) => [
-      q(7287),
+      q(7286),
       q(0),
       ],
    q(kavalan) => [
@@ -37014,19 +37044,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kavet) => [
-      q(3588),
+      q(3587),
       q(0),
       ],
    q(kawacha) => [
-      q(3209),
+      q(3208),
       q(0),
       ],
    q(kawaiisu) => [
-      q(7289),
+      q(7288),
       q(0),
       ],
    q(kawe) => [
-      q(3309),
+      q(3308),
       q(0),
       ],
    q(kawi) => [
@@ -37034,59 +37064,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kaxarari) => [
-      q(3642),
+      q(3641),
       q(0),
       ],
    q(kaxuiana) => [
-      q(3185),
+      q(3184),
       q(0),
       ],
    q(kayabi) => [
-      q(3766),
+      q(3765),
       q(0),
       ],
    q(kayagar) => [
-      q(3760),
+      q(3759),
       q(0),
       ],
    q(kayan) => [
-      q(5402),
+      q(5401),
       q(0),
       ],
    q(kayan mahakam) => [
-      q(7290),
+      q(7289),
       q(0),
       ],
    q(kayan river kayan) => [
-      q(7380),
+      q(7379),
       q(0),
       ],
    q(kayapa kallahan) => [
-      q(3177),
+      q(3176),
       q(0),
       ],
    q(kayapo) => [
-      q(6826),
+      q(6825),
       q(0),
       ],
    q(kayardild) => [
-      q(2697),
+      q(2696),
       q(0),
       ],
    q(kayaw) => [
-      q(3677),
+      q(3676),
       q(0),
       ],
    q(kayeli) => [
-      q(3777),
+      q(3776),
       q(0),
       ],
    q(kayong) => [
-      q(3739),
+      q(3738),
       q(0),
       ],
    q(kayort) => [
-      q(3762),
+      q(3761),
       q(0),
       ],
    q(kaytetye) => [
@@ -37094,7 +37124,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kayupulau) => [
-      q(3786),
+      q(3785),
       q(0),
       ],
    q(kazakh) => [
@@ -37102,47 +37132,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kazukuru) => [
-      q(3776),
+      q(3775),
       q(0),
       ],
    q(ke'o) => [
-      q(7560),
+      q(7559),
       q(0),
       ],
    q(keak) => [
-      q(3263),
+      q(3262),
       q(0),
       ],
    q(keapara) => [
-      q(3353),
+      q(3352),
       q(0),
       ],
    q(kedah malay) => [
-      q(4213),
+      q(4212),
       q(0),
       ],
    q(kedang) => [
-      q(3616),
+      q(3615),
       q(0),
       ],
    q(keder) => [
-      q(3254),
+      q(3253),
       q(0),
       ],
    q(kehu) => [
-      q(3338),
+      q(3337),
       q(0),
       ],
    q(kei) => [
-      q(3264),
+      q(3263),
       q(0),
       ],
    q(keiga) => [
-      q(3258),
+      q(3257),
       q(0),
       ],
    q(keijar) => [
-      q(3254),
+      q(3253),
       q(1),
       ],
    q(kein) => [
@@ -37154,31 +37184,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kekchi) => [
-      q(3266),
+      q(3265),
       q(0),
       ],
    q(kela (democratic republic of congo)) => [
-      q(3267),
+      q(3266),
       q(0),
       ],
    q(kela (papua new guinea)) => [
-      q(3219),
+      q(3218),
       q(0),
       ],
    q(kelabit) => [
-      q(3774),
+      q(3773),
       q(0),
       ],
    q(kele) => [
-      q(3257),
+      q(3256),
       q(0),
       ],
    q(kele (democratic republic of congo)) => [
-      q(3352),
+      q(3351),
       q(0),
       ],
    q(kele (papua new guinea)) => [
-      q(5903),
+      q(5902),
       q(0),
       ],
    q(kelengazxo bozo) => [
@@ -37186,27 +37216,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(keley-i kallahan) => [
-      q(2919),
+      q(2918),
       q(0),
       ],
    q(keliko) => [
-      q(3196),
+      q(3195),
       q(0),
       ],
    q(kelo) => [
-      q(7330),
+      q(7329),
       q(0),
       ],
    q(kelon) => [
-      q(3755),
+      q(3754),
       q(0),
       ],
    q(kemak) => [
-      q(3268),
+      q(3267),
       q(0),
       ],
    q(kembayan) => [
-      q(7331),
+      q(7330),
       q(0),
       ],
    q(kemberano) => [
@@ -37214,7 +37244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kembra) => [
-      q(7389),
+      q(7388),
       q(0),
       ],
    q(kemedzung) => [
@@ -37222,19 +37252,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kemi sami) => [
-      q(6059),
+      q(6058),
       q(0),
       ],
    q(kemiehua) => [
-      q(3291),
+      q(3290),
       q(0),
       ],
    q(kemtuik) => [
-      q(3472),
+      q(3471),
       q(0),
       ],
    q(kenaboi) => [
-      q(7300),
+      q(7299),
       q(0),
       ],
    q(kenati) => [
@@ -37242,183 +37272,183 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kendayan) => [
-      q(3501),
+      q(3500),
       q(0),
       ],
    q(kendeje) => [
-      q(3433),
+      q(3432),
       q(0),
       ],
    q(kendem) => [
-      q(3678),
+      q(3677),
       q(0),
       ],
    q(kenga) => [
-      q(3757),
+      q(3756),
       q(0),
       ],
    q(keningau murut) => [
-      q(3723),
+      q(3722),
       q(0),
       ],
    q(keninjal) => [
-      q(3489),
+      q(3488),
       q(0),
       ],
    q(kensiu) => [
-      q(3496),
+      q(3495),
       q(0),
       ],
    q(kenswei nsei) => [
-      q(4784),
+      q(4783),
       q(0),
       ],
    q(kenyan sign language) => [
-      q(7376),
+      q(7375),
       q(0),
       ],
    q(kenyang) => [
-      q(3269),
+      q(3268),
       q(0),
       ],
    q(kenyi) => [
-      q(3942),
+      q(3941),
       q(0),
       ],
    q(kenzi) => [
-      q(7444),
+      q(7443),
       q(0),
       ],
    q(keoru-ahia) => [
-      q(7336),
+      q(7335),
       q(0),
       ],
    q(kepkiriwat) => [
-      q(3535),
+      q(3534),
       q(0),
       ],
    q(kepo') => [
-      q(3654),
+      q(3653),
       q(0),
       ],
    q(kera) => [
-      q(3273),
+      q(3272),
       q(0),
       ],
    q(kerak) => [
-      q(2751),
+      q(2750),
       q(0),
       ],
    q(kereho) => [
-      q(7372),
+      q(7371),
       q(0),
       ],
    q(kerek) => [
-      q(3581),
+      q(3580),
       q(0),
       ],
    q(kerewe) => [
-      q(3259),
+      q(3258),
       q(0),
       ],
    q(kerewo) => [
-      q(3740),
+      q(3739),
       q(0),
       ],
    q(kerinci) => [
-      q(3683),
+      q(3682),
       q(0),
       ],
    q(kesawai) => [
-      q(7334),
+      q(7333),
       q(0),
       ],
    q(ket) => [
-      q(3275),
+      q(3274),
       q(0),
       ],
    q(ketangalan) => [
-      q(3171),
+      q(3170),
       q(0),
       ],
    q(kete) => [
-      q(3229),
+      q(3228),
       q(0),
       ],
    q(ketengban) => [
-      q(7510),
+      q(7509),
       q(0),
       ],
    q(ketum) => [
-      q(3638),
+      q(3637),
       q(0),
       ],
    q(keyagana) => [
-      q(3747),
+      q(3746),
       q(0),
       ],
    q(kgalagadi) => [
-      q(7388),
+      q(7387),
       q(0),
       ],
    q(khakas) => [
-      q(3384),
+      q(3383),
       q(0),
       ],
    q(khalaj) => [
-      q(3382),
+      q(3381),
       q(0),
       ],
    q(khaling) => [
-      q(3445),
+      q(3444),
       q(0),
       ],
    q(khamba) => [
-      q(3188),
+      q(3187),
       q(0),
       ],
    q(khams tibetan) => [
-      q(3337),
+      q(3336),
       q(0),
       ],
    q(khamti) => [
-      q(3347),
+      q(3346),
       q(0),
       ],
    q(khamyang) => [
-      q(3613),
+      q(3612),
       q(0),
       ],
    q(khana) => [
-      q(5211),
+      q(5210),
       q(0),
       ],
    q(khandesi) => [
-      q(3342),
+      q(3341),
       q(0),
       ],
    q(khang) => [
-      q(3389),
+      q(3388),
       q(0),
       ],
    q(khanty) => [
-      q(3208),
+      q(3207),
       q(0),
       ],
    q(khao) => [
-      q(7281),
+      q(7280),
       q(0),
       ],
    q(kharam naga) => [
-      q(3304),
+      q(3303),
       q(0),
       ],
    q(kharia) => [
-      q(3345),
+      q(3344),
       q(0),
       ],
    q(kharia thar) => [
-      q(3617),
+      q(3616),
       q(0),
       ],
    q(khasi) => [
@@ -37426,7 +37456,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(khayo) => [
-      q(3949),
+      q(3948),
       q(0),
       ],
    q(khazar) => [
@@ -37434,43 +37464,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(khe) => [
-      q(3553),
+      q(3552),
       q(0),
       ],
    q(khehek) => [
-      q(6584),
+      q(6583),
       q(0),
       ],
    q(khengkha) => [
-      q(7373),
+      q(7372),
       q(0),
       ],
    q(khetrani) => [
-      q(7352),
+      q(7351),
       q(0),
       ],
    q(khezha naga) => [
-      q(4928),
+      q(4927),
       q(0),
       ],
    q(khiamniungan naga) => [
-      q(3374),
+      q(3373),
       q(0),
       ],
    q(khinalugh) => [
-      q(3386),
+      q(3385),
       q(0),
       ],
    q(khirwar) => [
-      q(3714),
+      q(3713),
       q(0),
       ],
    q(khisa) => [
-      q(3559),
+      q(3558),
       q(0),
       ],
    q(khlor) => [
-      q(3969),
+      q(3968),
       q(0),
       ],
    q(khlula) => [
@@ -37478,19 +37508,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(khmu) => [
-      q(3383),
+      q(3382),
       q(0),
       ],
    q(kho'ini) => [
-      q(7370),
+      q(7369),
       q(0),
       ],
    q(khoekhoe) => [
-      q(4731),
+      q(4730),
       q(0),
       ],
    q(khoibu naga) => [
-      q(4922),
+      q(4921),
       q(0),
       ],
    q(khoisan languages) => [
@@ -37498,15 +37528,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kholok) => [
-      q(3621),
+      q(3620),
       q(0),
       ],
    q(khonso) => [
-      q(3719),
+      q(3718),
       q(1),
       ],
    q(khorasani turkish) => [
-      q(3478),
+      q(3477),
       q(0),
       ],
    q(khorezmian) => [
@@ -37518,15 +37548,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(khowar) => [
-      q(3350),
+      q(3349),
       q(0),
       ],
    q(khua) => [
-      q(7356),
+      q(7355),
       q(0),
       ],
    q(khuen) => [
-      q(3336),
+      q(3335),
       q(0),
       ],
    q(khumi chin) => [
@@ -37534,27 +37564,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(khun) => [
-      q(3409),
+      q(3408),
       q(0),
       ],
    q(khunsari) => [
-      q(3294),
+      q(3293),
       q(0),
       ],
    q(khvarshi) => [
-      q(3349),
+      q(3348),
       q(0),
       ],
    q(kibet) => [
-      q(3358),
+      q(3357),
       q(0),
       ],
    q(kibiri) => [
-      q(5596),
+      q(5595),
       q(0),
       ],
    q(kickapoo) => [
-      q(3356),
+      q(3355),
       q(0),
       ],
    q(kiembu) => [
@@ -37562,11 +37592,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(kigiryama) => [
-      q(5159),
+      q(5158),
       q(1),
       ],
    q(kikai) => [
-      q(3773),
+      q(3772),
       q(0),
       ],
    q(kikuyu) => [
@@ -37574,43 +37604,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kildin sami) => [
-      q(6056),
+      q(6055),
       q(0),
       ],
    q(kilivila) => [
-      q(3363),
+      q(3362),
       q(0),
       ],
    q(kiliwa) => [
-      q(3429),
+      q(3428),
       q(0),
       ],
    q(kilmeri) => [
-      q(3361),
+      q(3360),
       q(0),
       ],
    q(kim) => [
-      q(3354),
+      q(3353),
       q(0),
       ],
    q(kim mun) => [
-      q(4325),
+      q(4324),
       q(0),
       ],
    q(kimaama) => [
-      q(3360),
+      q(3359),
       q(0),
       ],
    q(kimaghima) => [
-      q(3360),
+      q(3359),
       q(1),
       ],
    q(kimaragang) => [
-      q(3564),
+      q(3563),
       q(0),
       ],
    q(kimbu) => [
-      q(3372),
+      q(3371),
       q(0),
       ],
    q(kimbundu) => [
@@ -37618,11 +37648,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kimki) => [
-      q(5920),
+      q(5919),
       q(0),
       ],
    q(kimre) => [
-      q(3562),
+      q(3561),
       q(0),
       ],
    q(kinabalian) => [
@@ -37630,15 +37660,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kinalakna) => [
-      q(3222),
+      q(3221),
       q(0),
       ],
    q(kinamiging manobo) => [
-      q(4364),
+      q(4363),
       q(0),
       ],
    q(kinaray-a) => [
-      q(3580),
+      q(3579),
       q(0),
       ],
    q(kinga) => [
@@ -37646,15 +37676,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kinnauri) => [
-      q(3292),
+      q(3291),
       q(0),
       ],
    q(kintaq) => [
-      q(3494),
+      q(3493),
       q(0),
       ],
    q(kinuku) => [
-      q(3405),
+      q(3404),
       q(0),
       ],
    q(kinyarwanda) => [
@@ -37662,19 +37692,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kioko) => [
-      q(6867),
+      q(6866),
       q(0),
       ],
    q(kiong) => [
-      q(3414),
+      q(3413),
       q(0),
       ],
    q(kiorr) => [
-      q(7381),
+      q(7380),
       q(0),
       ],
    q(kiowa) => [
-      q(3366),
+      q(3365),
       q(0),
       ],
    q(kiowa apache) => [
@@ -37682,19 +37712,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kipfokomo) => [
-      q(5474),
+      q(5473),
       q(1),
       ],
    q(kipsigis) => [
-      q(5991),
+      q(5990),
       q(0),
       ],
    q(kiput) => [
-      q(3749),
+      q(3748),
       q(0),
       ],
    q(kir-balar) => [
-      q(3419),
+      q(3418),
       q(0),
       ],
    q(kirdki) => [
@@ -37710,11 +37740,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kirike) => [
-      q(5237),
+      q(5236),
       q(0),
       ],
    q(kirikiri) => [
-      q(3375),
+      q(3374),
       q(0),
       ],
    q(kirmanjki) => [
@@ -37722,7 +37752,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(4),
       ],
    q(kirmanjki (individual language)) => [
-      q(3371),
+      q(3370),
       q(0),
       ],
    q(kirmanjki (macrolanguage)) => [
@@ -37734,39 +37764,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kis) => [
-      q(3369),
+      q(3368),
       q(0),
       ],
    q(kisa) => [
-      q(3951),
+      q(3950),
       q(0),
       ],
    q(kisan) => [
-      q(7363),
+      q(7362),
       q(0),
       ],
    q(kisankasa) => [
-      q(3554),
+      q(3553),
       q(0),
       ],
    q(kisar) => [
-      q(3381),
+      q(3380),
       q(0),
       ],
    q(kisi) => [
-      q(3376),
+      q(3375),
       q(0),
       ],
    q(kistane) => [
-      q(2626),
+      q(2625),
       q(0),
       ],
    q(kiswahili) => [
-      q(6303),
+      q(6302),
       q(1),
       ],
    q(kita maninkakan) => [
-      q(4632),
+      q(4631),
       q(0),
       ],
    q(kitan) => [
@@ -37774,7 +37804,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kitharaka) => [
-      q(6502),
+      q(6501),
       q(1),
       ],
    q(kitja) => [
@@ -37782,39 +37812,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kitsai) => [
-      q(3362),
+      q(3361),
       q(0),
       ],
    q(kituba (congo)) => [
-      q(4363),
+      q(4362),
       q(0),
       ],
    q(kituba (democratic republic of congo)) => [
-      q(3639),
+      q(3638),
       q(0),
       ],
    q(kiunum) => [
-      q(7105),
+      q(7104),
       q(0),
       ],
    q(kiwilwana) => [
-      q(4375),
+      q(4374),
       q(1),
       ],
    q(kla-dan) => [
-      q(3845),
+      q(3844),
       q(0),
       ],
    q(klamath-modoc) => [
-      q(3428),
+      q(3427),
       q(0),
       ],
    q(klao) => [
-      q(3448),
+      q(3447),
       q(0),
       ],
    q(klias river kadazan) => [
-      q(3566),
+      q(3565),
       q(0),
       ],
    q(klingon) => [
@@ -37830,7 +37860,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(koalib) => [
-      q(3355),
+      q(3354),
       q(0),
       ],
    q(koasati) => [
@@ -37838,27 +37868,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(koba) => [
-      q(3526),
+      q(3525),
       q(0),
       ],
    q(kobiana) => [
-      q(3217),
+      q(3216),
       q(0),
       ],
    q(kobol) => [
-      q(3327),
+      q(3326),
       q(0),
       ],
    q(kobon) => [
-      q(3543),
+      q(3542),
       q(0),
       ],
    q(koch) => [
-      q(3248),
+      q(3247),
       q(0),
       ],
    q(kochila tharu) => [
-      q(6507),
+      q(6506),
       q(0),
       ],
    q(koda) => [
@@ -37866,43 +37896,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kodaku) => [
-      q(3618),
+      q(3617),
       q(0),
       ],
    q(kodava) => [
-      q(3282),
+      q(3281),
       q(0),
       ],
    q(kodeoha) => [
-      q(7011),
+      q(7010),
       q(0),
       ],
    q(kodi) => [
-      q(3506),
+      q(3505),
       q(0),
       ],
    q(kodia) => [
-      q(3707),
+      q(3706),
       q(0),
       ],
    q(koenoem) => [
-      q(3226),
+      q(3225),
       q(0),
       ],
    q(kofa) => [
-      q(3607),
+      q(3606),
       q(0),
       ],
    q(kofei) => [
-      q(3530),
+      q(3529),
       q(0),
       ],
    q(kofyar) => [
-      q(3703),
+      q(3702),
       q(0),
       ],
    q(kogi) => [
-      q(3509),
+      q(3508),
       q(1),
       ],
    q(koguryo) => [
@@ -37910,15 +37940,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kohin) => [
-      q(3425),
+      q(3424),
       q(0),
       ],
    q(kohistani shina) => [
-      q(5493),
+      q(5492),
       q(0),
       ],
    q(koho) => [
-      q(3534),
+      q(3533),
       q(0),
       ],
    q(kohumono) => [
@@ -37926,7 +37956,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(koi) => [
-      q(3421),
+      q(3420),
       q(0),
       ],
    q(koibal) => [
@@ -37934,19 +37964,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(koireng) => [
-      q(4924),
+      q(4923),
       q(0),
       ],
    q(koitabu) => [
-      q(3555),
+      q(3554),
       q(0),
       ],
    q(koiwat) => [
-      q(3734),
+      q(3733),
       q(0),
       ],
    q(kok borok) => [
-      q(6701),
+      q(6700),
       q(0),
       ],
    q(kok-nar) => [
@@ -37954,31 +37984,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kokata) => [
-      q(3622),
+      q(3621),
       q(0),
       ],
    q(koke) => [
-      q(3517),
+      q(3516),
       q(0),
       ],
    q(koki naga) => [
-      q(5146),
+      q(5145),
       q(0),
       ],
    q(koko babangk) => [
-      q(5228),
+      q(5227),
       q(0),
       ],
    q(kokoda) => [
-      q(7446),
+      q(7445),
       q(0),
       ],
    q(kokola) => [
-      q(3779),
+      q(3778),
       q(0),
       ],
    q(kokota) => [
-      q(3412),
+      q(3411),
       q(0),
       ],
    q(kol) => [
@@ -37994,27 +38024,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kol (papua new guinea)) => [
-      q(3512),
+      q(3511),
       q(0),
       ],
    q(kola) => [
-      q(3687),
+      q(3686),
       q(0),
       ],
    q(kolbila) => [
-      q(3430),
+      q(3429),
       q(0),
       ],
    q(kolibugan subanon) => [
-      q(6082),
+      q(6081),
       q(0),
       ],
    q(kolsch) => [
-      q(3600),
+      q(3599),
       q(0),
       ],
    q(koluwawa) => [
-      q(3451),
+      q(3450),
       q(0),
       ],
    q(kom (cameroon)) => [
@@ -38022,27 +38052,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kom (india)) => [
-      q(3465),
+      q(3464),
       q(0),
       ],
    q(koma) => [
-      q(3477),
+      q(3476),
       q(0),
       ],
    q(komba) => [
-      q(3527),
+      q(3526),
       q(0),
       ],
    q(kombai) => [
-      q(6835),
+      q(6834),
       q(0),
       ],
    q(kombio) => [
-      q(7297),
+      q(7296),
       q(0),
       ],
    q(komering) => [
-      q(3312),
+      q(3311),
       q(0),
       ],
    q(komi) => [
@@ -38050,39 +38080,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(komi-permyak) => [
-      q(3511),
+      q(3510),
       q(0),
       ],
    q(komi-zyrian) => [
-      q(3542),
+      q(3541),
       q(0),
       ],
    q(kominimung) => [
-      q(7448),
+      q(7447),
       q(0),
       ],
    q(komo (democratic republic of congo)) => [
-      q(3475),
+      q(3474),
       q(0),
       ],
    q(komo (sudan)) => [
-      q(7450),
+      q(7449),
       q(0),
       ],
    q(komodo) => [
-      q(3673),
+      q(3672),
       q(0),
       ],
    q(kompane) => [
-      q(3681),
+      q(3680),
       q(0),
       ],
    q(komyandaret) => [
-      q(3787),
+      q(3786),
       q(0),
       ],
    q(kon keu) => [
-      q(3415),
+      q(3414),
       q(0),
       ],
    q(konabere) => [
@@ -38090,19 +38120,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(konai) => [
-      q(3737),
+      q(3736),
       q(0),
       ],
    q(konda) => [
-      q(3482),
+      q(3481),
       q(0),
       ],
    q(konda-dora) => [
-      q(3284),
+      q(3283),
       q(0),
       ],
    q(koneraw) => [
-      q(3252),
+      q(3251),
       q(0),
       ],
    q(kongo) => [
@@ -38114,7 +38144,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(konkani (individual language)) => [
-      q(3491),
+      q(3490),
       q(0),
       ],
    q(konkani (macrolanguage)) => [
@@ -38122,83 +38152,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(konkomba) => [
-      q(7451),
+      q(7450),
       q(0),
       ],
    q(konni) => [
-      q(3454),
+      q(3453),
       q(0),
       ],
    q(kono (guinea)) => [
-      q(3498),
+      q(3497),
       q(0),
       ],
    q(kono (nigeria)) => [
-      q(3438),
+      q(3437),
       q(0),
       ],
    q(kono (sierra leone)) => [
-      q(3492),
+      q(3491),
       q(0),
       ],
    q(konomala) => [
-      q(3504),
+      q(3503),
       q(0),
       ],
    q(konongo) => [
-      q(3233),
+      q(3232),
       q(0),
       ],
    q(konso) => [
-      q(3719),
+      q(3718),
       q(0),
       ],
    q(konyak naga) => [
-      q(4743),
+      q(4742),
       q(0),
       ],
    q(konyanka maninka) => [
-      q(4361),
+      q(4360),
       q(0),
       ],
    q(konzo) => [
-      q(3513),
+      q(3512),
       q(0),
       ],
    q(koongo) => [
-      q(3485),
+      q(3484),
       q(0),
       ],
    q(koonzime) => [
-      q(5344),
+      q(5343),
       q(0),
       ],
    q(koorete) => [
-      q(3571),
+      q(3570),
       q(0),
       ],
    q(kopar) => [
-      q(7453),
+      q(7452),
       q(0),
       ],
    q(kopkaka) => [
-      q(5288),
+      q(5287),
       q(0),
       ],
    q(korafe-yegha) => [
-      q(3538),
+      q(3537),
       q(0),
       ],
    q(korak) => [
-      q(3522),
+      q(3521),
       q(0),
       ],
    q(korana) => [
-      q(3572),
+      q(3571),
       q(0),
       ],
    q(korandje) => [
-      q(3232),
+      q(3231),
       q(0),
       ],
    q(kordofanian languages) => [
@@ -38210,7 +38240,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(korean sign language) => [
-      q(3676),
+      q(3675),
       q(0),
       ],
    q(koreguaje) => [
@@ -38218,31 +38248,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(koresh-e rostam) => [
-      q(5229),
+      q(5228),
       q(0),
       ],
    q(korku) => [
-      q(3298),
+      q(3297),
       q(0),
       ],
    q(korlai creole portuguese) => [
-      q(7012),
+      q(7011),
       q(0),
       ],
    q(koro (cote d'ivoire)) => [
-      q(3296),
+      q(3295),
       q(0),
       ],
    q(koro (india)) => [
-      q(3112),
+      q(3111),
       q(0),
       ],
    q(koro (papua new guinea)) => [
-      q(3732),
+      q(3731),
       q(0),
       ],
    q(koro (vanuatu)) => [
-      q(3577),
+      q(3576),
       q(0),
       ],
    q(koro wachi) => [
@@ -38250,11 +38280,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(koromfe) => [
-      q(3307),
+      q(3306),
       q(0),
       ],
    q(koromira) => [
-      q(3556),
+      q(3555),
       q(0),
       ],
    q(koronadal blaan) => [
@@ -38262,35 +38292,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(koroni) => [
-      q(7383),
+      q(7382),
       q(0),
       ],
    q(korop) => [
-      q(3584),
+      q(3583),
       q(0),
       ],
    q(koropo) => [
-      q(7562),
+      q(7561),
       q(0),
       ],
    q(koroshi) => [
-      q(3630),
+      q(3629),
       q(0),
       ],
    q(korowai) => [
-      q(3335),
+      q(3334),
       q(0),
       ],
    q(korra koraga) => [
-      q(3285),
+      q(3284),
       q(0),
       ],
    q(korubo) => [
-      q(7454),
+      q(7453),
       q(0),
       ],
    q(korupun-sela) => [
-      q(3537),
+      q(3536),
       q(0),
       ],
    q(korur) => [
@@ -38298,35 +38328,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(korwa) => [
-      q(3297),
+      q(3296),
       q(0),
       ],
    q(koryak) => [
-      q(3545),
+      q(3544),
       q(0),
       ],
    q(kosadle) => [
-      q(3368),
+      q(3367),
       q(0),
       ],
    q(kosare) => [
-      q(3368),
+      q(3367),
       q(1),
       ],
    q(kosarek yale) => [
-      q(3413),
+      q(3412),
       q(0),
       ],
    q(kosena) => [
-      q(3771),
+      q(3770),
       q(0),
       ],
    q(koshin) => [
-      q(3357),
+      q(3356),
       q(0),
       ],
    q(kosli) => [
-      q(6194),
+      q(6193),
       q(1),
       ],
    q(kosraean) => [
@@ -38334,27 +38364,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kota (gabon)) => [
-      q(3515),
+      q(3514),
       q(0),
       ],
    q(kota (india)) => [
-      q(3286),
+      q(3285),
       q(0),
       ],
    q(kota bangun kutai malay) => [
-      q(4485),
+      q(4484),
       q(0),
       ],
    q(kota marudu talantang) => [
-      q(2620),
+      q(2619),
       q(0),
       ],
    q(kota marudu tinagas) => [
-      q(3636),
+      q(3635),
       q(0),
       ],
    q(kotafon gbe) => [
-      q(3557),
+      q(3556),
       q(0),
       ],
    q(kotava) => [
@@ -38370,75 +38400,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kouya) => [
-      q(3746),
+      q(3745),
       q(0),
       ],
    q(kovai) => [
-      q(3548),
+      q(3547),
       q(0),
       ],
    q(kove) => [
-      q(3668),
+      q(3667),
       q(0),
       ],
    q(kowaki) => [
-      q(7455),
+      q(7454),
       q(0),
       ],
    q(kowiai) => [
-      q(3699),
+      q(3698),
       q(0),
       ],
    q(koy sanjaq surat) => [
-      q(3550),
+      q(3549),
       q(0),
       ],
    q(koya) => [
-      q(3287),
+      q(3286),
       q(0),
       ],
    q(koyaga) => [
-      q(3308),
+      q(3307),
       q(0),
       ],
    q(koyo) => [
-      q(3510),
+      q(3509),
       q(0),
       ],
    q(koyra chiini songhay) => [
-      q(3344),
+      q(3343),
       q(0),
       ],
    q(koyraboro senni songhai) => [
-      q(5978),
+      q(5977),
       q(0),
       ],
    q(koyukon) => [
-      q(3521),
+      q(3520),
       q(0),
       ],
    q(kpagua) => [
-      q(3662),
+      q(3661),
       q(0),
       ],
    q(kpala) => [
-      q(3533),
+      q(3532),
       q(0),
       ],
    q(kpan) => [
-      q(3532),
+      q(3531),
       q(0),
       ],
    q(kpasam) => [
-      q(5371),
+      q(5370),
       q(0),
       ],
    q(kpati) => [
-      q(3505),
+      q(3504),
       q(0),
       ],
    q(kpatili) => [
-      q(3753),
+      q(3752),
       q(0),
       ],
    q(kpeego) => [
@@ -38450,27 +38480,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kpessi) => [
-      q(3261),
+      q(3260),
       q(0),
       ],
    q(kplang) => [
-      q(3529),
+      q(3528),
       q(0),
       ],
    q(krache) => [
-      q(3745),
+      q(3744),
       q(0),
       ],
    q(kraho) => [
-      q(7475),
+      q(7474),
       q(0),
       ],
    q(kraol) => [
-      q(5797),
+      q(5796),
       q(0),
       ],
    q(krenak) => [
-      q(3563),
+      q(3562),
       q(0),
       ],
    q(krevinian) => [
@@ -38478,35 +38508,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kreye) => [
-      q(7478),
+      q(7477),
       q(0),
       ],
    q(krikati-timbira) => [
-      q(7480),
+      q(7479),
       q(0),
       ],
    q(krim) => [
-      q(3582),
+      q(3581),
       q(0),
       ],
    q(krio) => [
-      q(3579),
+      q(3578),
       q(0),
       ],
    q(kriol) => [
-      q(5844),
+      q(5843),
       q(0),
       ],
    q(krisa) => [
-      q(3601),
+      q(3600),
       q(0),
       ],
    q(krobu) => [
-      q(3718),
+      q(3717),
       q(0),
       ],
    q(krongo) => [
-      q(3321),
+      q(3320),
       q(0),
       ],
    q(kru languages) => [
@@ -38514,19 +38544,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kru'ng 2) => [
-      q(3585),
+      q(3584),
       q(0),
       ],
    q(krymchak) => [
-      q(3070),
+      q(3069),
       q(0),
       ],
    q(kryts) => [
-      q(3591),
+      q(3590),
       q(0),
       ],
    q(kua) => [
-      q(6840),
+      q(6839),
       q(0),
       ],
    q(kua-nsi) => [
@@ -38538,15 +38568,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kuan) => [
-      q(6852),
+      q(6851),
       q(0),
       ],
    q(kuanhua) => [
-      q(7434),
+      q(7433),
       q(0),
       ],
    q(kuanua) => [
-      q(3596),
+      q(3595),
       q(0),
       ],
    q(kuanyama) => [
@@ -38554,51 +38584,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kube) => [
-      q(3313),
+      q(3312),
       q(0),
       ],
    q(kubi) => [
-      q(3508),
+      q(3507),
       q(0),
       ],
    q(kubo) => [
-      q(3110),
+      q(3109),
       q(0),
       ],
    q(kubu) => [
-      q(3667),
+      q(3666),
       q(0),
       ],
    q(kucong) => [
-      q(3940),
+      q(3939),
       q(0),
       ],
    q(kudiya) => [
-      q(3288),
+      q(3287),
       q(0),
       ],
    q(kudmali) => [
-      q(3763),
+      q(3762),
       q(0),
       ],
    q(kudu-camo) => [
-      q(3518),
+      q(3517),
       q(0),
       ],
    q(kugama) => [
-      q(3519),
+      q(3518),
       q(0),
       ],
    q(kugbo) => [
-      q(3274),
+      q(3273),
       q(0),
       ],
    q(kui (india)) => [
-      q(3735),
+      q(3734),
       q(0),
       ],
    q(kui (indonesia)) => [
-      q(3669),
+      q(3668),
       q(0),
       ],
    q(kuijau) => [
@@ -38606,19 +38636,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kuikuro-kalapalo) => [
-      q(3652),
+      q(3651),
       q(0),
       ],
    q(kujarge) => [
-      q(7007),
+      q(7006),
       q(0),
       ],
    q(kuk) => [
-      q(3295),
+      q(3294),
       q(0),
       ],
    q(kukatja) => [
-      q(3663),
+      q(3662),
       q(0),
       ],
    q(kuke) => [
@@ -38626,47 +38656,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kukele) => [
-      q(3281),
+      q(3280),
       q(0),
       ],
    q(kukna) => [
-      q(3279),
+      q(3278),
       q(0),
       ],
    q(kuku-mangk) => [
-      q(7421),
+      q(7420),
       q(0),
       ],
    q(kuku-mu'inh) => [
-      q(7420),
+      q(7419),
       q(0),
       ],
    q(kuku-muminh) => [
-      q(7413),
+      q(7412),
       q(0),
       ],
    q(kuku-ugbanh) => [
-      q(6869),
+      q(6868),
       q(0),
       ],
    q(kuku-uwanh) => [
-      q(6965),
+      q(6964),
       q(0),
       ],
    q(kuku-yalanji) => [
-      q(2673),
+      q(2672),
       q(0),
       ],
    q(kula) => [
-      q(6659),
+      q(6658),
       q(0),
       ],
    q(kulere) => [
-      q(3655),
+      q(3654),
       q(0),
       ],
    q(kulfa) => [
-      q(3724),
+      q(3723),
       q(0),
       ],
    q(kulina) => [
@@ -38674,23 +38704,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(kulina pano) => [
-      q(7462),
+      q(7461),
       q(0),
       ],
    q(kulisusu) => [
-      q(7009),
+      q(7008),
       q(0),
       ],
    q(kullu pahari) => [
-      q(3305),
+      q(3304),
       q(0),
       ],
    q(kulon-pazeh) => [
-      q(6959),
+      q(6958),
       q(0),
       ],
    q(kulung (nepal)) => [
-      q(3432),
+      q(3431),
       q(0),
       ],
    q(kulung (nigeria)) => [
@@ -38698,47 +38728,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kumalu) => [
-      q(3604),
+      q(3603),
       q(0),
       ],
    q(kumam) => [
-      q(3241),
+      q(3240),
       q(0),
       ],
    q(kuman (papua new guinea)) => [
-      q(3648),
+      q(3647),
       q(0),
       ],
    q(kuman (russia)) => [
-      q(5717),
+      q(5716),
       q(0),
       ],
    q(kumaoni) => [
-      q(3306),
+      q(3305),
       q(0),
       ],
    q(kumarbhag paharia) => [
-      q(3462),
+      q(3461),
       q(0),
       ],
    q(kumba) => [
-      q(3605),
+      q(3604),
       q(0),
       ],
    q(kumbainggar) => [
-      q(3325),
+      q(3324),
       q(0),
       ],
    q(kumbaran) => [
-      q(7145),
+      q(7144),
       q(0),
       ],
    q(kumbewaha) => [
-      q(7385),
+      q(7384),
       q(0),
       ],
    q(kumhali) => [
-      q(3573),
+      q(3572),
       q(0),
       ],
    q(kumiai) => [
@@ -38746,7 +38776,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kumukio) => [
-      q(3657),
+      q(3656),
       q(0),
       ],
    q(kumyk) => [
@@ -38758,31 +38788,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kunama) => [
-      q(3656),
+      q(3655),
       q(0),
       ],
    q(kunbarlang) => [
-      q(7154),
+      q(7153),
       q(0),
       ],
    q(kunda) => [
-      q(3246),
+      q(3245),
       q(0),
       ],
    q(kundal shahi) => [
-      q(6012),
+      q(6011),
       q(0),
       ],
    q(kunduvadi) => [
-      q(7148),
+      q(7147),
       q(0),
       ],
    q(kung) => [
-      q(3293),
+      q(3292),
       q(0),
       ],
    q(kung-ekoka) => [
-      q(3500),
+      q(3499),
       q(0),
       ],
    q(kungarakany) => [
@@ -38794,87 +38824,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kunggara) => [
-      q(3684),
+      q(3683),
       q(0),
       ],
    q(kunggari) => [
-      q(3318),
+      q(3317),
       q(0),
       ],
    q(kungkari) => [
-      q(3953),
+      q(3952),
       q(0),
       ],
    q(kuni) => [
-      q(3597),
+      q(3596),
       q(0),
       ],
    q(kuni-boazi) => [
-      q(3672),
+      q(3671),
       q(0),
       ],
    q(kunigami) => [
-      q(7532),
+      q(7531),
       q(0),
       ],
    q(kunimaipa) => [
-      q(3658),
+      q(3657),
       q(0),
       ],
    q(kunja) => [
-      q(5415),
+      q(5414),
       q(0),
       ],
    q(kunjen) => [
-      q(3390),
+      q(3389),
       q(0),
       ],
    q(kunyi) => [
-      q(4918),
+      q(4917),
       q(0),
       ],
    q(kunza) => [
-      q(3665),
+      q(3664),
       q(0),
       ],
    q(kuo) => [
-      q(7537),
+      q(7536),
       q(0),
       ],
    q(kuot) => [
-      q(3633),
+      q(3632),
       q(0),
       ],
    q(kupa) => [
-      q(3650),
+      q(3649),
       q(0),
       ],
    q(kupang malay) => [
-      q(4354),
+      q(4353),
       q(0),
       ],
    q(kupia) => [
-      q(3280),
+      q(3279),
       q(0),
       ],
    q(kupsabiny) => [
-      q(3546),
+      q(3545),
       q(0),
       ],
    q(kur) => [
-      q(3661),
+      q(3660),
       q(0),
       ],
    q(kura ede nago) => [
-      q(5043),
+      q(5042),
       q(0),
       ],
    q(kurama) => [
-      q(3578),
+      q(3577),
       q(0),
       ],
    q(kuranko) => [
-      q(3488),
+      q(3487),
       q(0),
       ],
    q(kurdish) => [
@@ -38882,43 +38912,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kuri) => [
-      q(4750),
+      q(4749),
       q(0),
       ],
    q(kuria) => [
-      q(3653),
+      q(3652),
       q(0),
       ],
    q(kurichiya) => [
-      q(3289),
+      q(3288),
       q(0),
       ],
    q(kurmukar) => [
-      q(3303),
+      q(3302),
       q(0),
       ],
    q(kurnai) => [
-      q(6918),
+      q(6917),
       q(0),
       ],
    q(kurrama) => [
-      q(7014),
+      q(7013),
       q(0),
       ],
    q(kurti) => [
-      q(3631),
+      q(3630),
       q(0),
       ],
    q(kurtokha) => [
-      q(7392),
+      q(7391),
       q(0),
       ],
    q(kuruaya) => [
-      q(3758),
+      q(3757),
       q(0),
       ],
    q(kurudu) => [
-      q(3394),
+      q(3393),
       q(0),
       ],
    q(kurukh) => [
@@ -38926,23 +38956,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kusaal) => [
-      q(3659),
+      q(3658),
       q(0),
       ],
    q(kusaghe) => [
-      q(3599),
+      q(3598),
       q(0),
       ],
    q(kushi) => [
-      q(3651),
+      q(3650),
       q(0),
       ],
    q(kusu) => [
-      q(3614),
+      q(3613),
       q(0),
       ],
    q(kusunda) => [
-      q(3314),
+      q(3313),
       q(0),
       ],
    q(kutang ghale) => [
@@ -38954,39 +38984,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kutep) => [
-      q(3645),
+      q(3644),
       q(0),
       ],
    q(kuthant) => [
-      q(7540),
+      q(7539),
       q(0),
       ],
    q(kutong) => [
-      q(6081),
+      q(6080),
       q(0),
       ],
    q(kutto) => [
-      q(3523),
+      q(3522),
       q(0),
       ],
    q(kutu) => [
-      q(3235),
+      q(3234),
       q(0),
       ],
    q(kuturmi) => [
-      q(3339),
+      q(3338),
       q(0),
       ],
    q(kuuk-yak) => [
-      q(6888),
+      q(6887),
       q(0),
       ],
    q(kuuku-ya'u) => [
-      q(3664),
+      q(3663),
       q(0),
       ],
    q(kuvi) => [
-      q(3736),
+      q(3735),
       q(0),
       ],
    q(kuwaa) => [
@@ -38998,7 +39028,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kuy) => [
-      q(3250),
+      q(3249),
       q(0),
       ],
    q(kven finnish) => [
@@ -39006,11 +39036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kw'adza) => [
-      q(7144),
+      q(7143),
       q(0),
       ],
    q(kwa) => [
-      q(3693),
+      q(3692),
       q(0),
       ],
    q(kwa') => [
@@ -39018,67 +39048,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kwaami) => [
-      q(3609),
+      q(3608),
       q(0),
       ],
    q(kwadi) => [
-      q(3716),
+      q(3715),
       q(0),
       ],
    q(kwaio) => [
-      q(3695),
+      q(3694),
       q(0),
       ],
    q(kwaja) => [
-      q(3255),
+      q(3254),
       q(0),
       ],
    q(kwakiutl) => [
-      q(3702),
+      q(3701),
       q(0),
       ],
    q(kwakum) => [
-      q(3711),
+      q(3710),
       q(0),
       ],
    q(kwalhioqua-tlatskanai) => [
-      q(5719),
+      q(5718),
       q(0),
       ],
    q(kwama) => [
-      q(3469),
+      q(3468),
       q(0),
       ],
    q(kwambi) => [
-      q(3704),
+      q(3703),
       q(0),
       ],
    q(kwamera) => [
-      q(6618),
+      q(6617),
       q(0),
       ],
    q(kwami) => [
-      q(3624),
+      q(3623),
       q(0),
       ],
    q(kwamtim one) => [
-      q(5232),
+      q(5231),
       q(0),
       ],
    q(kwang) => [
-      q(3674),
+      q(3673),
       q(0),
       ],
    q(kwanga) => [
-      q(3701),
+      q(3700),
       q(0),
       ],
    q(kwangali) => [
-      q(3705),
+      q(3704),
       q(0),
       ],
    q(kwanja) => [
-      q(3493),
+      q(3492),
       q(0),
       ],
    q(kwanyama) => [
@@ -39086,39 +39116,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(kwara'ae) => [
-      q(3697),
+      q(3696),
       q(0),
       ],
    q(kwasio) => [
-      q(4967),
+      q(4966),
       q(0),
       ],
    q(kwaya) => [
-      q(3741),
+      q(3740),
       q(0),
       ],
    q(kwaza) => [
-      q(7547),
+      q(7546),
       q(0),
       ],
    q(kwegu) => [
-      q(7551),
+      q(7550),
       q(0),
       ],
    q(kwenyi) => [
-      q(3243),
+      q(3242),
       q(1),
       ],
    q(kwer) => [
-      q(3708),
+      q(3707),
       q(0),
       ],
    q(kwerba) => [
-      q(3696),
+      q(3695),
       q(0),
       ],
    q(kwerba mamberamo) => [
-      q(7556),
+      q(7555),
       q(0),
       ],
    q(kwere) => [
@@ -39126,39 +39156,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kwerisa) => [
-      q(3403),
+      q(3402),
       q(0),
       ],
    q(kwese) => [
-      q(3709),
+      q(3708),
       q(0),
       ],
    q(kwesten) => [
-      q(3710),
+      q(3709),
       q(0),
       ],
    q(kwini) => [
-      q(2692),
+      q(2691),
       q(0),
       ],
    q(kwinsu) => [
-      q(3646),
+      q(3645),
       q(0),
       ],
    q(kwinti) => [
-      q(3713),
+      q(3712),
       q(0),
       ],
    q(kwoma) => [
-      q(3467),
+      q(3466),
       q(0),
       ],
    q(kwomtari) => [
-      q(3706),
+      q(3705),
       q(0),
       ],
    q(kxoe) => [
-      q(7541),
+      q(7540),
       q(0),
       ],
    q(kyak) => [
@@ -39166,23 +39196,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kyaka) => [
-      q(3743),
+      q(3742),
       q(0),
       ],
    q(kyan-karyaw naga) => [
-      q(5046),
+      q(5045),
       q(0),
       ],
    q(kyanga) => [
-      q(6830),
+      q(6829),
       q(0),
       ],
    q(kyenele) => [
-      q(3558),
+      q(3557),
       q(0),
       ],
    q(kyerung) => [
-      q(3331),
+      q(3330),
       q(0),
       ],
    q(kyrgyz) => [
@@ -39190,7 +39220,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(la'bi) => [
-      q(3818),
+      q(3817),
       q(0),
       ],
    q(laa laa bwamu) => [
@@ -39198,7 +39228,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(laadan) => [
-      q(3855),
+      q(3854),
       q(0),
       ],
    q(laal) => [
@@ -39210,23 +39240,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(laari) => [
-      q(3850),
+      q(3849),
       q(0),
       ],
    q(laba) => [
-      q(3807),
+      q(3806),
       q(0),
       ],
    q(label) => [
-      q(3813),
+      q(3812),
       q(0),
       ],
    q(labir) => [
-      q(3113),
+      q(3112),
       q(0),
       ],
    q(labo) => [
-      q(4631),
+      q(4630),
       q(0),
       ],
    q(labo phowa) => [
@@ -39234,7 +39264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(labu) => [
-      q(3829),
+      q(3828),
       q(0),
       ],
    q(labuk-kinabatangan kadazan) => [
@@ -39242,11 +39272,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lacandon) => [
-      q(3794),
+      q(3793),
       q(0),
       ],
    q(lachi) => [
-      q(3828),
+      q(3827),
       q(0),
       ],
    q(lachiguiri zapotec) => [
@@ -39258,11 +39288,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ladakhi) => [
-      q(3819),
+      q(3818),
       q(0),
       ],
    q(ladin) => [
-      q(3958),
+      q(3957),
       q(0),
       ],
    q(ladino) => [
@@ -39270,39 +39300,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ladji ladji) => [
-      q(3964),
+      q(3963),
       q(0),
       ],
    q(laeko-libuat) => [
-      q(3946),
+      q(3945),
       q(0),
       ],
    q(lafofa) => [
-      q(3796),
+      q(3795),
       q(0),
       ],
    q(laghu) => [
-      q(3886),
+      q(3885),
       q(0),
       ],
    q(laghuu) => [
-      q(3888),
+      q(3887),
       q(0),
       ],
    q(lagwan) => [
-      q(3516),
+      q(3515),
       q(0),
       ],
    q(laha (indonesia)) => [
-      q(3900),
+      q(3899),
       q(0),
       ],
    q(laha (viet nam)) => [
-      q(3899),
+      q(3898),
       q(0),
       ],
    q(lahanan) => [
-      q(3904),
+      q(3903),
       q(0),
       ],
    q(lahnda) => [
@@ -39310,27 +39340,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lahta) => [
-      q(3685),
+      q(3684),
       q(1),
       ],
    q(lahta karen) => [
-      q(3685),
+      q(3684),
       q(0),
       ],
    q(lahu) => [
-      q(3908),
+      q(3907),
       q(0),
       ],
    q(lahu shi) => [
-      q(3901),
+      q(3900),
       q(0),
       ],
    q(lahul lohar) => [
-      q(3902),
+      q(3901),
       q(0),
       ],
    q(laimbue) => [
-      q(3995),
+      q(3994),
       q(0),
       ],
    q(laitu chin) => [
@@ -39338,51 +39368,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(laiyolo) => [
-      q(3933),
+      q(3932),
       q(0),
       ],
    q(lak) => [
-      q(3815),
+      q(3814),
       q(0),
       ],
    q(laka (chad)) => [
-      q(3803),
+      q(3802),
       q(0),
       ],
    q(laka (nigeria)) => [
-      q(3800),
+      q(3799),
       q(0),
       ],
    q(lakalei) => [
-      q(3938),
+      q(3937),
       q(0),
       ],
    q(lake miwok) => [
-      q(3994),
+      q(3993),
       q(0),
       ],
    q(lakha) => [
-      q(3943),
+      q(3942),
       q(0),
       ],
    q(laki) => [
-      q(3944),
+      q(3943),
       q(0),
       ],
    q(lakkia) => [
-      q(3814),
+      q(3813),
       q(0),
       ],
    q(lakon) => [
-      q(3948),
+      q(3947),
       q(0),
       ],
    q(lakonde) => [
-      q(3941),
+      q(3940),
       q(0),
       ],
    q(lakota) => [
-      q(3952),
+      q(3951),
       q(0),
       ],
    q(lakota dida) => [
@@ -39390,15 +39420,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lala) => [
-      q(5064),
+      q(5063),
       q(0),
       ],
    q(lala-bisa) => [
-      q(3860),
+      q(3859),
       q(0),
       ],
    q(lala-roba) => [
-      q(3955),
+      q(3954),
       q(0),
       ],
    q(lalana chinantec) => [
@@ -39406,31 +39436,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lalia) => [
-      q(3801),
+      q(3800),
       q(0),
       ],
    q(lama (togo)) => [
-      q(3806),
+      q(3805),
       q(0),
       ],
    q(lama bai) => [
-      q(3810),
+      q(3809),
       q(0),
       ],
    q(lamaholot) => [
-      q(6105),
+      q(6104),
       q(0),
       ],
    q(lamalera) => [
-      q(3991),
+      q(3990),
       q(0),
       ],
    q(lamang) => [
-      q(2753),
+      q(2752),
       q(0),
       ],
    q(lamatuka) => [
-      q(3990),
+      q(3989),
       q(0),
       ],
    q(lamba) => [
@@ -39438,23 +39468,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lambadi) => [
-      q(3987),
+      q(3986),
       q(0),
       ],
    q(lambayeque quechua) => [
-      q(5682),
+      q(5681),
       q(0),
       ],
    q(lambichhong) => [
-      q(3982),
+      q(3981),
       q(0),
       ],
    q(lamboya) => [
-      q(3996),
+      q(3995),
       q(0),
       ],
    q(lambya) => [
-      q(3798),
+      q(3797),
       q(0),
       ],
    q(lame) => [
@@ -39462,35 +39492,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lamenu) => [
-      q(3992),
+      q(3991),
       q(0),
       ],
    q(lamet) => [
-      q(3823),
+      q(3822),
       q(0),
       ],
    q(lamja-dengsa-tola) => [
-      q(3849),
+      q(3848),
       q(0),
       ],
    q(lamkang) => [
-      q(3985),
+      q(3984),
       q(0),
       ],
    q(lamma) => [
-      q(3879),
+      q(3878),
       q(0),
       ],
    q(lamnso') => [
-      q(4009),
+      q(4008),
       q(0),
       ],
    q(lamogai) => [
-      q(3981),
+      q(3980),
       q(0),
       ],
    q(lampung api) => [
-      q(3935),
+      q(3934),
       q(0),
       ],
    q(lampung nyo) => [
@@ -39498,15 +39528,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lamu) => [
-      q(3962),
+      q(3961),
       q(0),
       ],
    q(lamu-lamu) => [
-      q(3833),
+      q(3832),
       q(0),
       ],
    q(lanas lobu) => [
-      q(5872),
+      q(5871),
       q(0),
       ],
    q(land dayak languages) => [
@@ -39514,7 +39544,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(landoma) => [
-      q(3854),
+      q(3853),
       q(0),
       ],
    q(lang'e) => [
@@ -39522,15 +39552,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(langam) => [
-      q(4006),
+      q(4005),
       q(0),
       ],
    q(langbashe) => [
-      q(3998),
+      q(3997),
       q(0),
       ],
    q(langi) => [
-      q(3797),
+      q(3796),
       q(0),
       ],
    q(langnian buyang) => [
@@ -39538,27 +39568,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lango (sudan)) => [
-      q(4008),
+      q(4007),
       q(0),
       ],
    q(lango (uganda)) => [
-      q(3799),
+      q(3798),
       q(0),
       ],
    q(langobardic) => [
-      q(4001),
+      q(4000),
       q(0),
       ],
    q(langue des signes de belgique francophone) => [
-      q(5985),
+      q(5984),
       q(0),
       ],
    q(lanima) => [
-      q(4011),
+      q(4010),
       q(0),
       ],
    q(lanoh) => [
-      q(4002),
+      q(4001),
       q(0),
       ],
    q(lao) => [
@@ -39566,19 +39596,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lao naga) => [
-      q(4954),
+      q(4953),
       q(0),
       ],
    q(laomian) => [
-      q(4102),
+      q(4101),
       q(0),
       ],
    q(laopang) => [
-      q(3817),
+      q(3816),
       q(0),
       ],
    q(laos sign language) => [
-      q(4063),
+      q(4062),
       q(0),
       ],
    q(lapaguia-guivini zapotec) => [
@@ -39586,27 +39616,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(laragia) => [
-      q(4044),
+      q(4043),
       q(0),
       ],
    q(larantuka malay) => [
-      q(4052),
+      q(4051),
       q(0),
       ],
    q(lardil) => [
-      q(3834),
+      q(3833),
       q(0),
       ],
    q(larevat) => [
-      q(4053),
+      q(4052),
       q(0),
       ],
    q(large flowery miao) => [
-      q(2780),
+      q(2779),
       q(0),
       ],
    q(lari) => [
-      q(4047),
+      q(4046),
       q(0),
       ],
    q(larike-wakasihu) => [
@@ -39614,39 +39644,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(laro) => [
-      q(4050),
+      q(4049),
       q(0),
       ],
    q(larteh) => [
-      q(3805),
+      q(3804),
       q(0),
       ],
    q(laru) => [
-      q(3802),
+      q(3801),
       q(0),
       ],
    q(lasalimu) => [
-      q(3967),
+      q(3966),
       q(0),
       ],
    q(lasgerdi) => [
-      q(4055),
+      q(4054),
       q(0),
       ],
    q(lashi) => [
-      q(4060),
+      q(4059),
       q(0),
       ],
    q(lasi) => [
-      q(4066),
+      q(4065),
       q(0),
       ],
    q(late middle chinese) => [
-      q(4069),
+      q(4068),
       q(0),
       ],
    q(latgalian) => [
-      q(4070),
+      q(4069),
       q(0),
       ],
    q(latin) => [
@@ -39654,11 +39684,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(latu) => [
-      q(4075),
+      q(4074),
       q(0),
       ],
    q(latunde) => [
-      q(4072),
+      q(4071),
       q(0),
       ],
    q(latvian) => [
@@ -39666,31 +39696,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(latvian sign language) => [
-      q(4061),
+      q(4060),
       q(0),
       ],
    q(lau) => [
-      q(3973),
+      q(3972),
       q(0),
       ],
    q(laua) => [
-      q(4079),
+      q(4078),
       q(0),
       ],
    q(lauan) => [
-      q(3974),
+      q(3973),
       q(0),
       ],
    q(lauje) => [
-      q(3808),
+      q(3807),
       q(0),
       ],
    q(laura) => [
-      q(4086),
+      q(4085),
       q(0),
       ],
    q(laurentian) => [
-      q(4043),
+      q(4042),
       q(0),
       ],
    q(lautu chin) => [
@@ -39698,7 +39728,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lavatbura-lamusong) => [
-      q(3830),
+      q(3829),
       q(0),
       ],
    q(lave) => [
@@ -39706,35 +39736,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(laven) => [
-      q(3824),
+      q(3823),
       q(0),
       ],
    q(lavrung) => [
-      q(3102),
+      q(3101),
       q(1),
       ],
    q(lavukaleve) => [
-      q(4094),
+      q(4093),
       q(0),
       ],
    q(lawangan) => [
-      q(3832),
+      q(3831),
       q(0),
       ],
    q(lawu) => [
-      q(4105),
+      q(4104),
       q(0),
       ],
    q(lawunuia) => [
-      q(6481),
+      q(6480),
       q(0),
       ],
    q(layakha) => [
-      q(4107),
+      q(4106),
       q(0),
       ],
    q(laz) => [
-      q(4113),
+      q(4112),
       q(0),
       ],
    q(lealao chinantec) => [
@@ -39742,27 +39772,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(leco) => [
-      q(3861),
+      q(3860),
       q(0),
       ],
    q(ledo kaili) => [
-      q(3880),
+      q(3879),
       q(0),
       ],
    q(leelau) => [
-      q(3852),
+      q(3851),
       q(0),
       ],
    q(lefa) => [
-      q(3883),
+      q(3882),
       q(0),
       ],
    q(lega-mwenga) => [
-      q(3892),
+      q(3891),
       q(0),
       ],
    q(lega-shabunda) => [
-      q(3859),
+      q(3858),
       q(0),
       ],
    q(legbo) => [
@@ -39770,15 +39800,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(legenyem) => [
-      q(3835),
+      q(3834),
       q(0),
       ],
    q(lehali) => [
-      q(6677),
+      q(6676),
       q(0),
       ],
    q(lehalurup) => [
-      q(6939),
+      q(6938),
       q(0),
       ],
    q(lehar) => [
@@ -39786,87 +39816,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(leinong naga) => [
-      q(4112),
+      q(4111),
       q(0),
       ],
    q(leipon) => [
-      q(3868),
+      q(3867),
       q(0),
       ],
    q(lelak) => [
-      q(3965),
+      q(3964),
       q(0),
       ],
    q(lele (chad)) => [
-      q(3968),
+      q(3967),
       q(0),
       ],
    q(lele (democratic republic of congo)) => [
-      q(3869),
+      q(3868),
       q(0),
       ],
    q(lele (guinea)) => [
-      q(3957),
+      q(3956),
       q(0),
       ],
    q(lele (papua new guinea)) => [
-      q(3959),
+      q(3958),
       q(0),
       ],
    q(lelemi) => [
-      q(3864),
+      q(3863),
       q(0),
       ],
    q(lelepa) => [
-      q(4036),
+      q(4035),
       q(0),
       ],
    q(lembena) => [
-      q(3874),
+      q(3873),
       q(0),
       ],
    q(lemerig) => [
-      q(4054),
+      q(4053),
       q(0),
       ],
    q(lemio) => [
-      q(3866),
+      q(3865),
       q(0),
       ],
    q(lemnian) => [
-      q(7397),
+      q(7396),
       q(0),
       ],
    q(lemolang) => [
-      q(3882),
+      q(3881),
       q(0),
       ],
    q(lemoro) => [
-      q(3851),
+      q(3850),
       q(0),
       ],
    q(lenakel) => [
-      q(6619),
+      q(6618),
       q(0),
       ],
    q(lenca) => [
-      q(3871),
+      q(3870),
       q(0),
       ],
    q(lendu) => [
-      q(3862),
+      q(3861),
       q(0),
       ],
    q(lengilu) => [
-      q(3889),
+      q(3888),
       q(0),
       ],
    q(lengo) => [
-      q(3895),
+      q(3894),
       q(0),
       ],
    q(lengola) => [
-      q(3867),
+      q(3866),
       q(0),
       ],
    q(lengua de senas catalana) => [
@@ -39874,27 +39904,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(lengua de senas del paraguay) => [
-      q(5673),
+      q(5672),
       q(1),
       ],
    q(lengua de senas panamenas) => [
-      q(4064),
+      q(4063),
       q(1),
       ],
    q(leningitij) => [
-      q(4004),
+      q(4003),
       q(0),
       ],
    q(lenje) => [
-      q(3865),
+      q(3864),
       q(0),
       ],
    q(lenkau) => [
-      q(3875),
+      q(3874),
       q(0),
       ],
    q(lenyima) => [
-      q(3848),
+      q(3847),
       q(0),
       ],
    q(leonese) => [
@@ -39902,15 +39932,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(lepcha) => [
-      q(3873),
+      q(3872),
       q(0),
       ],
    q(lepki) => [
-      q(4037),
+      q(4036),
       q(0),
       ],
    q(lepontic) => [
-      q(7402),
+      q(7401),
       q(0),
       ],
    q(lere) => [
@@ -39918,23 +39948,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lese) => [
-      q(3876),
+      q(3875),
       q(0),
       ],
    q(lesing-gelimi) => [
-      q(3877),
+      q(3876),
       q(0),
       ],
    q(letemboi) => [
-      q(4979),
+      q(4978),
       q(0),
       ],
    q(leti (cameroon)) => [
-      q(3872),
+      q(3871),
       q(0),
       ],
    q(leti (indonesia)) => [
-      q(4071),
+      q(4070),
       q(0),
       ],
    q(letzeburgesch) => [
@@ -39942,19 +39972,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(levuka) => [
-      q(4096),
+      q(4095),
       q(0),
       ],
    q(lewo) => [
-      q(4106),
+      q(4105),
       q(0),
       ],
    q(lewo eleng) => [
-      q(4098),
+      q(4097),
       q(0),
       ],
    q(lewotobi) => [
-      q(4104),
+      q(4103),
       q(0),
       ],
    q(leyigha) => [
@@ -39966,31 +39996,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lhaovo) => [
-      q(4295),
+      q(4294),
       q(1),
       ],
    q(lhokpu) => [
-      q(3905),
+      q(3904),
       q(0),
       ],
    q(lhomi) => [
-      q(3903),
+      q(3902),
       q(0),
       ],
    q(li'o) => [
-      q(3934),
+      q(3933),
       q(0),
       ],
    q(liabuku) => [
-      q(3928),
+      q(3927),
       q(0),
       ],
    q(liana-seti) => [
-      q(6256),
+      q(6255),
       q(0),
       ],
    q(liangmai naga) => [
-      q(4912),
+      q(4911),
       q(0),
       ],
    q(lianshan zhuang) => [
@@ -39998,27 +40028,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(liberia kpelle) => [
-      q(7458),
+      q(7457),
       q(0),
       ],
    q(liberian english) => [
-      q(3923),
+      q(3922),
       q(0),
       ],
    q(libido) => [
-      q(3922),
+      q(3921),
       q(0),
       ],
    q(libinza) => [
-      q(3930),
+      q(3929),
       q(0),
       ],
    q(libon bikol) => [
-      q(3821),
+      q(3820),
       q(0),
       ],
    q(liburnian) => [
-      q(7399),
+      q(7398),
       q(0),
       ],
    q(libyan arabic) => [
@@ -40026,63 +40056,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(libyan sign language) => [
-      q(3827),
+      q(3826),
       q(0),
       ],
    q(ligbi) => [
-      q(3915),
+      q(3914),
       q(0),
       ],
    q(ligenza) => [
-      q(3898),
+      q(3897),
       q(0),
       ],
    q(ligurian) => [
-      q(3917),
+      q(3916),
       q(0),
       ],
    q(ligurian (ancient)) => [
-      q(7398),
+      q(7397),
       q(0),
       ],
    q(lihir) => [
-      q(3916),
+      q(3915),
       q(0),
       ],
    q(lijili) => [
-      q(4257),
+      q(4256),
       q(0),
       ],
    q(lika) => [
-      q(3918),
+      q(3917),
       q(0),
       ],
    q(liki) => [
-      q(3920),
+      q(3919),
       q(0),
       ],
    q(likila) => [
-      q(3913),
+      q(3912),
       q(0),
       ],
    q(likuba) => [
-      q(3738),
+      q(3737),
       q(0),
       ],
    q(likum) => [
-      q(3910),
+      q(3909),
       q(0),
       ],
    q(likwala) => [
-      q(3694),
+      q(3693),
       q(0),
       ],
    q(lilau) => [
-      q(3966),
+      q(3965),
       q(0),
       ],
    q(lillooet) => [
-      q(3919),
+      q(3918),
       q(0),
       ],
    q(limassa) => [
@@ -40090,11 +40120,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(limbu) => [
-      q(3914),
+      q(3913),
       q(0),
       ],
    q(limbum) => [
-      q(3989),
+      q(3988),
       q(0),
       ],
    q(limburgan) => [
@@ -40114,19 +40144,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(limilngan) => [
-      q(3977),
+      q(3976),
       q(0),
       ],
    q(limos kalinga) => [
-      q(3463),
+      q(3462),
       q(0),
       ],
    q(lindu) => [
-      q(3450),
+      q(3449),
       q(0),
       ],
    q(linear a) => [
-      q(3793),
+      q(3792),
       q(0),
       ],
    q(lingala) => [
@@ -40134,19 +40164,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lingao) => [
-      q(5267),
+      q(5266),
       q(0),
       ],
    q(lingarak) => [
-      q(3890),
+      q(3889),
       q(0),
       ],
    q(lingua franca) => [
-      q(5517),
+      q(5516),
       q(0),
       ],
    q(lingua franca nova) => [
-      q(3884),
+      q(3883),
       q(0),
       ],
    q(lipan apache) => [
@@ -40154,27 +40184,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lipo) => [
-      q(4039),
+      q(4038),
       q(0),
       ],
    q(lisabata-nuniali) => [
-      q(3844),
+      q(3843),
       q(0),
       ],
    q(lisela) => [
-      q(3840),
+      q(3839),
       q(0),
       ],
    q(lish) => [
-      q(4059),
+      q(4058),
       q(0),
       ],
    q(lishan didan) => [
-      q(6693),
+      q(6692),
       q(0),
       ],
    q(lishana deni) => [
-      q(4056),
+      q(4055),
       q(0),
       ],
    q(lishanid noshan) => [
@@ -40182,11 +40212,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lisu) => [
-      q(3924),
+      q(3923),
       q(0),
       ],
    q(literary chinese) => [
-      q(4110),
+      q(4109),
       q(0),
       ],
    q(lithuanian) => [
@@ -40194,11 +40224,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lithuanian sign language) => [
-      q(3972),
+      q(3971),
       q(0),
       ],
    q(litzlitz) => [
-      q(4111),
+      q(4110),
       q(0),
       ],
    q(liujiang zhuang) => [
@@ -40210,11 +40240,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(liv) => [
-      q(3926),
+      q(3925),
       q(0),
       ],
    q(livvi) => [
-      q(5247),
+      q(5246),
       q(0),
       ],
    q(llengua de signes catalana) => [
@@ -40222,59 +40252,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(llengua de signes valenciana) => [
-      q(7049),
+      q(7048),
       q(1),
       ],
    q(lo-toga) => [
-      q(3907),
+      q(3906),
       q(0),
       ],
    q(loarki) => [
-      q(4046),
+      q(4045),
       q(0),
       ],
    q(lobala) => [
-      q(4027),
+      q(4026),
       q(0),
       ],
    q(lobi) => [
-      q(4014),
+      q(4013),
       q(0),
       ],
    q(lodhi) => [
-      q(3822),
+      q(3821),
       q(0),
       ],
    q(logba) => [
-      q(3894),
+      q(3893),
       q(0),
       ],
    q(logo) => [
-      q(4018),
+      q(4017),
       q(0),
       ],
    q(logol) => [
-      q(4017),
+      q(4016),
       q(0),
       ],
    q(logooli) => [
-      q(5740),
+      q(5739),
       q(0),
       ],
    q(logorik) => [
-      q(3925),
+      q(3924),
       q(0),
       ],
    q(logudorese sardinian) => [
-      q(6210),
+      q(6209),
       q(0),
       ],
    q(lohorung) => [
-      q(3826),
+      q(3825),
       q(0),
       ],
    q(loja highland quichua) => [
-      q(5704),
+      q(5703),
       q(0),
       ],
    q(lojban) => [
@@ -40282,103 +40312,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lokaa) => [
-      q(7597),
+      q(7596),
       q(0),
       ],
    q(loke) => [
-      q(4035),
+      q(4034),
       q(0),
       ],
    q(loko) => [
-      q(4022),
+      q(4021),
       q(0),
       ],
    q(lokoya) => [
-      q(3954),
+      q(3953),
       q(0),
       ],
    q(lola) => [
-      q(3836),
+      q(3835),
       q(0),
       ],
    q(lolak) => [
-      q(3971),
+      q(3970),
       q(0),
       ],
    q(lole) => [
-      q(3961),
+      q(3960),
       q(0),
       ],
    q(lolo) => [
-      q(3956),
+      q(3955),
       q(0),
       ],
    q(loloda) => [
-      q(4013),
+      q(4012),
       q(0),
       ],
    q(lolopo) => [
-      q(7612),
+      q(7611),
       q(0),
       ],
    q(loma (cote d'ivoire)) => [
-      q(4020),
+      q(4019),
       q(0),
       ],
    q(loma (liberia)) => [
-      q(4023),
+      q(4022),
       q(0),
       ],
    q(lomaiviti) => [
-      q(3993),
+      q(3992),
       q(0),
       ],
    q(lomavren) => [
-      q(5812),
+      q(5811),
       q(0),
       ],
    q(lombard) => [
-      q(3988),
+      q(3987),
       q(0),
       ],
    q(lombi) => [
-      q(3983),
+      q(3982),
       q(0),
       ],
    q(lombo) => [
-      q(4025),
+      q(4024),
       q(0),
       ],
    q(lomwe) => [
-      q(4844),
+      q(4843),
       q(0),
       ],
    q(loncong) => [
-      q(3837),
+      q(3836),
       q(0),
       ],
    q(long phuri naga) => [
-      q(4038),
+      q(4037),
       q(0),
       ],
    q(long wat) => [
-      q(6756),
+      q(6755),
       q(0),
       ],
    q(longgu) => [
-      q(3897),
+      q(3896),
       q(0),
       ],
    q(longto) => [
-      q(7203),
+      q(7202),
       q(0),
       ],
    q(longuda) => [
-      q(4010),
+      q(4009),
       q(0),
       ],
    q(loniu) => [
-      q(4029),
+      q(4028),
       q(0),
       ],
    q(lonwolwol) => [
@@ -40386,43 +40416,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lonzo) => [
-      q(4012),
+      q(4011),
       q(0),
       ],
    q(loo) => [
-      q(3856),
+      q(3855),
       q(0),
       ],
    q(lopa) => [
-      q(4026),
+      q(4025),
       q(0),
       ],
    q(lopi) => [
-      q(4032),
+      q(4031),
       q(0),
       ],
    q(lopit) => [
-      q(4040),
+      q(4039),
       q(0),
       ],
    q(lorang) => [
-      q(4049),
+      q(4048),
       q(0),
       ],
    q(lorediakarkar) => [
-      q(4007),
+      q(4006),
       q(0),
       ],
    q(loreto-ucayali spanish) => [
-      q(6189),
+      q(6188),
       q(0),
       ],
    q(lote) => [
-      q(6964),
+      q(6963),
       q(0),
       ],
    q(lotha naga) => [
-      q(4907),
+      q(4906),
       q(0),
       ],
    q(lotud) => [
@@ -40430,27 +40460,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lou) => [
-      q(4021),
+      q(4020),
       q(0),
       ],
    q(louisiana creole french) => [
-      q(4031),
+      q(4030),
       q(0),
       ],
    q(loun) => [
-      q(4034),
+      q(4033),
       q(0),
       ],
    q(loup a) => [
-      q(7401),
+      q(7400),
       q(0),
       ],
    q(loup b) => [
-      q(7394),
+      q(7393),
       q(0),
       ],
    q(lovono) => [
-      q(7040),
+      q(7039),
       q(1),
       ],
    q(low german) => [
@@ -40462,7 +40492,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(lower burdekin) => [
-      q(7292),
+      q(7291),
       q(0),
       ],
    q(lower chehalis) => [
@@ -40474,7 +40504,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lower silesian) => [
-      q(6100),
+      q(6099),
       q(0),
       ],
    q(lower sorbian) => [
@@ -40486,11 +40516,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lower ta'oih) => [
-      q(6748),
+      q(6747),
       q(0),
       ],
    q(lower tanana) => [
-      q(6357),
+      q(6356),
       q(0),
       ],
    q(lowland oaxaca chontal) => [
@@ -40498,7 +40528,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lowland tarahumara) => [
-      q(6359),
+      q(6358),
       q(0),
       ],
    q(loxicha zapotec) => [
@@ -40506,7 +40536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(loyop) => [
-      q(6939),
+      q(6938),
       q(1),
       ],
    q(lozi) => [
@@ -40514,15 +40544,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lu) => [
-      q(3332),
+      q(3331),
       q(0),
       ],
    q(lua') => [
-      q(5586),
+      q(5585),
       q(0),
       ],
    q(luang) => [
-      q(3881),
+      q(3880),
       q(0),
       ],
    q(luba-katanga) => [
@@ -40534,15 +40564,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lubila) => [
-      q(3210),
+      q(3209),
       q(0),
       ],
    q(lubu) => [
-      q(3838),
+      q(3837),
       q(0),
       ],
    q(lubuagan kalinga) => [
-      q(3480),
+      q(3479),
       q(0),
       ],
    q(lubukusu) => [
@@ -40550,43 +40580,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(luchazi) => [
-      q(3839),
+      q(3838),
       q(0),
       ],
    q(lucumi) => [
-      q(4085),
+      q(4084),
       q(0),
       ],
    q(ludian) => [
-      q(4077),
+      q(4076),
       q(0),
       ],
    q(lufu) => [
-      q(3858),
+      q(3857),
       q(0),
       ],
    q(lugbara) => [
-      q(3887),
+      q(3886),
       q(0),
       ],
    q(luguru) => [
-      q(5864),
+      q(5863),
       q(0),
       ],
    q(luhu) => [
-      q(3843),
+      q(3842),
       q(0),
       ],
    q(lui) => [
-      q(3812),
+      q(3811),
       q(0),
       ],
    q(luidakho-luisukha-lutirichi) => [
-      q(2902),
+      q(2901),
       q(1),
       ],
    q(luimbi) => [
-      q(4083),
+      q(4082),
       q(0),
       ],
    q(luiseno) => [
@@ -40594,7 +40624,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lukabaras) => [
-      q(3939),
+      q(3938),
       q(1),
       ],
    q(lukpa) => [
@@ -40602,7 +40632,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lule) => [
-      q(6892),
+      q(6891),
       q(0),
       ],
    q(lule sami) => [
@@ -40610,35 +40640,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lulogooli) => [
-      q(5740),
+      q(5739),
       q(1),
       ],
    q(lumba-yakkha) => [
-      q(4088),
+      q(4087),
       q(0),
       ],
    q(lumbee) => [
-      q(3997),
+      q(3996),
       q(0),
       ],
    q(lumbu) => [
-      q(4084),
+      q(4083),
       q(0),
       ],
    q(lumun) => [
-      q(3978),
+      q(3977),
       q(0),
       ],
    q(lun bawang) => [
-      q(4000),
+      q(3999),
       q(1),
       ],
    q(luna) => [
-      q(4080),
+      q(4079),
       q(0),
       ],
    q(lunanakha) => [
-      q(4081),
+      q(4080),
       q(0),
       ],
    q(lunda) => [
@@ -40646,19 +40676,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lundayeh) => [
-      q(4000),
+      q(3999),
       q(0),
       ],
    q(lungalunga) => [
-      q(7023),
+      q(7022),
       q(0),
       ],
    q(lungga) => [
-      q(3885),
+      q(3884),
       q(0),
       ],
    q(luo (cameroon)) => [
-      q(4090),
+      q(4089),
       q(0),
       ],
    q(luo (kenya and tanzania)) => [
@@ -40666,19 +40696,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(luopohe hmong) => [
-      q(2788),
+      q(2787),
       q(0),
       ],
    q(luopohe miao) => [
-      q(2788),
+      q(2787),
       q(1),
       ],
    q(luri) => [
-      q(3847),
+      q(3846),
       q(0),
       ],
    q(lusengo) => [
-      q(4057),
+      q(4056),
       q(0),
       ],
    q(lushai) => [
@@ -40686,35 +40716,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lushootseed) => [
-      q(4087),
+      q(4086),
       q(0),
       ],
    q(lusi) => [
-      q(3341),
+      q(3340),
       q(0),
       ],
    q(lusitanian) => [
-      q(7403),
+      q(7402),
       q(0),
       ],
    q(lutachoni) => [
-      q(4074),
+      q(4073),
       q(1),
       ],
    q(lutos) => [
-      q(4804),
+      q(4803),
       q(0),
       ],
    q(luvale) => [
-      q(4078),
+      q(4077),
       q(0),
       ],
    q(luwati) => [
-      q(4089),
+      q(4088),
       q(0),
       ],
    q(luwo) => [
-      q(4103),
+      q(4102),
       q(0),
       ],
    q(luxembourgish) => [
@@ -40722,59 +40752,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(luyana) => [
-      q(4109),
+      q(4108),
       q(0),
       ],
    q(luyia) => [
-      q(4091),
+      q(4090),
       q(0),
       ],
    q(lwalu) => [
-      q(4097),
+      q(4096),
       q(0),
       ],
    q(lycian) => [
-      q(7395),
+      q(7394),
       q(0),
       ],
    q(lydian) => [
-      q(7396),
+      q(7395),
       q(0),
       ],
    q(lyele) => [
-      q(3863),
+      q(3862),
       q(0),
       ],
    q(lyngngam) => [
-      q(4108),
+      q(4107),
       q(0),
       ],
    q(lyons sign language) => [
-      q(4058),
+      q(4057),
       q(0),
       ],
    q(ma (democratic republic of congo)) => [
-      q(4538),
+      q(4537),
       q(0),
       ],
    q(ma (papua new guinea)) => [
-      q(4330),
+      q(4329),
       q(0),
       ],
    q(ma manda) => [
-      q(6072),
+      q(6071),
       q(0),
       ],
    q(ma'anyan) => [
-      q(4296),
+      q(4295),
       q(0),
       ],
    q(ma'di) => [
-      q(4281),
+      q(4280),
       q(0),
       ],
    q(ma'ya) => [
-      q(6114),
+      q(6113),
       q(0),
       ],
    q(maa) => [
@@ -40782,7 +40812,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maaka) => [
-      q(4221),
+      q(4220),
       q(0),
       ],
    q(maasina fulfulde) => [
@@ -40794,43 +40824,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maba (chad)) => [
-      q(4182),
+      q(4181),
       q(0),
       ],
    q(maba (indonesia)) => [
-      q(4480),
+      q(4479),
       q(0),
       ],
    q(mabaale) => [
-      q(4413),
+      q(4412),
       q(0),
       ],
    q(mabaan) => [
-      q(4249),
+      q(4248),
       q(0),
       ],
    q(mabaka valley kalinga) => [
-      q(3408),
+      q(3407),
       q(0),
       ],
    q(mabire) => [
-      q(4587),
+      q(4586),
       q(0),
       ],
    q(maca) => [
-      q(4152),
+      q(4151),
       q(0),
       ],
    q(macaguaje) => [
-      q(4163),
+      q(4162),
       q(0),
       ],
    q(macaguan) => [
-      q(4139),
+      q(4138),
       q(0),
       ],
    q(macanese) => [
-      q(4710),
+      q(4709),
       q(0),
       ],
    q(macedo-romanian) => [
@@ -40842,51 +40872,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(machame) => [
-      q(3118),
+      q(3117),
       q(0),
       ],
    q(machiguenga) => [
-      q(4153),
+      q(4152),
       q(0),
       ],
    q(machinere) => [
-      q(4458),
+      q(4457),
       q(0),
       ],
    q(machinga) => [
-      q(4620),
+      q(4619),
       q(0),
       ],
    q(maco) => [
-      q(7211),
+      q(7210),
       q(0),
       ],
    q(macuna) => [
-      q(4691),
+      q(4690),
       q(0),
       ],
    q(macushi) => [
-      q(4129),
+      q(4128),
       q(0),
       ],
    q(mada (cameroon)) => [
-      q(4666),
+      q(4665),
       q(0),
       ],
    q(mada (nigeria)) => [
-      q(4178),
+      q(4177),
       q(0),
       ],
    q(madagascar sign language) => [
-      q(4695),
+      q(4694),
       q(0),
       ],
    q(madak) => [
-      q(4411),
+      q(4410),
       q(0),
       ],
    q(maden) => [
-      q(7428),
+      q(7427),
       q(0),
       ],
    q(madhi madhi) => [
@@ -40894,7 +40924,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(madi) => [
-      q(2616),
+      q(2615),
       q(0),
       ],
    q(madngele) => [
@@ -40906,27 +40936,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mae) => [
-      q(4393),
+      q(4392),
       q(0),
       ],
    q(maek) => [
-      q(2787),
+      q(2786),
       q(0),
       ],
    q(maeng itneg) => [
-      q(3019),
+      q(3018),
       q(0),
       ],
    q(mafa) => [
-      q(4117),
+      q(4116),
       q(0),
       ],
    q(mafea) => [
-      q(4362),
+      q(4361),
       q(0),
       ],
    q(mag-antsi ayta) => [
-      q(5990),
+      q(5989),
       q(0),
       ],
    q(mag-indi ayta) => [
@@ -40942,7 +40972,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(magdalena penasco mixtec) => [
-      q(7516),
+      q(7515),
       q(0),
       ],
    q(maghdi) => [
@@ -40958,7 +40988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maguindanaon) => [
-      q(4184),
+      q(4183),
       q(0),
       ],
    q(magyi) => [
@@ -40966,15 +40996,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mah meri) => [
-      q(4278),
+      q(4277),
       q(1),
       ],
    q(mahali) => [
-      q(4340),
+      q(4339),
       q(0),
       ],
    q(maharastri prakrit) => [
-      q(5513),
+      q(5512),
       q(0),
       ],
    q(mahasu pahari) => [
@@ -40982,15 +41012,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mahican) => [
-      q(4341),
+      q(4340),
       q(0),
       ],
    q(mahongwe) => [
-      q(4275),
+      q(4274),
       q(0),
       ],
    q(mahou) => [
-      q(4669),
+      q(4668),
       q(0),
       ],
    q(mai brat) => [
@@ -40998,23 +41028,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maia) => [
-      q(6087),
+      q(6086),
       q(0),
       ],
    q(maiadomu) => [
-      q(4717),
+      q(4716),
       q(0),
       ],
    q(maiani) => [
-      q(6616),
+      q(6615),
       q(0),
       ],
    q(maii) => [
-      q(4401),
+      q(4400),
       q(0),
       ],
    q(mailu) => [
-      q(4269),
+      q(4268),
       q(0),
       ],
    q(maindo) => [
@@ -41022,11 +41052,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mainfrankisch) => [
-      q(7022),
+      q(7021),
       q(0),
       ],
    q(mainstream kenyah) => [
-      q(7379),
+      q(7378),
       q(0),
       ],
    q(mairasi) => [
@@ -41034,7 +41064,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maisin) => [
-      q(4142),
+      q(4141),
       q(0),
       ],
    q(maithili) => [
@@ -41042,55 +41072,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maiwa (indonesia)) => [
-      q(7174),
+      q(7173),
       q(0),
       ],
    q(maiwa (papua new guinea)) => [
-      q(4562),
+      q(4561),
       q(0),
       ],
    q(maiwala) => [
-      q(4589),
+      q(4588),
       q(0),
       ],
    q(majang) => [
-      q(4459),
+      q(4458),
       q(0),
       ],
    q(majera) => [
-      q(7414),
+      q(7413),
       q(0),
       ],
    q(majhi) => [
-      q(4342),
+      q(4341),
       q(0),
       ],
    q(majhwar) => [
-      q(4398),
+      q(4397),
       q(0),
       ],
    q(majukayang kalinga) => [
-      q(3456),
+      q(3455),
       q(0),
       ],
    q(mak (china)) => [
-      q(4348),
+      q(4347),
       q(0),
       ],
    q(mak (nigeria)) => [
-      q(5370),
+      q(5369),
       q(0),
       ],
    q(makaa) => [
-      q(4167),
+      q(4166),
       q(0),
       ],
    q(makah) => [
-      q(4678),
+      q(4677),
       q(0),
       ],
    q(makasae) => [
-      q(4366),
+      q(4365),
       q(0),
       ],
    q(makasar) => [
@@ -41098,7 +41128,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(makassar malay) => [
-      q(4239),
+      q(4238),
       q(0),
       ],
    q(makayam) => [
@@ -41106,31 +41136,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(makhuwa) => [
-      q(7036),
+      q(7035),
       q(0),
       ],
    q(makhuwa-marrevone) => [
-      q(7408),
+      q(7407),
       q(0),
       ],
    q(makhuwa-meetto) => [
-      q(4256),
+      q(4255),
       q(0),
       ],
    q(makhuwa-moniga) => [
-      q(4285),
+      q(4284),
       q(0),
       ],
    q(makhuwa-saka) => [
-      q(7500),
+      q(7499),
       q(0),
       ],
    q(makhuwa-shirima) => [
-      q(7027),
+      q(7026),
       q(0),
       ],
    q(maklew) => [
-      q(4254),
+      q(4253),
       q(0),
       ],
    q(makolkol) => [
@@ -41138,19 +41168,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(makonde) => [
-      q(3237),
+      q(3236),
       q(0),
       ],
    q(maku'a) => [
-      q(4093),
+      q(4092),
       q(0),
       ],
    q(makurap) => [
-      q(4474),
+      q(4473),
       q(0),
       ],
    q(makuri naga) => [
-      q(3122),
+      q(3121),
       q(0),
       ],
    q(makwe) => [
@@ -41158,27 +41188,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(makyan naga) => [
-      q(6907),
+      q(6906),
       q(0),
       ],
    q(mal) => [
-      q(4371),
+      q(4370),
       q(0),
       ],
    q(mal paharia) => [
-      q(4344),
+      q(4343),
       q(0),
       ],
    q(mala (nigeria)) => [
-      q(5873),
+      q(5872),
       q(0),
       ],
    q(mala (papua new guinea)) => [
-      q(5405),
+      q(5404),
       q(0),
       ],
    q(mala malasar) => [
-      q(2961),
+      q(2960),
       q(0),
       ],
    q(malaccan creole malay) => [
@@ -41186,7 +41216,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malaccan creole portuguese) => [
-      q(4164),
+      q(4163),
       q(0),
       ],
    q(malagasy) => [
@@ -41194,27 +41224,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malalamai) => [
-      q(4407),
+      q(4406),
       q(0),
       ],
    q(malango) => [
-      q(4378),
+      q(4377),
       q(0),
       ],
    q(malankuravan) => [
-      q(4331),
+      q(4330),
       q(0),
       ],
    q(malapandaram) => [
-      q(4332),
+      q(4331),
       q(0),
       ],
    q(malaryan) => [
-      q(4333),
+      q(4332),
       q(0),
       ],
    q(malas) => [
-      q(4358),
+      q(4357),
       q(0),
       ],
    q(malasar) => [
@@ -41222,15 +41252,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malavedan) => [
-      q(4334),
+      q(4333),
       q(0),
       ],
    q(malawi lomwe) => [
-      q(4024),
+      q(4023),
       q(0),
       ],
    q(malawi sena) => [
-      q(6306),
+      q(6305),
       q(0),
       ],
    q(malay) => [
@@ -41250,15 +41280,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malayic dayak) => [
-      q(7326),
+      q(7325),
       q(0),
       ],
    q(malaynon) => [
-      q(4388),
+      q(4387),
       q(0),
       ],
    q(malayo) => [
-      q(4141),
+      q(4140),
       q(0),
       ],
    q(malayo-polynesian languages) => [
@@ -41266,7 +41296,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malaysian sign language) => [
-      q(7416),
+      q(7415),
       q(0),
       ],
    q(malba birifor) => [
@@ -41278,43 +41308,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(male) => [
-      q(2824),
+      q(2823),
       q(1),
       ],
    q(male (ethiopia)) => [
-      q(4199),
+      q(4198),
       q(0),
       ],
    q(male (papua new guinea)) => [
-      q(4180),
+      q(4179),
       q(0),
       ],
    q(malecite-passamaquoddy) => [
-      q(5585),
+      q(5584),
       q(0),
       ],
    q(maleku jaika) => [
-      q(2660),
+      q(2659),
       q(0),
       ],
    q(maleng) => [
-      q(5483),
+      q(5482),
       q(0),
       ],
    q(maleu-kilenge) => [
-      q(4260),
+      q(4259),
       q(0),
       ],
    q(malfaxal) => [
-      q(4387),
+      q(4386),
       q(0),
       ],
    q(malgana) => [
-      q(7028),
+      q(7027),
       q(0),
       ],
    q(malgbe) => [
-      q(4651),
+      q(4650),
       q(0),
       ],
    q(mali) => [
@@ -41322,31 +41352,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malila) => [
-      q(4265),
+      q(4264),
       q(0),
       ],
    q(malimba) => [
-      q(4696),
+      q(4695),
       q(0),
       ],
    q(malimpung) => [
-      q(4373),
+      q(4372),
       q(0),
       ],
    q(malinaltepec me'phaa) => [
-      q(6409),
+      q(6408),
       q(0),
       ],
    q(malinaltepec tlapanec) => [
-      q(6409),
+      q(6408),
       q(1),
       ],
    q(malo) => [
-      q(4367),
+      q(4366),
       q(0),
       ],
    q(malol) => [
-      q(4136),
+      q(4135),
       q(0),
       ],
    q(maltese) => [
@@ -41354,71 +41384,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maltese sign language) => [
-      q(4188),
+      q(4187),
       q(0),
       ],
    q(malua bay) => [
-      q(4376),
+      q(4375),
       q(0),
       ],
    q(malvi) => [
-      q(4591),
+      q(4590),
       q(0),
       ],
    q(malyangapa) => [
-      q(7632),
+      q(7631),
       q(0),
       ],
    q(mam) => [
-      q(4119),
+      q(4118),
       q(0),
       ],
    q(mama) => [
-      q(4389),
+      q(4388),
       q(0),
       ],
    q(mamaa) => [
-      q(4279),
+      q(4278),
       q(0),
       ],
    q(mamainde) => [
-      q(7170),
+      q(7169),
       q(0),
       ],
    q(mamanwa) => [
-      q(4402),
+      q(4401),
       q(0),
       ],
    q(mamara senoufo) => [
-      q(4681),
+      q(4680),
       q(0),
       ],
    q(mamasa) => [
-      q(4488),
+      q(4487),
       q(0),
       ],
    q(mambae) => [
-      q(4261),
+      q(4260),
       q(0),
       ],
    q(mambai) => [
-      q(4170),
+      q(4169),
       q(0),
       ],
    q(mamboru) => [
-      q(4602),
+      q(4601),
       q(0),
       ],
    q(mambwe-lungu) => [
-      q(4266),
+      q(4265),
       q(0),
       ],
    q(mampruli) => [
-      q(4124),
+      q(4123),
       q(0),
       ],
    q(mamuju) => [
-      q(4502),
+      q(4501),
       q(0),
       ],
    q(mamulique) => [
@@ -41426,31 +41456,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mamusi) => [
-      q(3238),
+      q(3237),
       q(0),
       ],
    q(mamvu) => [
-      q(4185),
+      q(4184),
       q(0),
       ],
    q(man met) => [
-      q(4400),
+      q(4399),
       q(0),
       ],
    q(manado malay) => [
-      q(7417),
+      q(7416),
       q(0),
       ],
    q(manam) => [
-      q(4600),
+      q(4599),
       q(0),
       ],
    q(manambu) => [
-      q(4370),
+      q(4369),
       q(0),
       ],
    q(manangba) => [
-      q(4973),
+      q(4972),
       q(0),
       ],
    q(manangkari) => [
@@ -41466,23 +41496,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manda (india)) => [
-      q(4274),
+      q(4273),
       q(0),
       ],
    q(manda (tanzania)) => [
-      q(4267),
+      q(4266),
       q(0),
       ],
    q(mandahuaca) => [
-      q(4292),
+      q(4291),
       q(0),
       ],
    q(mandaic) => [
-      q(4300),
+      q(4299),
       q(0),
       ],
    q(mandan) => [
-      q(4289),
+      q(4288),
       q(0),
       ],
    q(mandandanyi) => [
@@ -41494,11 +41524,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mandara) => [
-      q(6384),
+      q(6383),
       q(0),
       ],
    q(mandari) => [
-      q(4499),
+      q(4498),
       q(0),
       ],
    q(mandarin chinese) => [
@@ -41506,7 +41536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mandaya) => [
-      q(4528),
+      q(4527),
       q(0),
       ],
    q(mande languages) => [
@@ -41514,11 +41544,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mandeali) => [
-      q(4328),
+      q(4327),
       q(0),
       ],
    q(mander) => [
-      q(4496),
+      q(4495),
       q(0),
       ],
    q(manding) => [
@@ -41530,11 +41560,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mandinka) => [
-      q(4422),
+      q(4421),
       q(0),
       ],
    q(mandjak) => [
-      q(4245),
+      q(4244),
       q(0),
       ],
    q(mandobo atas) => [
@@ -41546,7 +41576,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manem) => [
-      q(3083),
+      q(3082),
       q(0),
       ],
    q(mang) => [
@@ -41554,19 +41584,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manga kanuri) => [
-      q(3206),
+      q(3205),
       q(0),
       ],
    q(mangala) => [
-      q(4212),
+      q(4211),
       q(0),
       ],
    q(mangarayi) => [
-      q(4457),
+      q(4456),
       q(0),
       ],
    q(mangareva) => [
-      q(4525),
+      q(4524),
       q(0),
       ],
    q(mangas) => [
@@ -41574,15 +41604,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mangayat) => [
-      q(4680),
+      q(4679),
       q(0),
       ],
    q(mangbetu) => [
-      q(4186),
+      q(4185),
       q(0),
       ],
    q(mangbutu) => [
-      q(4187),
+      q(4186),
       q(0),
       ],
    q(mangerr) => [
@@ -41590,31 +41620,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mangga buang) => [
-      q(4403),
+      q(4402),
       q(0),
       ],
    q(manggarai) => [
-      q(4503),
+      q(4502),
       q(0),
       ],
    q(mango) => [
-      q(4253),
+      q(4252),
       q(0),
       ],
    q(mangole) => [
-      q(4482),
+      q(4481),
       q(0),
       ],
    q(mangseng) => [
-      q(4133),
+      q(4132),
       q(0),
       ],
    q(mangue) => [
-      q(4444),
+      q(4443),
       q(0),
       ],
    q(manichaean middle persian) => [
-      q(7418),
+      q(7417),
       q(0),
       ],
    q(manide) => [
@@ -41622,11 +41652,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manikion) => [
-      q(4433),
+      q(4432),
       q(0),
       ],
    q(manipa) => [
-      q(4494),
+      q(4493),
       q(0),
       ],
    q(manipuri) => [
@@ -41634,19 +41664,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mankanya) => [
-      q(3484),
+      q(3483),
       q(0),
       ],
    q(manna-dora) => [
-      q(4337),
+      q(4336),
       q(0),
       ],
    q(mannan) => [
-      q(4338),
+      q(4337),
       q(0),
       ],
    q(mano) => [
-      q(4220),
+      q(4219),
       q(0),
       ],
    q(manobo languages) => [
@@ -41654,39 +41684,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manombai) => [
-      q(7206),
+      q(7205),
       q(0),
       ],
    q(mansaka) => [
-      q(4539),
+      q(4538),
       q(0),
       ],
    q(mansi) => [
-      q(4429),
+      q(4428),
       q(0),
       ],
    q(mansoanka) => [
-      q(4550),
+      q(4549),
       q(0),
       ],
    q(manta) => [
-      q(4677),
+      q(4676),
       q(0),
       ],
    q(mantsi) => [
-      q(5101),
+      q(5100),
       q(0),
       ],
    q(manumanaw) => [
-      q(3721),
+      q(3720),
       q(1),
       ],
    q(manumanaw karen) => [
-      q(3721),
+      q(3720),
       q(0),
       ],
    q(manusela) => [
-      q(7122),
+      q(7121),
       q(0),
       ],
    q(manx) => [
@@ -41694,31 +41724,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manya) => [
-      q(4701),
+      q(4700),
       q(0),
       ],
    q(manyawa) => [
-      q(4434),
+      q(4433),
       q(0),
       ],
    q(manyika) => [
-      q(4648),
+      q(4647),
       q(0),
       ],
    q(manza) => [
-      q(4713),
+      q(4712),
       q(0),
       ],
    q(mao naga) => [
-      q(4746),
+      q(4745),
       q(0),
       ],
    q(maonan) => [
-      q(4392),
+      q(4391),
       q(0),
       ],
    q(maore comorian) => [
-      q(6299),
+      q(6298),
       q(0),
       ],
    q(maori) => [
@@ -41726,19 +41756,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mape) => [
-      q(4372),
+      q(4371),
       q(0),
       ],
    q(mapena) => [
-      q(4424),
+      q(4423),
       q(0),
       ],
    q(mapia) => [
-      q(4478),
+      q(4477),
       q(0),
       ],
    q(mapidian) => [
-      q(4476),
+      q(4475),
       q(0),
       ],
    q(mapos buang) => [
@@ -41746,7 +41776,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mapoyo) => [
-      q(4158),
+      q(4157),
       q(0),
       ],
    q(mapuche) => [
@@ -41758,51 +41788,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mapun) => [
-      q(6061),
+      q(6060),
       q(0),
       ],
    q(maquiritari) => [
-      q(4159),
+      q(4158),
       q(0),
       ],
    q(mara) => [
-      q(4203),
+      q(4202),
       q(0),
       ],
    q(mara chin) => [
-      q(4512),
+      q(4511),
       q(0),
       ],
    q(marachi) => [
-      q(4045),
+      q(4044),
       q(0),
       ],
    q(maraghei) => [
-      q(7024),
+      q(7023),
       q(0),
       ],
    q(maragus) => [
-      q(4522),
+      q(4521),
       q(0),
       ],
    q(maram naga) => [
-      q(4961),
+      q(4960),
       q(0),
       ],
    q(marama) => [
-      q(4048),
+      q(4047),
       q(0),
       ],
    q(maramba) => [
-      q(4674),
+      q(4673),
       q(0),
       ],
    q(maranao) => [
-      q(4526),
+      q(4525),
       q(0),
       ],
    q(marangis) => [
-      q(7074),
+      q(7073),
       q(1),
       ],
    q(maranunggu) => [
@@ -41810,7 +41840,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mararit) => [
-      q(4250),
+      q(4249),
       q(0),
       ],
    q(marathi) => [
@@ -41818,23 +41848,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marau) => [
-      q(4615),
+      q(4614),
       q(0),
       ],
    q(marba) => [
-      q(4460),
+      q(4459),
       q(0),
       ],
    q(maremgi) => [
-      q(4527),
+      q(4526),
       q(0),
       ],
    q(marenje) => [
-      q(7032),
+      q(7031),
       q(0),
       ],
    q(marfa) => [
-      q(4618),
+      q(4617),
       q(0),
       ],
    q(margany) => [
@@ -41842,19 +41872,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marghi central) => [
-      q(4523),
+      q(4522),
       q(0),
       ],
    q(marghi south) => [
-      q(4236),
+      q(4235),
       q(0),
       ],
    q(margos-yarowilca-lauricocha quechua) => [
-      q(5706),
+      q(5705),
       q(0),
       ],
    q(margu) => [
-      q(4280),
+      q(4279),
       q(0),
       ],
    q(mari) => [
@@ -41862,11 +41892,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mari (east sepik province)) => [
-      q(4149),
+      q(4148),
       q(0),
       ],
    q(mari (madang province)) => [
-      q(2811),
+      q(2810),
       q(0),
       ],
    q(mari (russia)) => [
@@ -41874,15 +41904,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(maria (india)) => [
-      q(4521),
+      q(4520),
       q(0),
       ],
    q(maria (papua new guinea)) => [
-      q(4193),
+      q(4192),
       q(0),
       ],
    q(maricopa) => [
-      q(4507),
+      q(4506),
       q(0),
       ],
    q(maridan) => [
@@ -41902,15 +41932,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marind) => [
-      q(4529),
+      q(4528),
       q(0),
       ],
    q(maring) => [
-      q(4148),
+      q(4147),
       q(0),
       ],
    q(maring naga) => [
-      q(4993),
+      q(4992),
       q(0),
       ],
    q(maringarr) => [
@@ -41918,23 +41948,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marino) => [
-      q(4506),
+      q(4505),
       q(0),
       ],
    q(mariri) => [
-      q(4487),
+      q(4486),
       q(0),
       ],
    q(marithiel) => [
-      q(4241),
+      q(4240),
       q(0),
       ],
    q(maritime sign language) => [
-      q(5079),
+      q(5078),
       q(0),
       ],
    q(maritsaua) => [
-      q(4544),
+      q(4543),
       q(0),
       ],
    q(mariyedi) => [
@@ -41942,7 +41972,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marka) => [
-      q(5801),
+      q(5800),
       q(0),
       ],
    q(markweeta) => [
@@ -41950,19 +41980,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marma) => [
-      q(5827),
+      q(5826),
       q(0),
       ],
    q(marovo) => [
-      q(4612),
+      q(4611),
       q(0),
       ],
    q(marriammu) => [
-      q(7486),
+      q(7485),
       q(0),
       ],
    q(marrucinian) => [
-      q(6902),
+      q(6901),
       q(0),
       ],
    q(marshallese) => [
@@ -41970,11 +42000,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marsian) => [
-      q(2967),
+      q(2966),
       q(0),
       ],
    q(martha's vineyard sign language) => [
-      q(4509),
+      q(4508),
       q(0),
       ],
    q(marti ke) => [
@@ -41982,19 +42012,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(martu wangka) => [
-      q(4463),
+      q(4462),
       q(0),
       ],
    q(martuyhunira) => [
-      q(7017),
+      q(7016),
       q(0),
       ],
    q(maru) => [
-      q(4295),
+      q(4294),
       q(0),
       ],
    q(marubo) => [
-      q(4709),
+      q(4708),
       q(0),
       ],
    q(marwari) => [
@@ -42002,19 +42032,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marwari (india)) => [
-      q(5879),
+      q(5878),
       q(0),
       ],
    q(marwari (pakistan)) => [
-      q(4603),
+      q(4602),
       q(0),
       ],
    q(masaaba) => [
-      q(4690),
+      q(4689),
       q(0),
       ],
    q(masadiit itneg) => [
-      q(6530),
+      q(6529),
       q(0),
       ],
    q(masai) => [
@@ -42022,15 +42052,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(masalit) => [
-      q(4383),
+      q(4382),
       q(0),
       ],
    q(masana) => [
-      q(4165),
+      q(4164),
       q(0),
       ],
    q(masbatenyo) => [
-      q(4530),
+      q(4529),
       q(0),
       ],
    q(mashco piro) => [
@@ -42038,19 +42068,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mashi (nigeria)) => [
-      q(3124),
+      q(3123),
       q(0),
       ],
    q(mashi (zambia)) => [
-      q(4287),
+      q(4286),
       q(0),
       ],
    q(masikoro malagasy) => [
-      q(4536),
+      q(4535),
       q(0),
       ],
    q(masimasi) => [
-      q(3004),
+      q(3003),
       q(0),
       ],
    q(masiwang) => [
@@ -42058,59 +42088,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maskelynes) => [
-      q(3449),
+      q(3448),
       q(0),
       ],
    q(maslam) => [
-      q(4549),
+      q(4548),
       q(0),
       ],
    q(masmaje) => [
-      q(4217),
+      q(4216),
       q(0),
       ],
    q(massalat) => [
-      q(4183),
+      q(4182),
       q(0),
       ],
    q(massep) => [
-      q(4616),
+      q(4615),
       q(0),
       ],
    q(matagalpa) => [
-      q(4567),
+      q(4566),
       q(0),
       ],
    q(matal) => [
-      q(4231),
+      q(4230),
       q(0),
       ],
    q(matbat) => [
-      q(7424),
+      q(7423),
       q(0),
       ],
    q(matengo) => [
-      q(4270),
+      q(4269),
       q(0),
       ],
    q(matepi) => [
-      q(4483),
+      q(4482),
       q(0),
       ],
    q(matigsalug manobo) => [
-      q(4145),
+      q(4144),
       q(0),
       ],
    q(matipuhy) => [
-      q(4706),
+      q(4705),
       q(0),
       ],
    q(matis) => [
-      q(4470),
+      q(4469),
       q(0),
       ],
    q(mato) => [
-      q(4218),
+      q(4217),
       q(0),
       ],
    q(mato grosso arara) => [
@@ -42118,95 +42148,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mator) => [
-      q(4566),
+      q(4565),
       q(0),
       ],
    q(matses) => [
-      q(4157),
+      q(4156),
       q(0),
       ],
    q(mattoki) => [
-      q(7444),
+      q(7443),
       q(1),
       ],
    q(mattole) => [
-      q(4601),
+      q(4600),
       q(0),
       ],
    q(matu chin) => [
-      q(2775),
+      q(2774),
       q(0),
       ],
    q(matukar) => [
-      q(4327),
+      q(4326),
       q(0),
       ],
    q(matumbi) => [
-      q(4271),
+      q(4270),
       q(0),
       ],
    q(matya samo) => [
-      q(6261),
+      q(6260),
       q(0),
       ],
    q(maung) => [
-      q(4461),
+      q(4460),
       q(0),
       ],
    q(mauritian sign language) => [
-      q(4068),
+      q(4067),
       q(0),
       ],
    q(mauwake) => [
-      q(4284),
+      q(4283),
       q(0),
       ],
    q(mawa (chad)) => [
-      q(4174),
+      q(4173),
       q(0),
       ],
    q(mawa (nigeria)) => [
-      q(7167),
+      q(7166),
       q(0),
       ],
    q(mawak) => [
-      q(4326),
+      q(4325),
       q(0),
       ],
    q(mawan) => [
-      q(4177),
+      q(4176),
       q(0),
       ],
    q(mawayana) => [
-      q(4715),
+      q(4714),
       q(0),
       ],
    q(mawchi) => [
-      q(4346),
+      q(4345),
       q(0),
       ],
    q(mawes) => [
-      q(4259),
+      q(4258),
       q(0),
       ],
    q(mawukakan) => [
-      q(4669),
+      q(4668),
       q(1),
       ],
    q(maxakali) => [
-      q(4137),
+      q(4136),
       q(0),
       ],
    q(maxi gbe) => [
-      q(4657),
+      q(4656),
       q(0),
       ],
    q(maya samo) => [
-      q(6339),
+      q(6338),
       q(0),
       ],
    q(mayaguduna) => [
-      q(7429),
+      q(7428),
       q(0),
       ],
    q(mayan languages) => [
@@ -42214,7 +42244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mayangna) => [
-      q(7587),
+      q(7586),
       q(0),
       ],
    q(mayawali) => [
@@ -42222,31 +42252,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mayeka) => [
-      q(4673),
+      q(4672),
       q(0),
       ],
    q(mayi-kulan) => [
-      q(7567),
+      q(7566),
       q(0),
       ],
    q(mayi-thakurti) => [
-      q(7569),
+      q(7568),
       q(0),
       ],
    q(mayi-yapi) => [
-      q(7566),
+      q(7565),
       q(0),
       ],
    q(mayo) => [
-      q(4248),
+      q(4247),
       q(0),
       ],
    q(mayogo) => [
-      q(4189),
+      q(4188),
       q(0),
       ],
    q(mayoyao ifugao) => [
-      q(2918),
+      q(2917),
       q(0),
       ],
    q(mazagway) => [
@@ -42258,27 +42288,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mazanderani) => [
-      q(4705),
+      q(4704),
       q(0),
       ],
    q(mazatlan mazatec) => [
-      q(7039),
+      q(7038),
       q(0),
       ],
    q(mazatlan mixe) => [
-      q(4703),
+      q(4702),
       q(0),
       ],
    q(mba) => [
-      q(4226),
+      q(4225),
       q(0),
       ],
    q(mbala) => [
-      q(4191),
+      q(4190),
       q(0),
       ],
    q(mbalanhu) => [
-      q(3999),
+      q(3998),
       q(0),
       ],
    q(mbandja) => [
@@ -42286,11 +42316,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mbangala) => [
-      q(4652),
+      q(4651),
       q(0),
       ],
    q(mbangi) => [
-      q(4262),
+      q(4261),
       q(0),
       ],
    q(mbangwe) => [
@@ -42298,11 +42328,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mbara (australia)) => [
-      q(4609),
+      q(4608),
       q(0),
       ],
    q(mbara (chad)) => [
-      q(4464),
+      q(4463),
       q(0),
       ],
    q(mbariman-gudhinma) => [
@@ -42310,31 +42340,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mbati) => [
-      q(4190),
+      q(4189),
       q(0),
       ],
    q(mbato) => [
-      q(2679),
+      q(2678),
       q(0),
       ],
    q(mbay) => [
-      q(4672),
+      q(4671),
       q(0),
       ],
    q(mbe) => [
-      q(4238),
+      q(4237),
       q(0),
       ],
    q(mbe') => [
-      q(4564),
+      q(4563),
       q(0),
       ],
    q(mbelime) => [
-      q(4490),
+      q(4489),
       q(0),
       ],
    q(mbere) => [
-      q(4194),
+      q(4193),
       q(0),
       ],
    q(mbesa) => [
@@ -42342,7 +42372,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mbo (cameroon)) => [
-      q(4140),
+      q(4139),
       q(0),
       ],
    q(mbo (democratic republic of congo)) => [
@@ -42350,19 +42380,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mboi) => [
-      q(4441),
+      q(4440),
       q(0),
       ],
    q(mboko) => [
-      q(4195),
+      q(4194),
       q(0),
       ],
    q(mbole) => [
-      q(4192),
+      q(4191),
       q(0),
       ],
    q(mbonga) => [
-      q(7407),
+      q(7406),
       q(0),
       ],
    q(mbongno) => [
@@ -42370,63 +42400,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mbosi) => [
-      q(4197),
+      q(4196),
       q(0),
       ],
    q(mbowe) => [
-      q(4660),
+      q(4659),
       q(0),
       ],
    q(mbre) => [
-      q(4343),
+      q(4342),
       q(0),
       ],
    q(mbudum) => [
-      q(7409),
+      q(7408),
       q(0),
       ],
    q(mbugu) => [
-      q(4277),
+      q(4276),
       q(0),
       ],
    q(mbugwe) => [
-      q(4273),
+      q(4272),
       q(0),
       ],
    q(mbuko) => [
-      q(4481),
+      q(4480),
       q(0),
       ],
    q(mbukushu) => [
-      q(4294),
+      q(4293),
       q(0),
       ],
    q(mbula) => [
-      q(4414),
+      q(4413),
       q(0),
       ],
    q(mbula-bwazza) => [
-      q(4146),
+      q(4145),
       q(0),
       ],
    q(mbule) => [
-      q(4368),
+      q(4367),
       q(0),
       ],
    q(mbulungish) => [
-      q(4147),
+      q(4146),
       q(0),
       ],
    q(mbum) => [
-      q(4181),
+      q(4180),
       q(0),
       ],
    q(mbunda) => [
-      q(4162),
+      q(4161),
       q(0),
       ],
    q(mbunga) => [
-      q(4272),
+      q(4271),
       q(0),
       ],
    q(mburku) => [
@@ -42434,15 +42464,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mbwela) => [
-      q(4244),
+      q(4243),
       q(0),
       ],
    q(mbya guarani) => [
-      q(2654),
+      q(2653),
       q(0),
       ],
    q(me'en) => [
-      q(4683),
+      q(4682),
       q(0),
       ],
    q(mea) => [
@@ -42450,23 +42480,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(medebur) => [
-      q(4329),
+      q(4328),
       q(0),
       ],
    q(media lengua) => [
-      q(4583),
+      q(4582),
       q(0),
       ],
    q(mediak) => [
-      q(4643),
+      q(4642),
       q(0),
       ],
    q(median) => [
-      q(7410),
+      q(7409),
       q(0),
       ],
    q(mednyj aleut) => [
-      q(4582),
+      q(4581),
       q(0),
       ],
    q(medumba) => [
@@ -42474,23 +42504,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mefele) => [
-      q(4233),
+      q(4232),
       q(0),
       ],
    q(megam) => [
-      q(4206),
+      q(4205),
       q(0),
       ],
    q(megleno romanian) => [
-      q(5870),
+      q(5869),
       q(0),
       ],
    q(mehek) => [
-      q(5125),
+      q(5124),
       q(0),
       ],
    q(mehinaku) => [
-      q(4396),
+      q(4395),
       q(0),
       ],
    q(mehri) => [
@@ -42498,39 +42528,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mekeo) => [
-      q(4210),
+      q(4209),
       q(0),
       ],
    q(mekmek) => [
-      q(4608),
+      q(4607),
       q(0),
       ],
    q(mekwei) => [
-      q(4534),
+      q(4533),
       q(0),
       ],
    q(mele-fila) => [
-      q(4650),
+      q(4649),
       q(0),
       ],
    q(melo) => [
-      q(4247),
+      q(4246),
       q(0),
       ],
    q(melpa) => [
-      q(4204),
+      q(4203),
       q(0),
       ],
    q(memoni) => [
-      q(4150),
+      q(4149),
       q(0),
       ],
    q(mendalam kayan) => [
-      q(7371),
+      q(7370),
       q(0),
       ],
    q(mendankwe-nkwen) => [
-      q(4227),
+      q(4226),
       q(0),
       ],
    q(mende) => [
@@ -42538,7 +42568,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mende (papua new guinea)) => [
-      q(6043),
+      q(6042),
       q(0),
       ],
    q(mende (sierra leone)) => [
@@ -42546,79 +42576,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(mengaka) => [
-      q(7412),
+      q(7411),
       q(0),
       ],
    q(mengen) => [
-      q(4205),
+      q(4204),
       q(0),
       ],
    q(mengisa) => [
-      q(4171),
+      q(4170),
       q(0),
       ],
    q(menik) => [
-      q(6625),
+      q(6624),
       q(0),
       ],
    q(menka) => [
-      q(4201),
+      q(4200),
       q(0),
       ],
    q(menominee) => [
-      q(4223),
+      q(4222),
       q(0),
       ],
    q(mentawai) => [
-      q(4641),
+      q(4640),
       q(0),
       ],
    q(menya) => [
-      q(4169),
+      q(4168),
       q(0),
       ],
    q(meoswar) => [
-      q(4621),
+      q(4620),
       q(0),
       ],
    q(mer) => [
-      q(4430),
+      q(4429),
       q(0),
       ],
    q(meramera) => [
-      q(4658),
+      q(4657),
       q(0),
       ],
    q(merei) => [
-      q(3976),
+      q(3975),
       q(0),
       ],
    q(merey) => [
-      q(4215),
+      q(4214),
       q(0),
       ],
    q(meriam) => [
-      q(6895),
+      q(6894),
       q(0),
       ],
    q(merlav) => [
-      q(4516),
+      q(4515),
       q(0),
       ],
    q(meroitic) => [
-      q(7422),
+      q(7421),
       q(0),
       ],
    q(meru) => [
-      q(4216),
+      q(4215),
       q(0),
       ],
    q(merwari) => [
-      q(7230),
+      q(7229),
       q(0),
       ],
    q(mesaka) => [
-      q(3035),
+      q(3034),
       q(0),
       ],
    q(mescalero-chiricahua apache) => [
@@ -42626,11 +42656,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mese) => [
-      q(4160),
+      q(4159),
       q(0),
       ],
    q(meskwaki) => [
-      q(5887),
+      q(5886),
       q(0),
       ],
    q(mesme) => [
@@ -42638,7 +42668,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mesmes) => [
-      q(4687),
+      q(4686),
       q(0),
       ],
    q(mesopotamian arabic) => [
@@ -42646,7 +42676,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mesqan) => [
-      q(4623),
+      q(4622),
       q(0),
       ],
    q(messapic) => [
@@ -42654,35 +42684,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(meta') => [
-      q(4263),
+      q(4262),
       q(0),
       ],
    q(metlatonoc mixtec) => [
-      q(4667),
+      q(4666),
       q(0),
       ],
    q(mewari) => [
-      q(4571),
+      q(4570),
       q(0),
       ],
    q(mewati) => [
-      q(7243),
+      q(7242),
       q(0),
       ],
    q(mexican sign language) => [
-      q(4242),
+      q(4241),
       q(0),
       ],
    q(meyah) => [
-      q(4209),
+      q(4208),
       q(0),
       ],
    q(mezontla popoloca) => [
-      q(5365),
+      q(5364),
       q(0),
       ],
    q(mezquital otomi) => [
-      q(5318),
+      q(5317),
       q(0),
       ],
    q(mfinu) => [
@@ -42690,7 +42720,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mfumte) => [
-      q(4833),
+      q(4832),
       q(0),
       ],
    q(mgbolizhia) => [
@@ -42706,15 +42736,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(miami) => [
-      q(4298),
+      q(4297),
       q(0),
       ],
    q(mian) => [
-      q(4473),
+      q(4472),
       q(0),
       ],
    q(miani) => [
-      q(5485),
+      q(5484),
       q(0),
       ],
    q(michif) => [
@@ -42726,11 +42756,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(michoacan mazahua) => [
-      q(4391),
+      q(4390),
       q(0),
       ],
    q(michoacan nahuatl) => [
-      q(4772),
+      q(4771),
       q(0),
       ],
    q(micmac) => [
@@ -42750,7 +42780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(middle breton) => [
-      q(7299),
+      q(7298),
       q(0),
       ],
    q(middle cornish) => [
@@ -42774,7 +42804,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(middle hittite) => [
-      q(2851),
+      q(2850),
       q(0),
       ],
    q(middle irish (900-1200)) => [
@@ -42782,7 +42812,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(middle korean (10th-16th cent.)) => [
-      q(5234),
+      q(5233),
       q(0),
       ],
    q(middle low german) => [
@@ -42790,47 +42820,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(middle mongolian) => [
-      q(7433),
+      q(7432),
       q(0),
       ],
    q(middle newar) => [
-      q(5139),
+      q(5138),
       q(0),
       ],
    q(middle watut) => [
-      q(4465),
+      q(4464),
       q(0),
       ],
    q(middle welsh) => [
-      q(7158),
+      q(7157),
       q(0),
       ],
    q(midob) => [
-      q(4208),
+      q(4207),
       q(0),
       ],
    q(migaama) => [
-      q(4412),
+      q(4411),
       q(0),
       ],
    q(migabac) => [
-      q(4469),
+      q(4468),
       q(0),
       ],
    q(migum) => [
-      q(3440),
+      q(3439),
       q(0),
       ],
    q(miji) => [
-      q(6060),
+      q(6059),
       q(1),
       ],
    q(miju-mishmi) => [
-      q(4655),
+      q(4654),
       q(0),
       ],
    q(mikasuki) => [
-      q(4307),
+      q(4306),
       q(0),
       ],
    q(mili) => [
@@ -42838,19 +42868,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(miltu) => [
-      q(4374),
+      q(4373),
       q(0),
       ],
    q(miluk) => [
-      q(2963),
+      q(2962),
       q(0),
       ],
    q(milyan) => [
-      q(2968),
+      q(2967),
       q(0),
       ],
    q(min bei chinese) => [
-      q(4426),
+      q(4425),
       q(0),
       ],
    q(min dong chinese) => [
@@ -42858,7 +42888,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(min nan chinese) => [
-      q(4729),
+      q(4728),
       q(0),
       ],
    q(min zhong chinese) => [
@@ -42866,19 +42896,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mina (cameroon)) => [
-      q(2800),
+      q(2799),
       q(0),
       ],
    q(mina (india)) => [
-      q(4679),
+      q(4678),
       q(0),
       ],
    q(minaean) => [
-      q(2973),
+      q(2972),
       q(0),
       ],
    q(minang) => [
-      q(7479),
+      q(7478),
       q(0),
       ],
    q(minangkabau) => [
@@ -42886,11 +42916,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(minanibai) => [
-      q(4173),
+      q(4172),
       q(0),
       ],
    q(minaveha) => [
-      q(4611),
+      q(4610),
       q(0),
       ],
    q(minderico) => [
@@ -42898,23 +42928,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mindiri) => [
-      q(4467),
+      q(4466),
       q(0),
       ],
    q(mingang doso) => [
-      q(4355),
+      q(4354),
       q(0),
       ],
    q(mingrelian) => [
-      q(7411),
+      q(7410),
       q(0),
       ],
    q(minica huitoto) => [
-      q(2848),
+      q(2847),
       q(0),
       ],
    q(minidien) => [
-      q(7132),
+      q(7131),
       q(0),
       ],
    q(minigir) => [
@@ -42922,27 +42952,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(minjungbal) => [
-      q(7366),
+      q(7365),
       q(0),
       ],
    q(minkin) => [
-      q(7561),
+      q(7560),
       q(0),
       ],
    q(minoan) => [
-      q(5258),
+      q(5257),
       q(0),
       ],
    q(minokok) => [
-      q(4495),
+      q(4494),
       q(0),
       ],
    q(minriq) => [
-      q(4427),
+      q(4426),
       q(0),
       ],
    q(mintil) => [
-      q(4711),
+      q(4710),
       q(0),
       ],
    q(minz zhuang) => [
@@ -42958,7 +42988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(miraya bikol) => [
-      q(5759),
+      q(5758),
       q(0),
       ],
    q(mirgan) => [
@@ -42966,27 +42996,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(miriti) => [
-      q(4409),
+      q(4408),
       q(0),
       ],
    q(miriwung) => [
-      q(4214),
+      q(4213),
       q(0),
       ],
    q(miship) => [
-      q(4335),
+      q(4334),
       q(0),
       ],
    q(misima-panaeati) => [
-      q(4477),
+      q(4476),
       q(0),
       ],
    q(mising) => [
-      q(4511),
+      q(4510),
       q(0),
       ],
    q(miskito) => [
-      q(4312),
+      q(4311),
       q(0),
       ],
    q(mitla zapotec) => [
@@ -42994,11 +43024,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mitlatongo mixtec) => [
-      q(7029),
+      q(7028),
       q(0),
       ],
    q(mittu) => [
-      q(4640),
+      q(4639),
       q(0),
       ],
    q(mituku) => [
@@ -43006,11 +43036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(miu) => [
-      q(4468),
+      q(4467),
       q(0),
       ],
    q(miwa) => [
-      q(7025),
+      q(7024),
       q(0),
       ],
    q(mixed great andamanese) => [
@@ -43018,7 +43048,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mixtepec mixtec) => [
-      q(4317),
+      q(4316),
       q(0),
       ],
    q(mixtepec zapotec) => [
@@ -43026,35 +43056,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(miya) => [
-      q(4347),
+      q(4346),
       q(0),
       ],
    q(miyako) => [
-      q(4607),
+      q(4606),
       q(0),
       ],
    q(miyobe) => [
-      q(6175),
+      q(6174),
       q(0),
       ],
    q(mlabri) => [
-      q(4505),
+      q(4504),
       q(0),
       ],
    q(mlahso) => [
-      q(3906),
+      q(3905),
       q(0),
       ],
    q(mlap) => [
-      q(3377),
+      q(3376),
       q(0),
       ],
    q(mlomp) => [
-      q(4379),
+      q(4378),
       q(0),
       ],
    q(mmaala) => [
-      q(4408),
+      q(4407),
       q(0),
       ],
    q(mmen) => [
@@ -43062,7 +43092,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mo) => [
-      q(7146),
+      q(7145),
       q(1),
       ],
    q(mo'da) => [
@@ -43070,15 +43100,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(moabite) => [
-      q(5191),
+      q(5190),
       q(0),
       ],
    q(moba) => [
-      q(4240),
+      q(4239),
       q(0),
       ],
    q(mobilian) => [
-      q(4438),
+      q(4437),
       q(0),
       ],
    q(mobumrin aizi) => [
@@ -43086,31 +43116,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mobwa karen) => [
-      q(3109),
+      q(3108),
       q(0),
       ],
    q(mocheno) => [
-      q(4286),
+      q(4285),
       q(0),
       ],
    q(mochi) => [
-      q(5243),
+      q(5242),
       q(0),
       ],
    q(mochica) => [
-      q(5252),
+      q(5251),
       q(0),
       ],
    q(mocho) => [
-      q(4276),
+      q(4275),
       q(0),
       ],
    q(mocovi) => [
-      q(4437),
+      q(4436),
       q(0),
       ],
    q(modang) => [
-      q(4649),
+      q(4648),
       q(0),
       ],
    q(modern greek (1453-)) => [
@@ -43118,31 +43148,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(modole) => [
-      q(4493),
+      q(4492),
       q(0),
       ],
    q(moere) => [
-      q(4614),
+      q(4613),
       q(0),
       ],
    q(mofu-gudur) => [
-      q(4302),
+      q(4301),
       q(0),
       ],
    q(mogholi) => [
-      q(4282),
+      q(4281),
       q(0),
       ],
    q(mogofin) => [
-      q(4230),
+      q(4229),
       q(0),
       ],
    q(mogum) => [
-      q(4449),
+      q(4448),
       q(0),
       ],
    q(mohave) => [
-      q(4450),
+      q(4449),
       q(0),
       ],
    q(mohawk) => [
@@ -43150,23 +43180,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mohegan-pequot) => [
-      q(7467),
+      q(7466),
       q(0),
       ],
    q(moi (congo)) => [
-      q(4451),
+      q(4450),
       q(0),
       ],
    q(moi (indonesia)) => [
-      q(4659),
+      q(4658),
       q(0),
       ],
    q(moikodi) => [
-      q(4356),
+      q(4355),
       q(0),
       ],
    q(moingi) => [
-      q(4645),
+      q(4644),
       q(0),
       ],
    q(moji) => [
@@ -43174,27 +43204,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mok) => [
-      q(4498),
+      q(4497),
       q(0),
       ],
    q(moken) => [
-      q(4639),
+      q(4638),
       q(0),
       ],
    q(mokerang) => [
-      q(4243),
+      q(4242),
       q(0),
       ],
    q(mokilese) => [
-      q(4350),
+      q(4349),
       q(0),
       ],
    q(moklen) => [
-      q(4353),
+      q(4352),
       q(0),
       ],
    q(mokole) => [
-      q(4352),
+      q(4351),
       q(0),
       ],
    q(mokpwe) => [
@@ -43202,7 +43232,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(moksela) => [
-      q(7033),
+      q(7032),
       q(0),
       ],
    q(moksha) => [
@@ -43210,11 +43240,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(molale) => [
-      q(4131),
+      q(4130),
       q(0),
       ],
    q(molbog) => [
-      q(5664),
+      q(5663),
       q(0),
       ],
    q(moldavian) => [
@@ -43222,7 +43252,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(moldova sign language) => [
-      q(7047),
+      q(7046),
       q(0),
       ],
    q(moldovan) => [
@@ -43234,7 +43264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(molima) => [
-      q(4452),
+      q(4451),
       q(0),
       ],
    q(molmo one) => [
@@ -43246,23 +43276,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(molof) => [
-      q(4540),
+      q(4539),
       q(0),
       ],
    q(moloko) => [
-      q(4386),
+      q(4385),
       q(0),
       ],
    q(mom jango) => [
-      q(6993),
+      q(6992),
       q(0),
       ],
    q(moma) => [
-      q(4682),
+      q(4681),
       q(0),
       ],
    q(momare) => [
-      q(4553),
+      q(4552),
       q(0),
       ],
    q(mombo dogon) => [
@@ -43270,19 +43300,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mombum) => [
-      q(4543),
+      q(4542),
       q(0),
       ],
    q(momina) => [
-      q(4390),
+      q(4389),
       q(0),
       ],
    q(momuna) => [
-      q(4484),
+      q(4483),
       q(0),
       ],
    q(mon) => [
-      q(4432),
+      q(4431),
       q(0),
       ],
    q(mon-khmer languages) => [
@@ -43290,15 +43320,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(monastic sign language) => [
-      q(4698),
+      q(4697),
       q(0),
       ],
    q(monde) => [
-      q(4416),
+      q(4415),
       q(0),
       ],
    q(mondropolon) => [
-      q(5037),
+      q(5036),
       q(0),
       ],
    q(mong) => [
@@ -43306,11 +43336,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(mong leng) => [
-      q(2805),
+      q(2804),
       q(1),
       ],
    q(mong njua) => [
-      q(2805),
+      q(2804),
       q(2),
       ],
    q(mongo) => [
@@ -43318,7 +43348,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mongol) => [
-      q(4268),
+      q(4267),
       q(0),
       ],
    q(mongolia buriat) => [
@@ -43334,59 +43364,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mongolian sign language) => [
-      q(4546),
+      q(4545),
       q(0),
       ],
    q(mongondow) => [
-      q(4440),
+      q(4439),
       q(0),
       ],
    q(moni) => [
-      q(4435),
+      q(4434),
       q(0),
       ],
    q(mono (cameroon)) => [
-      q(4524),
+      q(4523),
       q(0),
       ],
    q(mono (democratic republic of congo)) => [
-      q(4420),
+      q(4419),
       q(0),
       ],
    q(mono (solomon islands)) => [
-      q(4558),
+      q(4557),
       q(0),
       ],
    q(mono (usa)) => [
-      q(4428),
+      q(4427),
       q(0),
       ],
    q(monom) => [
-      q(4445),
+      q(4444),
       q(0),
       ],
    q(monsang naga) => [
-      q(4968),
+      q(4967),
       q(0),
       ],
    q(montagnais) => [
-      q(4439),
+      q(4438),
       q(0),
       ],
    q(montol) => [
-      q(4565),
+      q(4564),
       q(0),
       ],
    q(monumbo) => [
-      q(4656),
+      q(4655),
       q(0),
       ],
    q(monzombo) => [
-      q(4442),
+      q(4441),
       q(0),
       ],
    q(moo) => [
-      q(2685),
+      q(2684),
       q(0),
       ],
    q(moose cree) => [
@@ -43394,55 +43424,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mopan maya) => [
-      q(4446),
+      q(4445),
       q(0),
       ],
    q(mor (bomberai peninsula)) => [
-      q(4447),
+      q(4446),
       q(0),
       ],
    q(mor (mor islands)) => [
-      q(4297),
+      q(4296),
       q(0),
       ],
    q(moraid) => [
-      q(4535),
+      q(4534),
       q(0),
       ],
    q(morawa) => [
-      q(4697),
+      q(4696),
       q(0),
       ],
    q(morelos nahuatl) => [
-      q(4869),
+      q(4868),
       q(0),
       ],
    q(morerebi) => [
-      q(7419),
+      q(7418),
       q(0),
       ],
    q(moresada) => [
-      q(4551),
+      q(4550),
       q(0),
       ],
    q(mori atas) => [
-      q(4708),
+      q(4707),
       q(0),
       ],
    q(mori bawah) => [
-      q(7430),
+      q(7429),
       q(0),
       ],
    q(morigi) => [
-      q(4179),
+      q(4178),
       q(0),
       ],
    q(morisyen) => [
-      q(4228),
+      q(4227),
       q(0),
       ],
    q(moro) => [
-      q(4448),
+      q(4447),
       q(0),
       ],
    q(moroccan arabic) => [
@@ -43450,11 +43480,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(moroccan sign language) => [
-      q(7423),
+      q(7422),
       q(0),
       ],
    q(morokodo) => [
-      q(4251),
+      q(4250),
       q(0),
       ],
    q(morom) => [
@@ -43462,35 +43492,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(moronene) => [
-      q(4492),
+      q(4491),
       q(0),
       ],
    q(morori) => [
-      q(4443),
+      q(4442),
       q(0),
       ],
    q(morouas) => [
-      q(4519),
+      q(4518),
       q(0),
       ],
    q(mortlockese) => [
-      q(4515),
+      q(4514),
       q(0),
       ],
    q(moru) => [
-      q(4252),
+      q(4251),
       q(0),
       ],
    q(mosimo) => [
-      q(4500),
+      q(4499),
       q(0),
       ],
    q(mosiro) => [
-      q(4644),
+      q(4643),
       q(0),
       ],
    q(moskona) => [
-      q(4563),
+      q(4562),
       q(0),
       ],
    q(mossi) => [
@@ -43498,75 +43528,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mota) => [
-      q(4573),
+      q(4572),
       q(0),
       ],
    q(motlav) => [
-      q(4385),
+      q(4384),
       q(0),
       ],
    q(motu) => [
-      q(4219),
+      q(4218),
       q(0),
       ],
    q(mouk-aria) => [
-      q(4630),
+      q(4629),
       q(0),
       ],
    q(mountain koiali) => [
-      q(3544),
+      q(3543),
       q(0),
       ],
    q(mouwase) => [
-      q(3125),
+      q(3124),
       q(0),
       ],
    q(movima) => [
-      q(4707),
+      q(4706),
       q(0),
       ],
    q(moyadan itneg) => [
-      q(3023),
+      q(3022),
       q(0),
       ],
    q(moyon naga) => [
-      q(4975),
+      q(4974),
       q(0),
       ],
    q(mozambican sign language) => [
-      q(4716),
+      q(4715),
       q(0),
       ],
    q(mozarabic) => [
-      q(4654),
+      q(4653),
       q(0),
       ],
    q(mpade) => [
-      q(4462),
+      q(4461),
       q(0),
       ],
    q(mpalitjanh) => [
-      q(7461),
+      q(7460),
       q(0),
       ],
    q(mpi) => [
-      q(4479),
+      q(4478),
       q(0),
       ],
    q(mpiemo) => [
-      q(4175),
+      q(4174),
       q(0),
       ],
    q(mpoto) => [
-      q(4455),
+      q(4454),
       q(0),
       ],
    q(mpotovoro) => [
-      q(4617),
+      q(4616),
       q(0),
       ],
    q(mpumpong) => [
-      q(4255),
+      q(4254),
       q(0),
       ],
    q(mpuono) => [
@@ -43582,11 +43612,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mru) => [
-      q(4518),
+      q(4517),
       q(0),
       ],
    q(mser) => [
-      q(3570),
+      q(3569),
       q(0),
       ],
    q(mt. iraya agta) => [
@@ -43598,15 +43628,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mualang) => [
-      q(4557),
+      q(4556),
       q(0),
       ],
    q(mubami) => [
-      q(6731),
+      q(6730),
       q(0),
       ],
    q(mubi) => [
-      q(4580),
+      q(4579),
       q(0),
       ],
    q(muda) => [
@@ -43622,11 +43652,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mudu koraga) => [
-      q(7020),
+      q(7019),
       q(0),
       ],
    q(muduga) => [
-      q(6862),
+      q(6861),
       q(0),
       ],
    q(mufian) => [
@@ -43634,7 +43664,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mugom) => [
-      q(4588),
+      q(4587),
       q(0),
       ],
    q(muinane) => [
@@ -43642,19 +43672,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mukha-dora) => [
-      q(4399),
+      q(4398),
       q(0),
       ],
    q(mukulu) => [
-      q(4454),
+      q(4453),
       q(0),
       ],
    q(mulaha) => [
-      q(4246),
+      q(4245),
       q(0),
       ],
    q(mulam) => [
-      q(4377),
+      q(4376),
       q(0),
       ],
    q(mulao) => [
@@ -43662,15 +43692,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mulgi) => [
-      q(4606),
+      q(4605),
       q(0),
       ],
    q(mullu kurumba) => [
-      q(3524),
+      q(3523),
       q(0),
       ],
    q(mullukmulluk) => [
-      q(4456),
+      q(4455),
       q(0),
       ],
    q(multiple languages) => [
@@ -43678,27 +43708,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(muluridyi) => [
-      q(7034),
+      q(7033),
       q(0),
       ],
    q(mum) => [
-      q(3547),
+      q(3546),
       q(0),
       ],
    q(mumuye) => [
-      q(4704),
+      q(4703),
       q(0),
       ],
    q(mun chin) => [
-      q(4637),
+      q(4636),
       q(0),
       ],
    q(muna) => [
-      q(4415),
+      q(4414),
       q(0),
       ],
    q(munda) => [
-      q(6921),
+      q(6920),
       q(0),
       ],
    q(munda languages) => [
@@ -43710,67 +43740,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mundang) => [
-      q(4579),
+      q(4578),
       q(0),
       ],
    q(mundani) => [
-      q(4418),
+      q(4417),
       q(0),
       ],
    q(mundari) => [
-      q(6919),
+      q(6918),
       q(0),
       ],
    q(mundat) => [
-      q(4394),
+      q(4393),
       q(0),
       ],
    q(mundu) => [
-      q(4585),
+      q(4584),
       q(0),
       ],
    q(munduruku) => [
-      q(4688),
+      q(4687),
       q(0),
       ],
    q(mungaka) => [
-      q(4283),
+      q(4282),
       q(0),
       ],
    q(mungbam) => [
-      q(4306),
+      q(4305),
       q(1),
       ],
    q(munggui) => [
-      q(4561),
+      q(4560),
       q(0),
       ],
    q(mungkip) => [
-      q(4475),
+      q(4474),
       q(0),
       ],
    q(muniche) => [
-      q(4686),
+      q(4685),
       q(0),
       ],
    q(munit) => [
-      q(4556),
+      q(4555),
       q(0),
       ],
    q(munji) => [
-      q(4421),
+      q(4420),
       q(0),
       ],
    q(munsee) => [
-      q(6912),
+      q(6911),
       q(0),
       ],
    q(muong) => [
-      q(4570),
+      q(4569),
       q(0),
       ],
    q(mur pano) => [
-      q(6561),
+      q(6560),
       q(0),
       ],
    q(muratayak) => [
@@ -43778,35 +43808,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(murik (malaysia)) => [
-      q(4663),
+      q(4662),
       q(0),
       ],
    q(murik (papua new guinea)) => [
-      q(4559),
+      q(4558),
       q(0),
       ],
    q(murkim) => [
-      q(5811),
+      q(5810),
       q(0),
       ],
    q(murle) => [
-      q(4593),
+      q(4592),
       q(0),
       ],
    q(murrinh-patha) => [
-      q(4628),
+      q(4627),
       q(0),
       ],
    q(mursi) => [
-      q(4599),
+      q(4598),
       q(0),
       ],
    q(murui huitoto) => [
-      q(2869),
+      q(2868),
       q(0),
       ],
    q(murupi) => [
-      q(4501),
+      q(4500),
       q(0),
       ],
    q(muruwari) => [
@@ -43814,43 +43844,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(musak) => [
-      q(4405),
+      q(4404),
       q(0),
       ],
    q(musar) => [
-      q(4397),
+      q(4396),
       q(0),
       ],
    q(musasa) => [
-      q(6123),
+      q(6122),
       q(0),
       ],
    q(musey) => [
-      q(4533),
+      q(4532),
       q(0),
       ],
    q(musgu) => [
-      q(4584),
+      q(4583),
       q(0),
       ],
    q(mushungulu) => [
-      q(7406),
+      q(7405),
       q(0),
       ],
    q(musi) => [
-      q(4586),
+      q(4585),
       q(0),
       ],
    q(muskum) => [
-      q(4322),
+      q(4321),
       q(0),
       ],
    q(muslim tat) => [
-      q(6753),
+      q(6752),
       q(0),
       ],
    q(musom) => [
-      q(4548),
+      q(4547),
       q(0),
       ],
    q(mussau-emira) => [
@@ -43858,23 +43888,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(muthuvan) => [
-      q(4596),
+      q(4595),
       q(0),
       ],
    q(mutu) => [
-      q(6761),
+      q(6760),
       q(0),
       ],
    q(muya) => [
-      q(4610),
+      q(4609),
       q(0),
       ],
    q(muyang) => [
-      q(4598),
+      q(4597),
       q(0),
       ],
    q(muyuw) => [
-      q(4689),
+      q(4688),
       q(0),
       ],
    q(muzi) => [
@@ -43882,51 +43912,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mvanip) => [
-      q(4161),
+      q(4160),
       q(0),
       ],
    q(mvuba) => [
-      q(4653),
+      q(4652),
       q(0),
       ],
    q(mwaghavul) => [
-      q(6284),
+      q(6283),
       q(0),
       ],
    q(mwali comorian) => [
-      q(7152),
+      q(7151),
       q(0),
       ],
    q(mwan) => [
-      q(4436),
+      q(4435),
       q(0),
       ],
    q(mwani) => [
-      q(7179),
+      q(7178),
       q(0),
       ],
    q(mwatebu) => [
-      q(4624),
+      q(4623),
       q(0),
       ],
    q(mwera (chimwera)) => [
-      q(4627),
+      q(4626),
       q(0),
       ],
    q(mwera (nyasa)) => [
-      q(4324),
+      q(4323),
       q(0),
       ],
    q(mwerlap) => [
-      q(4516),
+      q(4515),
       q(1),
       ],
    q(mwimbi-muthambi) => [
-      q(4638),
+      q(4637),
       q(0),
       ],
    q(mwotlap) => [
-      q(4385),
+      q(4384),
       q(1),
       ],
    q(mycenaean greek) => [
@@ -43934,7 +43964,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(myene) => [
-      q(4675),
+      q(4674),
       q(0),
       ],
    q(mysian) => [
@@ -43942,7 +43972,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mzieme naga) => [
-      q(4965),
+      q(4964),
       q(0),
       ],
    q(n'ko) => [
@@ -43950,11 +43980,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(n/u) => [
-      q(4840),
+      q(4839),
       q(0),
       ],
    q(na) => [
-      q(4756),
+      q(4755),
       q(0),
       ],
    q(na-dene languages) => [
@@ -43962,11 +43992,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(na-meo) => [
-      q(4819),
+      q(4818),
       q(0),
       ],
    q(naaba) => [
-      q(4730),
+      q(4729),
       q(0),
       ],
    q(naami) => [
@@ -43974,79 +44004,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(naasioi) => [
-      q(4733),
+      q(4732),
       q(0),
       ],
    q(naba) => [
-      q(4417),
+      q(4416),
       q(0),
       ],
    q(nabak) => [
-      q(4723),
+      q(4722),
       q(0),
       ],
    q(nabi) => [
-      q(4578),
+      q(4577),
       q(0),
       ],
    q(nachering) => [
-      q(4764),
+      q(4763),
       q(0),
       ],
    q(nadeb) => [
-      q(4135),
+      q(4134),
       q(0),
       ],
    q(nadruvian) => [
-      q(4787),
+      q(4786),
       q(0),
       ],
    q(nafaanra) => [
-      q(4832),
+      q(4831),
       q(0),
       ],
    q(nafi) => [
-      q(6212),
+      q(6211),
       q(0),
       ],
    q(nafri) => [
-      q(5154),
+      q(5153),
       q(0),
       ],
    q(nafusi) => [
-      q(3064),
+      q(3063),
       q(0),
       ],
    q(naga pidgin) => [
-      q(4724),
+      q(4723),
       q(0),
       ],
    q(nagarchal) => [
-      q(4744),
+      q(4743),
       q(0),
       ],
    q(nage) => [
-      q(5143),
+      q(5142),
       q(0),
       ],
    q(nagumi) => [
-      q(4854),
+      q(4853),
       q(0),
       ],
    q(naha'ai) => [
-      q(4387),
+      q(4386),
       q(1),
       ],
    q(nahali) => [
-      q(4958),
+      q(4957),
       q(0),
       ],
    q(nahari) => [
-      q(4866),
+      q(4865),
       q(0),
       ],
    q(nahavaq) => [
-      q(6149),
+      q(6148),
       q(1),
       ],
    q(nahuatl languages) => [
@@ -44062,55 +44092,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(naka'ela) => [
-      q(4722),
+      q(4721),
       q(0),
       ],
    q(nakai) => [
-      q(4930),
+      q(4929),
       q(0),
       ],
    q(nakame) => [
-      q(4882),
+      q(4881),
       q(0),
       ],
    q(nakanai) => [
-      q(4726),
+      q(4725),
       q(0),
       ],
    q(nakara) => [
-      q(4771),
+      q(4770),
       q(0),
       ],
    q(nake) => [
-      q(4748),
+      q(4747),
       q(0),
       ],
    q(naki) => [
-      q(4229),
+      q(4228),
       q(0),
       ],
    q(nakwi) => [
-      q(4736),
+      q(4735),
       q(0),
       ],
    q(nalca) => [
-      q(4946),
+      q(4945),
       q(0),
       ],
    q(nali) => [
-      q(5080),
+      q(5079),
       q(0),
       ],
    q(nalik) => [
-      q(4727),
+      q(4726),
       q(0),
       ],
    q(nalogo) => [
-      q(4960),
+      q(4959),
       q(0),
       ],
    q(nalu) => [
-      q(4725),
+      q(4724),
       q(0),
       ],
    q(naluo yi) => [
@@ -44118,51 +44148,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nama (namibia)) => [
-      q(4731),
+      q(4730),
       q(1),
       ],
    q(nama (papua new guinea)) => [
-      q(4984),
+      q(4983),
       q(0),
       ],
    q(namakura) => [
-      q(4971),
+      q(4970),
       q(0),
       ],
    q(namat) => [
-      q(4932),
+      q(4931),
       q(0),
       ],
    q(nambo) => [
-      q(4773),
+      q(4772),
       q(0),
       ],
    q(nambya) => [
-      q(4977),
+      q(4976),
       q(0),
       ],
    q(namia) => [
-      q(4999),
+      q(4998),
       q(0),
       ],
    q(namiae) => [
-      q(5129),
+      q(5128),
       q(0),
       ],
    q(namibian sign language) => [
-      q(4755),
+      q(4754),
       q(0),
       ],
    q(namla) => [
-      q(4718),
+      q(4717),
       q(0),
       ],
    q(namo) => [
-      q(4668),
+      q(4667),
       q(0),
       ],
    q(namonuito) => [
-      q(4980),
+      q(4979),
       q(0),
       ],
    q(namosi-naitasiri-serua) => [
@@ -44170,7 +44200,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(namuyi) => [
-      q(4985),
+      q(4984),
       q(0),
       ],
    q(nanai) => [
@@ -44178,27 +44208,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nancere) => [
-      q(4989),
+      q(4988),
       q(0),
       ],
    q(nande) => [
-      q(4988),
+      q(4987),
       q(0),
       ],
    q(nandi) => [
-      q(4895),
+      q(4894),
       q(0),
       ],
    q(nanerige senoufo) => [
-      q(5973),
+      q(5972),
       q(0),
       ],
    q(nanga dama dogon) => [
-      q(5183),
+      q(5182),
       q(0),
       ],
    q(nankina) => [
-      q(4997),
+      q(4996),
       q(0),
       ],
    q(nanti) => [
@@ -44206,7 +44236,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nanticoke) => [
-      q(5005),
+      q(5004),
       q(0),
       ],
    q(nanubae) => [
@@ -44214,83 +44244,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(napo lowland quechua) => [
-      q(5708),
+      q(5707),
       q(0),
       ],
    q(napu) => [
-      q(5041),
+      q(5040),
       q(0),
       ],
    q(nar phu) => [
-      q(5031),
+      q(5030),
       q(0),
       ],
    q(nara) => [
-      q(5049),
+      q(5048),
       q(0),
       ],
    q(narak) => [
-      q(4720),
+      q(4719),
       q(0),
       ],
    q(narango) => [
-      q(5053),
+      q(5052),
       q(0),
       ],
    q(narau) => [
-      q(5153),
+      q(5152),
       q(0),
       ],
    q(nari nari) => [
-      q(5834),
+      q(5833),
       q(0),
       ],
    q(narim) => [
-      q(4019),
+      q(4018),
       q(0),
       ],
    q(naro) => [
-      q(4874),
+      q(4873),
       q(0),
       ],
    q(narom) => [
-      q(5057),
+      q(5056),
       q(0),
       ],
    q(narragansett) => [
-      q(7441),
+      q(7440),
       q(0),
       ],
    q(narrinyeri) => [
-      q(4737),
+      q(4736),
       q(0),
       ],
    q(narua) => [
-      q(5062),
+      q(5061),
       q(0),
       ],
    q(narungga) => [
-      q(5003),
+      q(5002),
       q(0),
       ],
    q(nasal) => [
-      q(5086),
+      q(5085),
       q(0),
       ],
    q(nasarian) => [
-      q(5128),
+      q(5127),
       q(0),
       ],
    q(naskapi) => [
-      q(5073),
+      q(5072),
       q(0),
       ],
    q(natagaimas) => [
-      q(5097),
+      q(5096),
       q(0),
       ],
    q(natanzi) => [
-      q(5102),
+      q(5101),
       q(0),
       ],
    q(nataoran amis) => [
@@ -44298,27 +44328,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(natchez) => [
-      q(4782),
+      q(4781),
       q(0),
       ],
    q(nateni) => [
-      q(5093),
+      q(5092),
       q(0),
       ],
    q(nathembo) => [
-      q(5088),
+      q(5087),
       q(0),
       ],
    q(natioro) => [
-      q(5090),
+      q(5089),
       q(0),
       ],
    q(natugu) => [
-      q(5098),
+      q(5097),
       q(0),
       ],
    q(nauete) => [
-      q(5141),
+      q(5140),
       q(0),
       ],
    q(naukan yupik) => [
@@ -44326,11 +44356,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nauna) => [
-      q(4774),
+      q(4773),
       q(0),
       ],
    q(nauo) => [
-      q(5137),
+      q(5136),
       q(0),
       ],
    q(nauru) => [
@@ -44346,47 +44376,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(navut) => [
-      q(5084),
+      q(5083),
       q(0),
       ],
    q(nawaru) => [
-      q(5138),
+      q(5137),
       q(0),
       ],
    q(nawathinehena) => [
-      q(5131),
+      q(5130),
       q(0),
       ],
    q(nawdm) => [
-      q(4986),
+      q(4985),
       q(0),
       ],
    q(nawuri) => [
-      q(4735),
+      q(4734),
       q(0),
       ],
    q(naxi) => [
-      q(5151),
+      q(5150),
       q(0),
       ],
    q(nayi) => [
-      q(5030),
+      q(5029),
       q(0),
       ],
    q(nayini) => [
-      q(5167),
+      q(5166),
       q(0),
       ],
    q(ncane) => [
-      q(4777),
+      q(4776),
       q(0),
       ],
    q(nchumbulu) => [
-      q(4955),
+      q(4954),
       q(0),
       ],
    q(nda'nda') => [
-      q(5010),
+      q(5009),
       q(0),
       ],
    q(ndai) => [
@@ -44394,43 +44424,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ndaka) => [
-      q(4792),
+      q(4791),
       q(0),
       ],
    q(ndaktup) => [
-      q(4776),
+      q(4775),
       q(0),
       ],
    q(ndali) => [
-      q(4789),
+      q(4788),
       q(0),
       ],
    q(ndam) => [
-      q(4794),
+      q(4793),
       q(0),
       ],
    q(ndamba) => [
-      q(4791),
+      q(4790),
       q(0),
       ],
    q(ndambomo) => [
-      q(5150),
+      q(5149),
       q(0),
       ],
    q(ndasa) => [
-      q(4783),
+      q(4782),
       q(0),
       ],
    q(ndau) => [
-      q(4785),
+      q(4784),
       q(0),
       ],
    q(nde-gbite) => [
-      q(4809),
+      q(4808),
       q(0),
       ],
    q(nde-nsele-nta) => [
-      q(4786),
+      q(4785),
       q(0),
       ],
    q(ndebele, north) => [
@@ -44442,7 +44472,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ndemli) => [
-      q(4972),
+      q(4971),
       q(0),
       ],
    q(ndendeule) => [
@@ -44450,7 +44480,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ndengereko) => [
-      q(4788),
+      q(4787),
       q(0),
       ],
    q(nding) => [
@@ -44458,35 +44488,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ndo) => [
-      q(4796),
+      q(4795),
       q(0),
       ],
    q(ndobo) => [
-      q(4802),
+      q(4801),
       q(0),
       ],
    q(ndoe) => [
-      q(4740),
+      q(4739),
       q(0),
       ],
    q(ndogo) => [
-      q(4805),
+      q(4804),
       q(0),
       ],
    q(ndolo) => [
-      q(4793),
+      q(4792),
       q(0),
       ],
    q(ndom) => [
-      q(5044),
+      q(5043),
       q(0),
       ],
    q(ndombe) => [
-      q(4797),
+      q(4796),
       q(0),
       ],
    q(ndonde hamba) => [
-      q(4906),
+      q(4905),
       q(0),
       ],
    q(ndonga) => [
@@ -44494,7 +44524,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ndoola) => [
-      q(4798),
+      q(4797),
       q(0),
       ],
    q(ndra'ngith) => [
@@ -44502,31 +44532,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nduga) => [
-      q(4803),
+      q(4802),
       q(0),
       ],
    q(ndumu) => [
-      q(4964),
+      q(4963),
       q(0),
       ],
    q(ndunda) => [
-      q(5109),
+      q(5108),
       q(0),
       ],
    q(ndunga) => [
-      q(4799),
+      q(4798),
       q(0),
       ],
    q(ndut) => [
-      q(4801),
+      q(4800),
       q(0),
       ],
    q(ndyuka-trio pidgin) => [
-      q(4916),
+      q(4915),
       q(0),
       ],
    q(ndzwani comorian) => [
-      q(7186),
+      q(7185),
       q(0),
       ],
    q(neapolitan) => [
@@ -44534,11 +44564,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nedebang) => [
-      q(4808),
+      q(4807),
       q(0),
       ],
    q(nefamese) => [
-      q(4811),
+      q(4810),
       q(0),
       ],
    q(negerhollands) => [
@@ -44550,43 +44580,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(negidal) => [
-      q(4812),
+      q(4811),
       q(0),
       ],
    q(nehan) => [
-      q(5076),
+      q(5075),
       q(0),
       ],
    q(nek) => [
-      q(4885),
+      q(4884),
       q(0),
       ],
    q(nekgini) => [
-      q(4927),
+      q(4926),
       q(0),
       ],
    q(neko) => [
-      q(4815),
+      q(4814),
       q(0),
       ],
    q(neku) => [
-      q(4816),
+      q(4815),
       q(0),
       ],
    q(nelemwa-nixumwak) => [
-      q(4810),
+      q(4809),
       q(0),
       ],
    q(neme) => [
-      q(4826),
+      q(4825),
       q(0),
       ],
    q(nemi) => [
-      q(4817),
+      q(4816),
       q(0),
       ],
    q(nen) => [
-      q(5045),
+      q(5044),
       q(0),
       ],
    q(nend) => [
@@ -44602,15 +44632,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(nengone) => [
-      q(4818),
+      q(4817),
       q(0),
       ],
    q(neo) => [
-      q(4824),
+      q(4823),
       q(0),
       ],
    q(neo-hittite) => [
-      q(4814),
+      q(4813),
       q(0),
       ],
    q(nepal bhasa) => [
@@ -44618,7 +44648,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nepalese sign language) => [
-      q(5077),
+      q(5076),
       q(0),
       ],
    q(nepali) => [
@@ -44626,7 +44656,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nepali (individual language)) => [
-      q(5035),
+      q(5034),
       q(0),
       ],
    q(nepali (macrolanguage)) => [
@@ -44634,27 +44664,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(nepali kurux) => [
-      q(3726),
+      q(3725),
       q(0),
       ],
    q(nete) => [
-      q(4823),
+      q(4822),
       q(0),
       ],
    q(neve'ei) => [
-      q(7041),
+      q(7040),
       q(1),
       ],
    q(neverver) => [
-      q(3890),
+      q(3889),
       q(1),
       ],
    q(new caledonian javanese) => [
-      q(3054),
+      q(3053),
       q(0),
       ],
    q(new zealand sign language) => [
-      q(5180),
+      q(5179),
       q(0),
       ],
    q(newari) => [
@@ -44662,99 +44692,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(neyo) => [
-      q(4827),
+      q(4826),
       q(0),
       ],
    q(nez perce) => [
-      q(4828),
+      q(4827),
       q(0),
       ],
    q(ngaanyatjarra) => [
-      q(5091),
+      q(5090),
       q(0),
       ],
    q(ngabere) => [
-      q(2703),
+      q(2702),
       q(0),
       ],
    q(ngad'a) => [
-      q(5144),
+      q(5143),
       q(0),
       ],
    q(ngadjunmaya) => [
-      q(4917),
+      q(4916),
       q(0),
       ],
    q(ngadjuri) => [
-      q(3151),
+      q(3150),
       q(0),
       ],
    q(ngaing) => [
-      q(4992),
+      q(4991),
       q(0),
       ],
    q(ngaju) => [
-      q(4889),
+      q(4888),
       q(0),
       ],
    q(ngala) => [
-      q(5105),
+      q(5104),
       q(0),
       ],
    q(ngalakan) => [
-      q(4886),
+      q(4885),
       q(0),
       ],
    q(ngalum) => [
-      q(6347),
+      q(6346),
       q(0),
       ],
    q(ngam) => [
-      q(4963),
+      q(4962),
       q(0),
       ],
    q(ngamambo) => [
-      q(4758),
+      q(4757),
       q(0),
       ],
    q(ngambay) => [
-      q(5901),
+      q(5900),
       q(0),
       ],
    q(ngamini) => [
-      q(4982),
+      q(4981),
       q(0),
       ],
    q(ngamo) => [
-      q(4745),
+      q(4744),
       q(0),
       ],
    q(ngan'gityemerri) => [
-      q(4728),
+      q(4727),
       q(0),
       ],
    q(nganakarti) => [
-      q(7436),
+      q(7435),
       q(0),
       ],
    q(nganasan) => [
-      q(4894),
+      q(4893),
       q(0),
       ],
    q(ngandi) => [
-      q(4883),
+      q(4882),
       q(0),
       ],
    q(ngando (central african republic)) => [
-      q(4837),
+      q(4836),
       q(0),
       ],
    q(ngando (democratic republic of congo)) => [
-      q(5142),
+      q(5141),
       q(0),
       ],
    q(ngandyera) => [
-      q(4991),
+      q(4990),
       q(0),
       ],
    q(ngangam) => [
@@ -44762,35 +44792,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ngantangarra) => [
-      q(5089),
+      q(5088),
       q(0),
       ],
    q(nganyaywana) => [
-      q(5174),
+      q(5173),
       q(0),
       ],
    q(ngardi) => [
-      q(5880),
+      q(5879),
       q(0),
       ],
    q(ngarigu) => [
-      q(7435),
+      q(7434),
       q(0),
       ],
    q(ngarinman) => [
-      q(4747),
+      q(4746),
       q(0),
       ],
    q(ngarinyin) => [
-      q(6915),
+      q(6914),
       q(0),
       ],
    q(ngarla) => [
-      q(5055),
+      q(5054),
       q(0),
       ],
    q(ngarluma) => [
-      q(5056),
+      q(5055),
       q(0),
       ],
    q(ngas) => [
@@ -44798,11 +44828,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ngasa) => [
-      q(5070),
+      q(5069),
       q(0),
       ],
    q(ngatik men's creole) => [
-      q(4845),
+      q(4844),
       q(0),
       ],
    q(ngawn chin) => [
@@ -44810,11 +44840,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ngawun) => [
-      q(5149),
+      q(5148),
       q(0),
       ],
    q(ngayawung) => [
-      q(5134),
+      q(5133),
       q(0),
       ],
    q(ngazidja comorian) => [
@@ -44822,27 +44852,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ngbaka) => [
-      q(4834),
+      q(4833),
       q(0),
       ],
    q(ngbaka ma'bo) => [
-      q(4749),
+      q(4748),
       q(0),
       ],
    q(ngbaka manza) => [
-      q(4839),
+      q(4838),
       q(0),
       ],
    q(ngbee) => [
-      q(3085),
+      q(3084),
       q(0),
       ],
    q(ngbinda) => [
-      q(4742),
+      q(4741),
       q(0),
       ],
    q(ngbundu) => [
-      q(5122),
+      q(5121),
       q(0),
       ],
    q(ngelima) => [
@@ -44850,147 +44880,147 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ngemba) => [
-      q(4838),
+      q(4837),
       q(0),
       ],
    q(ngeq) => [
-      q(4852),
+      q(4851),
       q(0),
       ],
    q(ngete) => [
-      q(5000),
+      q(4999),
       q(0),
       ],
    q(nggem) => [
-      q(4753),
+      q(4752),
       q(0),
       ],
    q(nggwahyi) => [
-      q(4856),
+      q(4855),
       q(0),
       ],
    q(ngie) => [
-      q(4842),
+      q(4841),
       q(0),
       ],
    q(ngiemboon) => [
-      q(4994),
+      q(4993),
       q(0),
       ],
    q(ngile) => [
-      q(3114),
+      q(3113),
       q(0),
       ],
    q(ngindo) => [
-      q(5002),
+      q(5001),
       q(0),
       ],
    q(ngiti) => [
-      q(4902),
+      q(4901),
       q(0),
       ],
    q(ngizim) => [
-      q(4841),
+      q(4840),
       q(0),
       ],
    q(ngkalmpw kanum) => [
-      q(3211),
+      q(3210),
       q(0),
       ],
    q(ngom) => [
-      q(5048),
+      q(5047),
       q(0),
       ],
    q(ngomba) => [
-      q(3088),
+      q(3087),
       q(0),
       ],
    q(ngombale) => [
-      q(4945),
+      q(4944),
       q(0),
       ],
    q(ngombe (central african republic)) => [
-      q(4970),
+      q(4969),
       q(0),
       ],
    q(ngombe (democratic republic of congo)) => [
-      q(4836),
+      q(4835),
       q(0),
       ],
    q(ngongo) => [
-      q(5023),
+      q(5022),
       q(0),
       ],
    q(ngoni) => [
-      q(4847),
+      q(4846),
       q(0),
       ],
    q(ngoreme) => [
-      q(4849),
+      q(4848),
       q(1),
       ],
    q(ngoshie) => [
-      q(5071),
+      q(5070),
       q(0),
       ],
    q(ngul) => [
-      q(4953),
+      q(4952),
       q(0),
       ],
    q(ngulu) => [
-      q(4848),
+      q(4847),
       q(0),
       ],
    q(nguluwan) => [
-      q(5124),
+      q(5123),
       q(0),
       ],
    q(ngumbi) => [
-      q(5110),
+      q(5109),
       q(0),
       ],
    q(ngunawal) => [
-      q(7534),
+      q(7533),
       q(0),
       ],
    q(ngundi) => [
-      q(4795),
+      q(4794),
       q(0),
       ],
    q(ngundu) => [
-      q(5106),
+      q(5105),
       q(0),
       ],
    q(ngungwel) => [
-      q(4858),
+      q(4857),
       q(0),
       ],
    q(nguon) => [
-      q(5116),
+      q(5115),
       q(0),
       ],
    q(ngurimi) => [
-      q(4849),
+      q(4848),
       q(0),
       ],
    q(ngurmbur) => [
-      q(5063),
+      q(5062),
       q(0),
       ],
    q(ngwaba) => [
-      q(4855),
+      q(4854),
       q(0),
       ],
    q(ngwe) => [
-      q(5133),
+      q(5132),
       q(0),
       ],
    q(ngwo) => [
-      q(4846),
+      q(4845),
       q(0),
       ],
    q(nhanda) => [
-      q(4859),
+      q(4858),
       q(0),
       ],
    q(nhengatu) => [
@@ -44998,11 +45028,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nhirrpi) => [
-      q(2837),
+      q(2836),
       q(0),
       ],
    q(nhuwala) => [
-      q(4864),
+      q(4863),
       q(0),
       ],
    q(nias) => [
@@ -45014,15 +45044,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nicaraguan sign language) => [
-      q(4778),
+      q(4777),
       q(0),
       ],
    q(nicarao) => [
-      q(5575),
+      q(5574),
       q(1),
       ],
    q(niellim) => [
-      q(4884),
+      q(4883),
       q(0),
       ],
    q(niger-kordofanian languages) => [
@@ -45030,7 +45060,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nigeria mambila) => [
-      q(4702),
+      q(4701),
       q(0),
       ],
    q(nigerian fulfulde) => [
@@ -45038,23 +45068,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nigerian pidgin) => [
-      q(5392),
+      q(5391),
       q(0),
       ],
    q(nigerian sign language) => [
-      q(5072),
+      q(5071),
       q(0),
       ],
    q(nihali) => [
-      q(4952),
+      q(4951),
       q(0),
       ],
    q(nii) => [
-      q(4888),
+      q(4887),
       q(0),
       ],
    q(nijadali) => [
-      q(4721),
+      q(4720),
       q(0),
       ],
    q(niksek) => [
@@ -45062,11 +45092,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nila) => [
-      q(4891),
+      q(4890),
       q(0),
       ],
    q(nilamba) => [
-      q(4892),
+      q(4891),
       q(0),
       ],
    q(nilo-saharan languages) => [
@@ -45074,83 +45104,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nimadi) => [
-      q(5014),
+      q(5013),
       q(0),
       ],
    q(nimanbur) => [
-      q(4976),
+      q(4975),
       q(0),
       ],
    q(nimbari) => [
-      q(4978),
+      q(4977),
       q(0),
       ],
    q(nimboran) => [
-      q(4896),
+      q(4895),
       q(0),
       ],
    q(nimi) => [
-      q(4897),
+      q(4896),
       q(0),
       ],
    q(nimo) => [
-      q(4900),
+      q(4899),
       q(0),
       ],
    q(nimoa) => [
-      q(4983),
+      q(4982),
       q(0),
       ],
    q(ninam) => [
-      q(6010),
+      q(6009),
       q(0),
       ],
    q(ninde) => [
-      q(4631),
+      q(4630),
       q(1),
       ],
    q(nindi) => [
-      q(5145),
+      q(5144),
       q(0),
       ],
    q(ningera) => [
-      q(4760),
+      q(4759),
       q(0),
       ],
    q(ninggerum) => [
-      q(5152),
+      q(5151),
       q(0),
       ],
    q(ningil) => [
-      q(4903),
+      q(4902),
       q(0),
       ],
    q(ningye) => [
-      q(5004),
+      q(5003),
       q(0),
       ],
    q(ninia yali) => [
-      q(4951),
+      q(4950),
       q(0),
       ],
    q(ninzo) => [
-      q(4893),
+      q(4892),
       q(0),
       ],
    q(nipsan) => [
-      q(5039),
+      q(5038),
       q(0),
       ],
    q(nisa) => [
-      q(4915),
+      q(4914),
       q(0),
       ],
    q(nisenan) => [
-      q(5087),
+      q(5086),
       q(0),
       ],
    q(nisga'a) => [
-      q(4767),
+      q(4766),
       q(0),
       ],
    q(nisi (china)) => [
@@ -45158,11 +45188,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(niuafo'ou) => [
-      q(5114),
+      q(5113),
       q(0),
       ],
    q(niuatoputapu) => [
-      q(4935),
+      q(4934),
       q(0),
       ],
    q(niuean) => [
@@ -45174,75 +45204,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(niwer mil) => [
-      q(2832),
+      q(2831),
       q(0),
       ],
    q(njalgulgule) => [
-      q(4910),
+      q(4909),
       q(0),
       ],
    q(njebi) => [
-      q(5177),
+      q(5176),
       q(0),
       ],
    q(njen) => [
-      q(4909),
+      q(4908),
       q(0),
       ],
    q(njerep) => [
-      q(4914),
+      q(4913),
       q(0),
       ],
    q(njyem) => [
-      q(4919),
+      q(4918),
       q(0),
       ],
    q(nkami) => [
-      q(4936),
+      q(4935),
       q(0),
       ],
    q(nkangala) => [
-      q(4933),
+      q(4932),
       q(0),
       ],
    q(nkari) => [
-      q(4944),
+      q(4943),
       q(0),
       ],
    q(nkem-nkum) => [
-      q(3002),
+      q(3001),
       q(0),
       ],
    q(nkhumbi) => [
-      q(3348),
+      q(3347),
       q(0),
       ],
    q(nkongho) => [
-      q(4923),
+      q(4922),
       q(0),
       ],
    q(nkonya) => [
-      q(4934),
+      q(4933),
       q(0),
       ],
    q(nkoroo) => [
-      q(4943),
+      q(4942),
       q(0),
       ],
    q(nkoya) => [
-      q(4921),
+      q(4920),
       q(0),
       ],
    q(nkukoli) => [
-      q(4751),
+      q(4750),
       q(0),
       ],
    q(nkutu) => [
-      q(4942),
+      q(4941),
       q(0),
       ],
    q(nnam) => [
-      q(4752),
+      q(4751),
       q(0),
       ],
    q(no linguistic content) => [
@@ -45258,11 +45288,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nocaman) => [
-      q(5021),
+      q(5020),
       q(0),
       ],
    q(nocte naga) => [
-      q(4905),
+      q(4904),
       q(0),
       ],
    q(nogai) => [
@@ -45270,31 +45300,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(noiri) => [
-      q(5017),
+      q(5016),
       q(0),
       ],
    q(nokuku) => [
-      q(4931),
+      q(4930),
       q(0),
       ],
    q(nomaande) => [
-      q(3870),
+      q(3869),
       q(0),
       ],
    q(nomane) => [
-      q(5015),
+      q(5014),
       q(0),
       ],
    q(nomatsiguenga) => [
-      q(5025),
+      q(5024),
       q(0),
       ],
    q(nomlaki) => [
-      q(5020),
+      q(5019),
       q(0),
       ],
    q(nomu) => [
-      q(5016),
+      q(5015),
       q(0),
       ],
    q(nong zhuang) => [
@@ -45302,19 +45332,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nonuya) => [
-      q(5018),
+      q(5017),
       q(0),
       ],
    q(nooksack) => [
-      q(5019),
+      q(5018),
       q(0),
       ],
    q(noon) => [
-      q(6137),
+      q(6136),
       q(0),
       ],
    q(noone) => [
-      q(4876),
+      q(4875),
       q(0),
       ],
    q(nopala chatino) => [
@@ -45322,19 +45352,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nora) => [
-      q(5060),
+      q(5059),
       q(1),
       ],
    q(noric) => [
-      q(5050),
+      q(5049),
       q(0),
       ],
    q(norn) => [
-      q(5058),
+      q(5057),
       q(0),
       ],
    q(norra) => [
-      q(5060),
+      q(5059),
       q(0),
       ],
    q(norse, old) => [
@@ -45346,7 +45376,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north ambrym) => [
-      q(4395),
+      q(4394),
       q(0),
       ],
    q(north american indian languages) => [
@@ -45354,7 +45384,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north asmat) => [
-      q(4938),
+      q(4937),
       q(0),
       ],
    q(north awyu) => [
@@ -45370,7 +45400,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north bolivian quechua) => [
-      q(5687),
+      q(5686),
       q(0),
       ],
    q(north caucasian languages) => [
@@ -45378,11 +45408,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north central mixe) => [
-      q(4820),
+      q(4819),
       q(0),
       ],
    q(north efate) => [
-      q(3970),
+      q(3969),
       q(0),
       ],
    q(north fali) => [
@@ -45398,7 +45428,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north junin quechua) => [
-      q(5707),
+      q(5706),
       q(0),
       ],
    q(north levantine arabic) => [
@@ -45406,7 +45436,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north marquesan) => [
-      q(4520),
+      q(4519),
       q(0),
       ],
    q(north mesopotamian arabic) => [
@@ -45414,15 +45444,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north mofu) => [
-      q(4234),
+      q(4233),
       q(0),
       ],
    q(north moluccan malay) => [
-      q(4125),
+      q(4124),
       q(0),
       ],
    q(north muyu) => [
-      q(3627),
+      q(3626),
       q(0),
       ],
    q(north ndebele) => [
@@ -45430,39 +45460,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(north nuaulu) => [
-      q(4995),
+      q(4994),
       q(0),
       ],
    q(north picene) => [
-      q(5059),
+      q(5058),
       q(0),
       ],
    q(north slavey) => [
-      q(5937),
+      q(5936),
       q(0),
       ],
    q(north tairora) => [
-      q(6385),
+      q(6384),
       q(0),
       ],
    q(north tanna) => [
-      q(6621),
+      q(6620),
       q(0),
       ],
    q(north wahgi) => [
-      q(7123),
+      q(7122),
       q(0),
       ],
    q(north watut) => [
-      q(6913),
+      q(6912),
       q(0),
       ],
    q(northeast kiwai) => [
-      q(3373),
+      q(3372),
       q(0),
       ],
    q(northeast maidu) => [
-      q(4981),
+      q(4980),
       q(0),
       ],
    q(northeast pashai) => [
@@ -45478,11 +45508,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northeastern pomo) => [
-      q(5407),
+      q(5406),
       q(0),
       ],
    q(northeastern thai) => [
-      q(6752),
+      q(6751),
       q(0),
       ],
    q(northern alta) => [
@@ -45494,7 +45524,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern amami-oshima) => [
-      q(5882),
+      q(5881),
       q(0),
       ],
    q(northern bai) => [
@@ -45506,7 +45536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern binukidnon) => [
-      q(3754),
+      q(3753),
       q(0),
       ],
    q(northern bobo madare) => [
@@ -45514,7 +45544,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern bontok) => [
-      q(5758),
+      q(5757),
       q(0),
       ],
    q(northern catanduanes bikol) => [
@@ -45522,7 +45552,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern conchucos ancash quechua) => [
-      q(5724),
+      q(5723),
       q(0),
       ],
    q(northern dagara) => [
@@ -45558,59 +45588,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern guiyang hmong) => [
-      q(2860),
+      q(2859),
       q(0),
       ],
    q(northern guiyang miao) => [
-      q(2860),
+      q(2859),
       q(1),
       ],
    q(northern haida) => [
-      q(2739),
+      q(2738),
       q(0),
       ],
    q(northern hindko) => [
-      q(2807),
+      q(2806),
       q(0),
       ],
    q(northern huishui hmong) => [
-      q(2785),
+      q(2784),
       q(0),
       ],
    q(northern huishui miao) => [
-      q(2785),
+      q(2784),
       q(1),
       ],
    q(northern kalapuya) => [
-      q(5061),
+      q(5060),
       q(0),
       ],
    q(northern kankanay) => [
-      q(7437),
+      q(7436),
       q(0),
       ],
    q(northern khmer) => [
-      q(3727),
+      q(3726),
       q(0),
       ],
    q(northern kissi) => [
-      q(3565),
+      q(3564),
       q(0),
       ],
    q(northern kurdish) => [
-      q(3470),
+      q(3469),
       q(0),
       ],
    q(northern luri) => [
-      q(4042),
+      q(4041),
       q(0),
       ],
    q(northern mashan hmong) => [
-      q(2790),
+      q(2789),
       q(0),
       ],
    q(northern mashan miao) => [
-      q(2790),
+      q(2789),
       q(1),
       ],
    q(northern muji) => [
@@ -45618,11 +45648,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern nago) => [
-      q(7369),
+      q(7368),
       q(0),
       ],
    q(northern ngbandi) => [
-      q(4835),
+      q(4834),
       q(0),
       ],
    q(northern nisu) => [
@@ -45630,11 +45660,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern nuni) => [
-      q(5123),
+      q(5122),
       q(0),
       ],
    q(northern oaxaca nahuatl) => [
-      q(4880),
+      q(4879),
       q(0),
       ],
    q(northern ohlone) => [
@@ -45642,39 +45672,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern one) => [
-      q(5276),
+      q(5275),
       q(0),
       ],
    q(northern paiute) => [
-      q(5353),
+      q(5352),
       q(0),
       ],
    q(northern pame) => [
-      q(5521),
+      q(5520),
       q(0),
       ],
    q(northern pashto) => [
-      q(5377),
+      q(5376),
       q(0),
       ],
    q(northern pastaza quichua) => [
-      q(5713),
+      q(5712),
       q(0),
       ],
    q(northern pomo) => [
-      q(5411),
+      q(5410),
       q(0),
       ],
    q(northern puebla nahuatl) => [
-      q(4770),
+      q(4769),
       q(0),
       ],
    q(northern pumi) => [
-      q(5514),
+      q(5513),
       q(0),
       ],
    q(northern qiandong miao) => [
-      q(2742),
+      q(2741),
       q(0),
       ],
    q(northern qiang) => [
@@ -45682,11 +45712,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern rengma naga) => [
-      q(4998),
+      q(4997),
       q(0),
       ],
    q(northern roglai) => [
-      q(5841),
+      q(5840),
       q(0),
       ],
    q(northern sami) => [
@@ -45694,7 +45724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern sierra miwok) => [
-      q(5078),
+      q(5077),
       q(0),
       ],
    q(northern sorsoganon) => [
@@ -45706,43 +45736,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(northern subanen) => [
-      q(6254),
+      q(6253),
       q(0),
       ],
    q(northern tarahumara) => [
-      q(6500),
+      q(6499),
       q(0),
       ],
    q(northern tepehuan) => [
-      q(5095),
+      q(5094),
       q(0),
       ],
    q(northern thai) => [
-      q(5013),
+      q(5012),
       q(0),
       ],
    q(northern tiwa) => [
-      q(6796),
+      q(6795),
       q(0),
       ],
    q(northern tlaxiaco mixtec) => [
-      q(7517),
+      q(7516),
       q(0),
       ],
    q(northern toussian) => [
-      q(6723),
+      q(6722),
       q(0),
       ],
    q(northern tujia) => [
-      q(6539),
+      q(6538),
       q(0),
       ],
    q(northern tutchone) => [
-      q(6746),
+      q(6745),
       q(0),
       ],
    q(northern uzbek) => [
-      q(6967),
+      q(6966),
       q(0),
       ],
    q(northern yukaghir) => [
@@ -45754,15 +45784,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northwest gbaya) => [
-      q(2695),
+      q(2694),
       q(0),
       ],
    q(northwest maidu) => [
-      q(4321),
+      q(4320),
       q(0),
       ],
    q(northwest oaxaca mixtec) => [
-      q(4646),
+      q(4645),
       q(0),
       ],
    q(northwest pashai) => [
@@ -45782,23 +45812,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northwestern kolami) => [
-      q(3283),
+      q(3282),
       q(0),
       ],
    q(northwestern kung) => [
-      q(6974),
+      q(6973),
       q(2),
       ],
    q(northwestern nisu) => [
-      q(5069),
+      q(5068),
       q(0),
       ],
    q(northwestern ojibwa) => [
-      q(5217),
+      q(5216),
       q(0),
       ],
    q(northwestern tamang) => [
-      q(6595),
+      q(6594),
       q(0),
       ],
    q(norwegian) => [
@@ -45814,7 +45844,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(norwegian sign language) => [
-      q(5074),
+      q(5073),
       q(0),
       ],
    q(not applicable) => [
@@ -45826,35 +45856,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(notsi) => [
-      q(4766),
+      q(4765),
       q(0),
       ],
    q(nottoway) => [
-      q(5099),
+      q(5098),
       q(0),
       ],
    q(nottoway-meherrin) => [
-      q(5140),
+      q(5139),
       q(0),
       ],
    q(novial) => [
-      q(5027),
+      q(5026),
       q(0),
       ],
    q(noy) => [
-      q(5029),
+      q(5028),
       q(0),
       ],
    q(nsenga) => [
-      q(5068),
+      q(5067),
       q(0),
       ],
    q(nshi) => [
-      q(5066),
+      q(5065),
       q(0),
       ],
    q(nsongo) => [
-      q(5085),
+      q(5084),
       q(0),
       ],
    q(ntcham) => [
@@ -45862,15 +45892,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ntomba) => [
-      q(5094),
+      q(5093),
       q(0),
       ],
+   q(nu) => [
+      q(4839),
+      q(1),
+      ],
    q(nubaca) => [
       q(1025),
       q(0),
       ],
    q(nubi) => [
-      q(3221),
+      q(3220),
       q(0),
       ],
    q(nubian languages) => [
@@ -45878,91 +45912,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nubri) => [
-      q(3623),
+      q(3622),
       q(0),
       ],
    q(nuer) => [
-      q(5120),
+      q(5119),
       q(0),
       ],
    q(nugunu (australia)) => [
-      q(5007),
+      q(5006),
       q(0),
       ],
    q(nugunu (cameroon)) => [
-      q(7590),
+      q(7589),
       q(0),
       ],
    q(nuk) => [
-      q(5012),
+      q(5011),
       q(0),
       ],
    q(nukak maku) => [
-      q(4143),
+      q(4142),
       q(0),
       ],
    q(nukna) => [
-      q(3447),
+      q(3446),
       q(0),
       ],
    q(nukuini) => [
-      q(5104),
+      q(5103),
       q(0),
       ],
    q(nukumanu) => [
-      q(5118),
+      q(5117),
       q(0),
       ],
    q(nukunul) => [
-      q(7442),
+      q(7441),
       q(0),
       ],
    q(nukuoro) => [
-      q(4937),
+      q(4936),
       q(0),
       ],
    q(nukuria) => [
-      q(5119),
+      q(5118),
       q(0),
       ],
    q(numana-nunku-gbantu-numbu) => [
-      q(4754),
+      q(4753),
       q(0),
       ],
    q(numanggang) => [
-      q(5022),
+      q(5021),
       q(0),
       ],
    q(numbami) => [
-      q(6040),
+      q(6039),
       q(0),
       ],
    q(nume) => [
-      q(6488),
+      q(6487),
       q(0),
       ],
    q(numee) => [
-      q(3243),
+      q(3242),
       q(0),
       ],
    q(numidian) => [
-      q(5148),
+      q(5147),
       q(0),
       ],
    q(nung (viet nam)) => [
-      q(5121),
+      q(5120),
       q(0),
       ],
    q(nungali) => [
-      q(5108),
+      q(5107),
       q(0),
       ],
    q(nunggubuyu) => [
-      q(5126),
+      q(5125),
       q(0),
       ],
    q(nungu) => [
-      q(5790),
+      q(5789),
       q(0),
       ],
    q(nuosu) => [
@@ -45970,39 +46004,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(nupbikha) => [
-      q(5032),
+      q(5031),
       q(0),
       ],
    q(nupe-nupe-tako) => [
-      q(5117),
+      q(5116),
       q(0),
       ],
    q(nupode huitoto) => [
-      q(2872),
+      q(2871),
       q(0),
       ],
    q(nusa laut) => [
-      q(5113),
+      q(5112),
       q(0),
       ],
    q(nusu) => [
-      q(5107),
+      q(5106),
       q(0),
       ],
    q(nuu-chah-nulth) => [
-      q(5112),
+      q(5111),
       q(0),
       ],
    q(nuuchahnulth) => [
-      q(5112),
+      q(5111),
       q(1),
       ],
    q(nyabwa) => [
-      q(5132),
+      q(5131),
       q(0),
       ],
    q(nyaheun) => [
-      q(4825),
+      q(4824),
       q(0),
       ],
    q(nyahkur) => [
@@ -46010,7 +46044,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nyakyusa-ngonde) => [
-      q(5175),
+      q(5174),
       q(0),
       ],
    q(nyalayu) => [
@@ -46018,27 +46052,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nyali) => [
-      q(4950),
+      q(4949),
       q(0),
       ],
    q(nyam) => [
-      q(4969),
+      q(4968),
       q(0),
       ],
    q(nyamal) => [
-      q(4959),
+      q(4958),
       q(0),
       ],
    q(nyambo) => [
-      q(5028),
+      q(5027),
       q(0),
       ],
    q(nyamusa-molo) => [
-      q(5136),
+      q(5135),
       q(0),
       ],
    q(nyamwanga) => [
-      q(4634),
+      q(4633),
       q(0),
       ],
    q(nyamwezi) => [
@@ -46046,35 +46080,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nyaneka) => [
-      q(5164),
+      q(5163),
       q(0),
       ],
    q(nyang'i) => [
-      q(5166),
+      q(5165),
       q(0),
       ],
    q(nyanga) => [
-      q(5163),
+      q(5162),
       q(0),
       ],
    q(nyanga-li) => [
-      q(5156),
+      q(5155),
       q(0),
       ],
    q(nyangatom) => [
-      q(4996),
+      q(4995),
       q(0),
       ],
    q(nyangbo) => [
-      q(5155),
+      q(5154),
       q(0),
       ],
    q(nyangga) => [
-      q(5009),
+      q(5008),
       q(0),
       ],
    q(nyangumarta) => [
-      q(4987),
+      q(4986),
       q(0),
       ],
    q(nyanja) => [
@@ -46086,23 +46120,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nyankpa) => [
-      q(7627),
+      q(7626),
       q(0),
       ],
    q(nyarafolo senoufo) => [
-      q(5981),
+      q(5980),
       q(0),
       ],
    q(nyaturu) => [
-      q(5789),
+      q(5788),
       q(0),
       ],
    q(nyaw) => [
-      q(5173),
+      q(5172),
       q(0),
       ],
    q(nyawaygi) => [
-      q(5170),
+      q(5169),
       q(0),
       ],
    q(nyelayu) => [
@@ -46110,55 +46144,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(nyemba) => [
-      q(4739),
+      q(4738),
       q(0),
       ],
    q(nyengo) => [
-      q(5158),
+      q(5157),
       q(0),
       ],
    q(nyenkha) => [
-      q(4813),
+      q(4812),
       q(0),
       ],
    q(nyeu) => [
-      q(5165),
+      q(5164),
       q(0),
       ],
    q(nyigina) => [
-      q(5161),
+      q(5160),
       q(0),
       ],
    q(nyiha (malawi)) => [
-      q(5168),
+      q(5167),
       q(0),
       ],
    q(nyiha (tanzania)) => [
-      q(4887),
+      q(4886),
       q(0),
       ],
    q(nyika (malawi and zambia)) => [
-      q(4941),
+      q(4940),
       q(0),
       ],
    q(nyika (tanzania)) => [
-      q(4939),
+      q(4938),
       q(0),
       ],
    q(nyindrou) => [
-      q(3912),
+      q(3911),
       q(0),
       ],
    q(nyindu) => [
-      q(5160),
+      q(5159),
       q(0),
       ],
    q(nyishi) => [
-      q(4920),
+      q(4919),
       q(0),
       ],
    q(nyiyaparli) => [
-      q(7443),
+      q(7442),
       q(0),
       ],
    q(nynorsk, norwegian) => [
@@ -46166,19 +46200,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(nyokon) => [
-      q(5130),
+      q(5129),
       q(0),
       ],
    q(nyole) => [
-      q(5111),
+      q(5110),
       q(0),
       ],
    q(nyong) => [
-      q(4590),
+      q(4589),
       q(0),
       ],
    q(nyore) => [
-      q(5157),
+      q(5156),
       q(0),
       ],
    q(nyoro) => [
@@ -46186,27 +46220,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nyulnyul) => [
-      q(5172),
+      q(5171),
       q(0),
       ],
    q(nyunga) => [
-      q(5169),
+      q(5168),
       q(0),
       ],
    q(nyungwe) => [
-      q(5171),
+      q(5170),
       q(0),
       ],
    q(nzakambay) => [
-      q(5182),
+      q(5181),
       q(0),
       ],
    q(nzakara) => [
-      q(5178),
+      q(5177),
       q(0),
       ],
    q(nzanyi) => [
-      q(4904),
+      q(4903),
       q(0),
       ],
    q(nzima) => [
@@ -46214,11 +46248,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(o'chi'chi') => [
-      q(7445),
+      q(7444),
       q(0),
       ],
    q(o'du) => [
-      q(6831),
+      q(6830),
       q(0),
       ],
    q(obanliku) => [
@@ -46226,15 +46260,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(obispeno) => [
-      q(5188),
+      q(5187),
       q(0),
       ],
    q(oblo) => [
-      q(5190),
+      q(5189),
       q(0),
       ],
    q(obo manobo) => [
-      q(5192),
+      q(5191),
       q(0),
       ],
    q(obokuitai) => [
@@ -46246,11 +46280,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(obulom) => [
-      q(5195),
+      q(5194),
       q(0),
       ],
    q(ocaina) => [
-      q(5196),
+      q(5195),
       q(0),
       ],
    q(occidental) => [
@@ -46262,7 +46296,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ocotepec mixtec) => [
-      q(4301),
+      q(4300),
       q(0),
       ],
    q(ocotlan zapotec) => [
@@ -46270,7 +46304,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(od) => [
-      q(5201),
+      q(5200),
       q(0),
       ],
    q(odiai) => [
@@ -46278,19 +46312,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(odoodee) => [
-      q(3404),
+      q(3403),
       q(0),
       ],
    q(odual) => [
-      q(5203),
+      q(5202),
       q(0),
       ],
    q(odut) => [
-      q(5200),
+      q(5199),
       q(0),
       ],
    q(ofaye) => [
-      q(5292),
+      q(5291),
       q(0),
       ],
    q(official aramaic (700-300 bce)) => [
@@ -46298,23 +46332,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ofo) => [
-      q(5204),
+      q(5203),
       q(0),
       ],
    q(ogbah) => [
-      q(5208),
+      q(5207),
       q(0),
       ],
    q(ogbia) => [
-      q(5207),
+      q(5206),
       q(0),
       ],
    q(ogbogolo) => [
-      q(5210),
+      q(5209),
       q(0),
       ],
    q(ogbronuagum) => [
-      q(5212),
+      q(5211),
       q(0),
       ],
    q(ogea) => [
@@ -46326,7 +46360,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(oirata) => [
-      q(5215),
+      q(5214),
       q(0),
       ],
    q(ojibwa) => [
@@ -46338,67 +46372,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(okanagan) => [
-      q(5224),
+      q(5223),
       q(0),
       ],
    q(oki-no-erabu) => [
-      q(5235),
+      q(5234),
       q(0),
       ],
    q(okiek) => [
-      q(5230),
+      q(5229),
       q(0),
       ],
    q(oko-eni-osayen) => [
-      q(5238),
+      q(5237),
       q(0),
       ],
    q(oko-juwoi) => [
-      q(5231),
+      q(5230),
       q(0),
       ],
    q(okobo) => [
-      q(5225),
+      q(5224),
       q(0),
       ],
    q(okodia) => [
-      q(5226),
+      q(5225),
       q(0),
       ],
    q(okolod) => [
-      q(3568),
+      q(3567),
       q(0),
       ],
    q(okpamheri) => [
-      q(5287),
+      q(5286),
       q(0),
       ],
    q(okpe (northwestern edo)) => [
-      q(5241),
+      q(5240),
       q(0),
       ],
    q(okpe (southwestern edo)) => [
-      q(5227),
+      q(5226),
       q(0),
       ],
    q(oksapmin) => [
-      q(5289),
+      q(5288),
       q(0),
       ],
    q(oku) => [
-      q(5239),
+      q(5238),
       q(0),
       ],
    q(old aramaic (up to 700 bce)) => [
-      q(5186),
+      q(5185),
       q(0),
       ],
    q(old avar) => [
-      q(5187),
+      q(5186),
       q(0),
       ],
    q(old breton) => [
-      q(5194),
+      q(5193),
       q(0),
       ],
    q(old bulgarian) => [
@@ -46406,11 +46440,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(3),
       ],
    q(old burmese) => [
-      q(5193),
+      q(5192),
       q(0),
       ],
    q(old chinese) => [
-      q(5197),
+      q(5196),
       q(0),
       ],
    q(old church slavonic) => [
@@ -46418,11 +46452,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(4),
       ],
    q(old cornish) => [
-      q(5198),
+      q(5197),
       q(0),
       ],
    q(old dutch) => [
-      q(5202),
+      q(5201),
       q(0),
       ],
    q(old english (ca. 450-1100)) => [
@@ -46434,11 +46468,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old frisian) => [
-      q(5205),
+      q(5204),
       q(0),
       ],
    q(old georgian) => [
-      q(5209),
+      q(5208),
       q(0),
       ],
    q(old high german (ca. 750-1050)) => [
@@ -46446,11 +46480,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old hittite) => [
-      q(5213),
+      q(5212),
       q(0),
       ],
    q(old hungarian) => [
-      q(5214),
+      q(5213),
       q(0),
       ],
    q(old irish (to 900)) => [
@@ -46458,31 +46492,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old japanese) => [
-      q(5220),
+      q(5219),
       q(0),
       ],
    q(old kentish sign language) => [
-      q(5233),
+      q(5232),
       q(0),
       ],
    q(old korean (3rd-9th cent.)) => [
-      q(5236),
+      q(5235),
       q(0),
       ],
    q(old lithuanian) => [
-      q(5249),
+      q(5248),
       q(0),
       ],
    q(old manipuri) => [
-      q(5260),
+      q(5259),
       q(0),
       ],
    q(old marathi) => [
-      q(5261),
+      q(5260),
       q(0),
       ],
    q(old mon) => [
-      q(5265),
+      q(5264),
       q(0),
       ],
    q(old newari) => [
@@ -46494,7 +46528,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old nubian) => [
-      q(5280),
+      q(5279),
       q(0),
       ],
    q(old occitan (to 1500)) => [
@@ -46502,7 +46536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(old ossetic) => [
-      q(5286),
+      q(5285),
       q(0),
       ],
    q(old persian (ca. 600-400 b.c.)) => [
@@ -46514,11 +46548,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old russian) => [
-      q(5304),
+      q(5303),
       q(0),
       ],
    q(old saxon) => [
-      q(5315),
+      q(5314),
       q(0),
       ],
    q(old slavonic) => [
@@ -46526,103 +46560,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old spanish) => [
-      q(5312),
+      q(5311),
       q(0),
       ],
    q(old tamil) => [
-      q(5331),
+      q(5330),
       q(0),
       ],
    q(old tibetan) => [
-      q(5316),
+      q(5315),
       q(0),
       ],
    q(old turkish) => [
-      q(5320),
+      q(5319),
       q(0),
       ],
    q(old uighur) => [
-      q(5336),
+      q(5335),
       q(0),
       ],
    q(old welsh) => [
-      q(5339),
+      q(5338),
       q(0),
       ],
    q(olekha) => [
-      q(5244),
+      q(5243),
       q(0),
       ],
    q(olkol) => [
-      q(5245),
+      q(5244),
       q(0),
       ],
    q(olo) => [
-      q(5269),
+      q(5268),
       q(0),
       ],
    q(oloma) => [
-      q(5246),
+      q(5245),
       q(0),
       ],
    q(olrat) => [
-      q(5248),
+      q(5247),
       q(0),
       ],
    q(olu'bo) => [
-      q(4082),
+      q(4081),
       q(0),
       ],
    q(olukhayo) => [
-      q(3949),
+      q(3948),
       q(1),
       ],
    q(olulumo-ikom) => [
-      q(2943),
+      q(2942),
       q(0),
       ],
    q(oluluyia) => [
-      q(4091),
+      q(4090),
       q(1),
       ],
    q(olumarachi) => [
-      q(4045),
+      q(4044),
       q(1),
       ],
    q(olumarama) => [
-      q(4048),
+      q(4047),
       q(1),
       ],
    q(olunyole) => [
-      q(5157),
+      q(5156),
       q(1),
       ],
    q(olusamia) => [
-      q(4062),
+      q(4061),
       q(1),
       ],
    q(olushisa) => [
-      q(3951),
+      q(3950),
       q(1),
       ],
    q(oluta popoluca) => [
-      q(5496),
+      q(5495),
       q(0),
       ],
    q(olutsotso) => [
-      q(4073),
+      q(4072),
       q(1),
       ],
    q(oluwanga) => [
-      q(4099),
+      q(4098),
       q(1),
       ],
    q(omagua) => [
-      q(5254),
+      q(5253),
       q(0),
       ],
    q(omaha-ponca) => [
-      q(5250),
+      q(5249),
       q(0),
       ],
    q(omani arabic) => [
@@ -46630,23 +46664,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ombamba) => [
-      q(4138),
+      q(4137),
       q(0),
       ],
    q(ombo) => [
-      q(5257),
+      q(5256),
       q(0),
       ],
    q(omejes) => [
-      q(5253),
+      q(5252),
       q(0),
       ],
    q(ometepec nahuatl) => [
-      q(4875),
+      q(4874),
       q(0),
       ],
    q(omi) => [
-      q(5255),
+      q(5254),
       q(0),
       ],
    q(omie) => [
@@ -46654,7 +46688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(omok) => [
-      q(5256),
+      q(5255),
       q(0),
       ],
    q(omotic languages) => [
@@ -46662,35 +46696,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(omotik) => [
-      q(5262),
+      q(5261),
       q(0),
       ],
    q(omurano) => [
-      q(5263),
+      q(5262),
       q(0),
       ],
    q(ona) => [
-      q(5266),
+      q(5265),
       q(0),
       ],
    q(oneida) => [
-      q(5268),
+      q(5267),
       q(0),
       ],
    q(ong) => [
-      q(5283),
+      q(5282),
       q(0),
       ],
    q(onge) => [
-      q(5284),
+      q(5283),
       q(0),
       ],
    q(onin) => [
-      q(5270),
+      q(5269),
       q(0),
       ],
    q(onin based pidgin) => [
-      q(5281),
+      q(5280),
       q(0),
       ],
    q(oniyan) => [
@@ -46698,63 +46732,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(onjob) => [
-      q(5271),
+      q(5270),
       q(0),
       ],
    q(ono) => [
-      q(5277),
+      q(5276),
       q(0),
       ],
    q(onobasulu) => [
-      q(5273),
+      q(5272),
       q(0),
       ],
    q(onondaga) => [
-      q(5274),
+      q(5273),
       q(0),
       ],
    q(ontenu) => [
-      q(5278),
+      q(5277),
       q(0),
       ],
    q(ontong java) => [
-      q(5222),
+      q(5221),
       q(0),
       ],
    q(oorlams) => [
-      q(5285),
+      q(5284),
       q(0),
       ],
    q(opao) => [
-      q(5290),
+      q(5289),
       q(0),
       ],
    q(opata) => [
-      q(5291),
+      q(5290),
       q(0),
       ],
    q(opuuo) => [
-      q(3893),
+      q(3892),
       q(0),
       ],
    q(orang kanaq) => [
-      q(5298),
+      q(5297),
       q(0),
       ],
    q(orang seletar) => [
-      q(5301),
+      q(5300),
       q(0),
       ],
    q(oraon sadri) => [
-      q(5956),
+      q(5955),
       q(0),
       ],
    q(orejon) => [
-      q(5295),
+      q(5294),
       q(0),
       ],
    q(oring) => [
-      q(5296),
+      q(5295),
       q(0),
       ],
    q(oriya) => [
@@ -46762,7 +46796,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(oriya (individual language)) => [
-      q(5307),
+      q(5306),
       q(0),
       ],
    q(oriya (macrolanguage)) => [
@@ -46770,43 +46804,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(orizaba nahuatl) => [
-      q(4956),
+      q(4955),
       q(0),
       ],
    q(orma) => [
-      q(5294),
+      q(5293),
       q(0),
       ],
    q(ormu) => [
-      q(5308),
+      q(5307),
       q(0),
       ],
    q(ormuri) => [
-      q(5303),
+      q(5302),
       q(0),
       ],
    q(oro) => [
-      q(5306),
+      q(5305),
       q(0),
       ],
    q(oro win) => [
-      q(5305),
+      q(5304),
       q(0),
       ],
    q(oroch) => [
-      q(5185),
+      q(5184),
       q(0),
       ],
    q(oroha) => [
-      q(5293),
+      q(5292),
       q(0),
       ],
    q(orok) => [
-      q(5184),
+      q(5183),
       q(0),
       ],
    q(orokaiva) => [
-      q(5240),
+      q(5239),
       q(0),
       ],
    q(oroko) => [
@@ -46814,7 +46848,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(orokolo) => [
-      q(5299),
+      q(5298),
       q(0),
       ],
    q(oromo) => [
@@ -46822,7 +46856,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(oroqen) => [
-      q(5297),
+      q(5296),
       q(0),
       ],
    q(orowe) => [
@@ -46830,11 +46864,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(oruma) => [
-      q(5300),
+      q(5299),
       q(0),
       ],
    q(orya) => [
-      q(6945),
+      q(6944),
       q(0),
       ],
    q(osage) => [
@@ -46842,19 +46876,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(osatu) => [
-      q(5313),
+      q(5312),
       q(0),
       ],
    q(oscan) => [
-      q(5309),
+      q(5308),
       q(0),
       ],
    q(osing) => [
-      q(5310),
+      q(5309),
       q(0),
       ],
    q(ososo) => [
-      q(5311),
+      q(5310),
       q(0),
       ],
    q(ossetian) => [
@@ -46866,15 +46900,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(ot danum) => [
-      q(5317),
+      q(5316),
       q(0),
       ],
    q(otank) => [
-      q(6953),
+      q(6952),
       q(0),
       ],
    q(oti) => [
-      q(5319),
+      q(5318),
       q(0),
       ],
    q(oto-manguean languages) => [
@@ -46886,11 +46920,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(otoro) => [
-      q(5325),
+      q(5324),
       q(0),
       ],
    q(ottawa) => [
-      q(5329),
+      q(5328),
       q(0),
       ],
    q(ottoman turkish (1500-1928)) => [
@@ -46898,43 +46932,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(otuho) => [
-      q(4030),
+      q(4029),
       q(0),
       ],
    q(otuke) => [
-      q(5328),
+      q(5327),
       q(0),
       ],
    q(ouma) => [
-      q(5337),
+      q(5336),
       q(0),
       ],
    q(oune) => [
-      q(5335),
+      q(5334),
       q(0),
       ],
    q(owa) => [
-      q(6265),
+      q(6264),
       q(0),
       ],
    q(owenia) => [
-      q(7235),
+      q(7234),
       q(0),
       ],
    q(owiniga) => [
-      q(5338),
+      q(5337),
       q(0),
       ],
    q(oy) => [
-      q(5340),
+      q(5339),
       q(0),
       ],
    q(oya'oya) => [
-      q(5343),
+      q(5342),
       q(0),
       ],
    q(oyda) => [
-      q(5341),
+      q(5340),
       q(0),
       ],
    q(ozolotepec zapotec) => [
@@ -46946,11 +46980,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pa di) => [
-      q(5398),
+      q(5397),
       q(0),
       ],
    q(pa'a) => [
-      q(5584),
+      q(5583),
       q(0),
       ],
    q(pa'o) => [
@@ -46962,11 +46996,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pa-hng) => [
-      q(5434),
+      q(5433),
       q(0),
       ],
    q(paafang) => [
-      q(5422),
+      q(5421),
       q(0),
       ],
    q(paakantyi) => [
@@ -46974,19 +47008,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(paama) => [
-      q(5507),
+      q(5506),
       q(0),
       ],
    q(paasaal) => [
-      q(6037),
+      q(6036),
       q(0),
       ],
    q(pacahuara) => [
-      q(5394),
+      q(5393),
       q(0),
       ],
    q(pacaraos quechua) => [
-      q(5709),
+      q(5708),
       q(0),
       ],
    q(pacific gulf yupik) => [
@@ -46994,35 +47028,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pacoh) => [
-      q(5346),
+      q(5345),
       q(0),
       ],
    q(padoe) => [
-      q(5400),
+      q(5399),
       q(0),
       ],
    q(paekche) => [
-      q(5475),
+      q(5474),
       q(0),
       ],
    q(paelignian) => [
-      q(5431),
+      q(5430),
       q(0),
       ],
    q(paez) => [
-      q(5363),
+      q(5362),
       q(0),
       ],
    q(pagi) => [
-      q(5428),
+      q(5427),
       q(0),
       ],
    q(pagibete) => [
-      q(5348),
+      q(5347),
       q(0),
       ],
    q(pagu) => [
-      q(5433),
+      q(5432),
       q(0),
       ],
    q(pahanan agta) => [
@@ -47030,15 +47064,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pahari-potwari) => [
-      q(5443),
+      q(5442),
       q(0),
       ],
    q(pahi) => [
-      q(3896),
+      q(3895),
       q(0),
       ],
    q(pahlavani) => [
-      q(5446),
+      q(5445),
       q(0),
       ],
    q(pahlavi) => [
@@ -47046,47 +47080,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pai tavytera) => [
-      q(5627),
+      q(5626),
       q(0),
       ],
    q(paici) => [
-      q(5593),
+      q(5592),
       q(0),
       ],
    q(paipai) => [
-      q(5573),
+      q(5572),
       q(0),
       ],
    q(paite chin) => [
-      q(5390),
+      q(5389),
       q(0),
       ],
    q(paiwan) => [
-      q(5665),
+      q(5664),
       q(0),
       ],
    q(pak-tong) => [
-      q(5476),
+      q(5475),
       q(0),
       ],
    q(pakaasnovos) => [
-      q(5358),
+      q(5357),
       q(0),
       ],
    q(pakanha) => [
-      q(5478),
+      q(5477),
       q(0),
       ],
    q(pakistan sign language) => [
-      q(5482),
+      q(5481),
       q(0),
       ],
    q(paku) => [
-      q(5484),
+      q(5483),
       q(0),
       ],
    q(paku karen) => [
-      q(3111),
+      q(3110),
       q(0),
       ],
    q(pal) => [
@@ -47094,11 +47128,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(palaic) => [
-      q(5498),
+      q(5497),
       q(0),
       ],
    q(palaka senoufo) => [
-      q(5499),
+      q(5498),
       q(0),
       ],
    q(palantla chinantec) => [
@@ -47110,11 +47144,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(paleni) => [
-      q(5538),
+      q(5537),
       q(0),
       ],
    q(palenquero) => [
-      q(5495),
+      q(5494),
       q(0),
       ],
    q(pali) => [
@@ -47122,15 +47156,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(palikur) => [
-      q(5502),
+      q(5501),
       q(0),
       ],
    q(paliyan) => [
-      q(5385),
+      q(5384),
       q(0),
       ],
    q(pallanganmiddang) => [
-      q(5510),
+      q(5509),
       q(0),
       ],
    q(palor) => [
@@ -47138,23 +47172,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(palpa) => [
-      q(5497),
+      q(5496),
       q(0),
       ],
    q(palu'e) => [
-      q(5489),
+      q(5488),
       q(0),
       ],
    q(paluan) => [
-      q(5506),
+      q(5505),
       q(0),
       ],
    q(palula) => [
-      q(5439),
+      q(5438),
       q(1),
       ],
    q(palumata) => [
-      q(5509),
+      q(5508),
       q(0),
       ],
    q(palya bareli) => [
@@ -47162,23 +47196,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pam) => [
-      q(5519),
+      q(5518),
       q(0),
       ],
    q(pambia) => [
-      q(5508),
+      q(5507),
       q(0),
       ],
    q(pamlico) => [
-      q(5516),
+      q(5515),
       q(0),
       ],
    q(pamona) => [
-      q(5512),
+      q(5511),
       q(0),
       ],
    q(pamosu) => [
-      q(2758),
+      q(2757),
       q(0),
       ],
    q(pampanga) => [
@@ -47190,43 +47224,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pana (burkina faso)) => [
-      q(5543),
+      q(5542),
       q(0),
       ],
    q(pana (central african republic)) => [
-      q(5552),
+      q(5551),
       q(0),
       ],
    q(panamanian sign language) => [
-      q(4064),
+      q(4063),
       q(0),
       ],
    q(panamint) => [
-      q(5355),
+      q(5354),
       q(0),
       ],
    q(panao huanuco quechua) => [
-      q(5722),
+      q(5721),
       q(0),
       ],
    q(panara) => [
-      q(3576),
+      q(3575),
       q(0),
       ],
    q(panasuan) => [
-      q(5617),
+      q(5616),
       q(0),
       ],
    q(panawa) => [
-      q(5661),
+      q(5660),
       q(0),
       ],
    q(pancana) => [
-      q(5542),
+      q(5541),
       q(0),
       ],
    q(panchpargania) => [
-      q(6428),
+      q(6427),
       q(0),
       ],
    q(pande) => [
@@ -47238,27 +47272,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pangseng) => [
-      q(5432),
+      q(5431),
       q(0),
       ],
    q(pangutaran sama) => [
-      q(6103),
+      q(6102),
       q(0),
       ],
    q(pangwa) => [
-      q(5374),
+      q(5373),
       q(0),
       ],
    q(pangwali) => [
-      q(5427),
+      q(5426),
       q(0),
       ],
    q(panim) => [
-      q(5544),
+      q(5543),
       q(0),
       ],
    q(paniya) => [
-      q(5386),
+      q(5385),
       q(0),
       ],
    q(panjabi) => [
@@ -47266,31 +47300,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pankarare) => [
-      q(5360),
+      q(5359),
       q(0),
       ],
    q(pankararu) => [
-      q(5362),
+      q(5361),
       q(0),
       ],
    q(pankhu) => [
-      q(5477),
+      q(5476),
       q(0),
       ],
    q(pannei) => [
-      q(5531),
+      q(5530),
       q(0),
       ],
    q(pano) => [
-      q(4504),
+      q(4503),
       q(0),
       ],
    q(panoan katukina) => [
-      q(3497),
+      q(3496),
       q(0),
       ],
    q(panobo) => [
-      q(5541),
+      q(5540),
       q(0),
       ],
    q(panyi bai) => [
@@ -47298,19 +47332,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(panytyima) => [
-      q(5549),
+      q(5548),
       q(0),
       ],
    q(pao) => [
-      q(5571),
+      q(5570),
       q(0),
       ],
    q(papantla totonac) => [
-      q(6645),
+      q(6644),
       q(0),
       ],
    q(papapana) => [
-      q(5577),
+      q(5576),
       q(0),
       ],
    q(papar) => [
@@ -47318,15 +47352,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(papasena) => [
-      q(5356),
+      q(5355),
       q(0),
       ],
    q(papel) => [
-      q(5372),
+      q(5371),
       q(0),
       ],
    q(papi) => [
-      q(5572),
+      q(5571),
       q(0),
       ],
    q(papiamento) => [
@@ -47334,11 +47368,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(papitalai) => [
-      q(5357),
+      q(5356),
       q(0),
       ],
    q(papora) => [
-      q(5583),
+      q(5582),
       q(0),
       ],
    q(papuan languages) => [
@@ -47346,11 +47380,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(papuan malay) => [
-      q(5527),
+      q(5526),
       q(0),
       ],
    q(papuma) => [
-      q(5576),
+      q(5575),
       q(0),
       ],
    q(para arara) => [
@@ -47358,95 +47392,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(para gaviao) => [
-      q(2675),
+      q(2674),
       q(0),
       ],
    q(para naga) => [
-      q(5677),
+      q(5676),
       q(0),
       ],
    q(parachi) => [
-      q(5587),
+      q(5586),
       q(0),
       ],
    q(paraguayan guarani) => [
-      q(2648),
+      q(2647),
       q(0),
       ],
    q(paraguayan sign language) => [
-      q(5673),
+      q(5672),
       q(0),
       ],
    q(parakana) => [
-      q(5352),
+      q(5351),
       q(0),
       ],
    q(paranan) => [
-      q(5590),
+      q(5589),
       q(0),
       ],
    q(paranawat) => [
-      q(5349),
+      q(5348),
       q(0),
       ],
    q(paraujano) => [
-      q(5367),
+      q(5366),
       q(0),
       ],
    q(parauk) => [
-      q(5594),
+      q(5593),
       q(0),
       ],
    q(parawen) => [
-      q(5604),
+      q(5603),
       q(0),
       ],
    q(pardhan) => [
-      q(5387),
+      q(5386),
       q(0),
       ],
    q(pardhi) => [
-      q(5391),
+      q(5390),
       q(0),
       ],
    q(pare) => [
-      q(5582),
+      q(5581),
       q(0),
       ],
    q(parecis) => [
-      q(5345),
+      q(5344),
       q(0),
       ],
    q(parenga) => [
-      q(5389),
+      q(5388),
       q(0),
       ],
    q(pari) => [
-      q(3950),
+      q(3949),
       q(0),
       ],
    q(parkari koli) => [
-      q(3689),
+      q(3688),
       q(0),
       ],
    q(parkwa) => [
-      q(5369),
+      q(5368),
       q(0),
       ],
    q(parsi) => [
-      q(5598),
+      q(5597),
       q(0),
       ],
    q(parsi-dari) => [
-      q(5588),
+      q(5587),
       q(0),
       ],
    q(parthian) => [
-      q(7468),
+      q(7467),
       q(0),
       ],
    q(parya) => [
-      q(5354),
+      q(5353),
       q(0),
       ],
    q(pashto) => [
@@ -47454,31 +47488,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(pasi) => [
-      q(5620),
+      q(5619),
       q(0),
       ],
    q(pass valley yali) => [
-      q(7576),
+      q(7575),
       q(0),
       ],
    q(patamona) => [
-      q(5364),
+      q(5363),
       q(0),
       ],
    q(patani) => [
-      q(5630),
+      q(5629),
       q(0),
       ],
    q(pataxo ha-ha-hae) => [
-      q(5628),
+      q(5627),
       q(0),
       ],
    q(patep) => [
-      q(5632),
+      q(5631),
       q(0),
       ],
    q(pathiya) => [
-      q(5639),
+      q(5638),
       q(0),
       ],
    q(patpatar) => [
@@ -47486,31 +47520,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pattani) => [
-      q(3795),
+      q(3794),
       q(0),
       ],
    q(pattani malay) => [
-      q(4224),
+      q(4223),
       q(0),
       ],
    q(pattapu) => [
-      q(5633),
+      q(5632),
       q(0),
       ],
    q(patwin) => [
-      q(5663),
+      q(5662),
       q(0),
       ],
    q(paulohi) => [
-      q(5491),
+      q(5490),
       q(0),
       ],
    q(paumari) => [
-      q(5347),
+      q(5346),
       q(0),
       ],
    q(paunaka) => [
-      q(5537),
+      q(5536),
       q(0),
       ],
    q(pauri bareli) => [
@@ -47518,35 +47552,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pauserna) => [
-      q(5616),
+      q(5615),
       q(0),
       ],
    q(pawaia) => [
-      q(5660),
+      q(5659),
       q(0),
       ],
    q(pawnee) => [
-      q(5359),
+      q(5358),
       q(0),
       ],
    q(paynamar) => [
-      q(5522),
+      q(5521),
       q(0),
       ],
    q(pe) => [
-      q(5351),
+      q(5350),
       q(0),
       ],
    q(pear) => [
-      q(5381),
+      q(5380),
       q(0),
       ],
    q(pech) => [
-      q(5361),
+      q(5360),
       q(0),
       ],
    q(pecheneg) => [
-      q(7457),
+      q(7456),
       q(0),
       ],
    q(pedi) => [
@@ -47554,15 +47588,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(peere) => [
-      q(5423),
+      q(5422),
       q(0),
       ],
    q(pei) => [
-      q(5580),
+      q(5579),
       q(0),
       ],
    q(pekal) => [
-      q(5413),
+      q(5412),
       q(0),
       ],
    q(pela) => [
@@ -47574,7 +47608,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pelende) => [
-      q(5579),
+      q(5578),
       q(0),
       ],
    q(pemon) => [
@@ -47582,55 +47616,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pemono) => [
-      q(5418),
+      q(5417),
       q(0),
       ],
    q(penang sign language) => [
-      q(5612),
+      q(5611),
       q(0),
       ],
    q(penchal) => [
-      q(5412),
+      q(5411),
       q(0),
       ],
    q(pendau) => [
-      q(6911),
+      q(6910),
       q(0),
       ],
    q(pengo) => [
-      q(5408),
+      q(5407),
       q(0),
       ],
    q(pennsylvania german) => [
-      q(5397),
+      q(5396),
       q(0),
       ],
    q(penoles mixtec) => [
-      q(4308),
+      q(4307),
       q(0),
       ],
    q(penrhyn) => [
-      q(5534),
+      q(5533),
       q(0),
       ],
    q(pentlatch) => [
-      q(5638),
+      q(5637),
       q(0),
       ],
    q(perai) => [
-      q(7111),
+      q(7110),
       q(0),
       ],
    q(peranakan indonesian) => [
-      q(5403),
+      q(5402),
       q(0),
       ],
    q(peripheral mongolian) => [
-      q(4604),
+      q(4603),
       q(0),
       ],
    q(pero) => [
-      q(5462),
+      q(5461),
       q(0),
       ],
    q(persian) => [
@@ -47638,7 +47672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(persian sign language) => [
-      q(5609),
+      q(5608),
       q(0),
       ],
    q(persian, old (ca.600-400 b.c.)) => [
@@ -47646,7 +47680,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(peruvian sign language) => [
-      q(5595),
+      q(5594),
       q(0),
       ],
    q(petapa zapotec) => [
@@ -47654,27 +47688,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(petats) => [
-      q(5419),
+      q(5418),
       q(0),
       ],
    q(petjo) => [
-      q(5420),
+      q(5419),
       q(0),
       ],
    q(peve) => [
-      q(3979),
+      q(3978),
       q(0),
       ],
    q(pfaelzisch) => [
-      q(5424),
+      q(5423),
       q(0),
       ],
    q(phai) => [
-      q(5602),
+      q(5601),
       q(0),
       ],
    q(phake) => [
-      q(5438),
+      q(5437),
       q(0),
       ],
    q(phala) => [
@@ -47682,19 +47716,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(phalura) => [
-      q(5439),
+      q(5438),
       q(0),
       ],
    q(phana') => [
-      q(5442),
+      q(5441),
       q(0),
       ],
    q(phangduwali) => [
-      q(5447),
+      q(5446),
       q(0),
       ],
    q(phende) => [
-      q(5414),
+      q(5413),
       q(0),
       ],
    q(philippine languages) => [
@@ -47702,11 +47736,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(philippine sign language) => [
-      q(5619),
+      q(5618),
       q(0),
       ],
    q(phimbi) => [
-      q(5440),
+      q(5439),
       q(0),
       ],
    q(phoenician) => [
@@ -47722,39 +47756,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(phom naga) => [
-      q(5034),
+      q(5033),
       q(0),
       ],
    q(phong-kniang) => [
-      q(5550),
+      q(5549),
       q(0),
       ],
    q(phrae pwo karen) => [
-      q(3396),
+      q(3395),
       q(0),
       ],
    q(phrygian) => [
-      q(7459),
+      q(7458),
       q(0),
       ],
    q(phu thai) => [
-      q(5444),
+      q(5443),
       q(0),
       ],
    q(phuan) => [
-      q(5445),
+      q(5444),
       q(0),
       ],
    q(phudagi) => [
-      q(5435),
+      q(5434),
       q(0),
       ],
    q(phuie) => [
-      q(5646),
+      q(5645),
       q(0),
       ],
    q(phukha) => [
-      q(5437),
+      q(5436),
       q(0),
       ],
    q(phuma) => [
@@ -47762,11 +47796,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(phunoi) => [
-      q(5441),
+      q(5440),
       q(0),
       ],
    q(phuong) => [
-      q(5436),
+      q(5435),
       q(0),
       ],
    q(phupa) => [
@@ -47782,23 +47816,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(piamatsina) => [
-      q(5634),
+      q(5633),
       q(0),
       ],
    q(piame) => [
-      q(5460),
+      q(5459),
       q(0),
       ],
    q(piapoco) => [
-      q(5461),
+      q(5460),
       q(0),
       ],
    q(piaroa) => [
-      q(5451),
+      q(5450),
       q(0),
       ],
    q(picard) => [
-      q(5383),
+      q(5382),
       q(0),
       ],
    q(pichis asheninka) => [
@@ -47806,7 +47840,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pictish) => [
-      q(7460),
+      q(7459),
       q(0),
       ],
    q(pidgin delaware) => [
@@ -47814,27 +47848,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(piemontese) => [
-      q(5523),
+      q(5522),
       q(0),
       ],
    q(pijao) => [
-      q(5457),
+      q(5456),
       q(0),
       ],
    q(pije) => [
-      q(5471),
+      q(5470),
       q(0),
       ],
    q(pijin) => [
-      q(5464),
+      q(5463),
       q(0),
       ],
    q(pilaga) => [
-      q(5490),
+      q(5489),
       q(0),
       ],
    q(pileni) => [
-      q(5467),
+      q(5466),
       q(0),
       ],
    q(pilipino) => [
@@ -47842,63 +47876,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(pima bajo) => [
-      q(5448),
+      q(5447),
       q(0),
       ],
    q(pimbwe) => [
-      q(5468),
+      q(5467),
       q(0),
       ],
    q(pinai-hagahai) => [
-      q(5540),
+      q(5539),
       q(0),
       ],
    q(pingelapese) => [
-      q(5453),
+      q(5452),
       q(0),
       ],
    q(pini) => [
-      q(5456),
+      q(5455),
       q(0),
       ],
    q(pinigura) => [
-      q(5548),
+      q(5547),
       q(0),
       ],
    q(pinjarup) => [
-      q(5536),
+      q(5535),
       q(0),
       ],
    q(pinji) => [
-      q(5450),
+      q(5449),
       q(0),
       ],
    q(pinotepa nacional mixtec) => [
-      q(4310),
+      q(4309),
       q(0),
       ],
    q(pintiini) => [
-      q(5629),
+      q(5628),
       q(0),
       ],
    q(pintupi-luritja) => [
-      q(5466),
+      q(5465),
       q(0),
       ],
    q(pinyin) => [
-      q(5551),
+      q(5550),
       q(0),
       ],
    q(pipil) => [
-      q(5575),
+      q(5574),
       q(0),
       ],
    q(piraha) => [
-      q(4685),
+      q(4684),
       q(0),
       ],
    q(piratapuyo) => [
-      q(5463),
+      q(5462),
       q(0),
       ],
    q(pirlatapa) => [
@@ -47906,55 +47940,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(piro) => [
-      q(5452),
+      q(5451),
       q(0),
       ],
    q(pirriya) => [
-      q(7456),
+      q(7455),
       q(0),
       ],
    q(pisabo) => [
-      q(5454),
+      q(5453),
       q(0),
       ],
    q(pisaflores tepehua) => [
-      q(6666),
+      q(6665),
       q(0),
       ],
    q(piscataway) => [
-      q(5626),
+      q(5625),
       q(0),
       ],
    q(pisidian) => [
-      q(7469),
+      q(7468),
       q(0),
       ],
    q(pitcairn-norfolk) => [
-      q(5455),
+      q(5454),
       q(0),
       ],
    q(pite sami) => [
-      q(6057),
+      q(6056),
       q(0),
       ],
    q(piti) => [
-      q(5393),
+      q(5392),
       q(0),
       ],
    q(pitjantjatjara) => [
-      q(5472),
+      q(5471),
       q(0),
       ],
    q(pitta pitta) => [
-      q(5465),
+      q(5464),
       q(0),
       ],
    q(piu) => [
-      q(5469),
+      q(5468),
       q(0),
       ],
    q(piya-kwonci) => [
-      q(5470),
+      q(5469),
       q(0),
       ],
    q(plains cree) => [
@@ -47962,47 +47996,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(plains indian sign language) => [
-      q(5610),
+      q(5609),
       q(0),
       ],
    q(plains miwok) => [
-      q(5525),
+      q(5524),
       q(0),
       ],
    q(plapo krumen) => [
-      q(3628),
+      q(3627),
       q(0),
       ],
    q(plateau malagasy) => [
-      q(5501),
+      q(5500),
       q(0),
       ],
    q(plautdietsch) => [
-      q(5401),
+      q(5400),
       q(0),
       ],
    q(playero) => [
-      q(2586),
+      q(2585),
       q(0),
       ],
    q(pnar) => [
-      q(5378),
+      q(5377),
       q(0),
       ],
    q(pochuri naga) => [
-      q(5038),
+      q(5037),
       q(0),
       ],
    q(pochutec) => [
-      q(7465),
+      q(7464),
       q(0),
       ],
    q(podena) => [
-      q(5399),
+      q(5398),
       q(0),
       ],
    q(pogolo) => [
-      q(5570),
+      q(5569),
       q(0),
       ],
    q(pohnpeian) => [
@@ -48010,31 +48044,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pokanga) => [
-      q(5560),
+      q(5559),
       q(0),
       ],
    q(poke) => [
-      q(5556),
+      q(5555),
       q(0),
       ],
    q(pokomo) => [
-      q(5474),
+      q(5473),
       q(0),
       ],
    q(pokoot) => [
-      q(5479),
+      q(5478),
       q(0),
       ],
    q(polabian) => [
-      q(5569),
+      q(5568),
       q(0),
       ],
    q(polari) => [
-      q(5488),
+      q(5487),
       q(0),
       ],
    q(polci) => [
-      q(5492),
+      q(5491),
       q(0),
       ],
    q(polish) => [
@@ -48042,67 +48076,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(polish sign language) => [
-      q(5618),
+      q(5617),
       q(0),
       ],
    q(polonombauk) => [
-      q(5486),
+      q(5485),
       q(0),
       ],
    q(pom) => [
-      q(5520),
+      q(5519),
       q(0),
       ],
    q(pomo) => [
-      q(5518),
+      q(5517),
       q(0),
       ],
    q(ponam) => [
-      q(4763),
+      q(4762),
       q(0),
       ],
    q(ponares) => [
-      q(5554),
+      q(5553),
       q(0),
       ],
    q(pongu) => [
-      q(5533),
+      q(5532),
       q(0),
       ],
    q(ponosakan) => [
-      q(5545),
+      q(5544),
       q(0),
       ],
    q(pontic) => [
-      q(5546),
+      q(5545),
       q(0),
       ],
    q(ponyo-gongwang naga) => [
-      q(5033),
+      q(5032),
       q(0),
       ],
    q(popti') => [
-      q(3042),
+      q(3041),
       q(0),
       ],
    q(poqomam) => [
-      q(5553),
+      q(5552),
       q(0),
       ],
    q(poqomchi') => [
-      q(5558),
+      q(5557),
       q(0),
       ],
    q(porohanon) => [
-      q(5592),
+      q(5591),
       q(0),
       ],
    q(port sandwich) => [
-      q(5625),
+      q(5624),
       q(0),
       ],
    q(port vato) => [
-      q(5637),
+      q(5636),
       q(0),
       ],
    q(portuguese) => [
@@ -48110,7 +48144,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(portuguese sign language) => [
-      q(5621),
+      q(5620),
       q(0),
       ],
    q(portuguese-based creoles and pidgins) => [
@@ -48118,11 +48152,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(potawatomi) => [
-      q(5566),
+      q(5565),
       q(0),
       ],
    q(potiguara) => [
-      q(5557),
+      q(5556),
       q(0),
       ],
    q(pottangi ollar gadaba) => [
@@ -48130,11 +48164,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(poule) => [
-      q(4540),
+      q(4539),
       q(1),
       ],
    q(poumei naga) => [
-      q(5526),
+      q(5525),
       q(0),
       ],
    q(pouye) => [
@@ -48142,15 +48176,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(powari) => [
-      q(5667),
+      q(5666),
       q(0),
       ],
    q(powhatan) => [
-      q(5459),
+      q(5458),
       q(0),
       ],
    q(poyanawa) => [
-      q(5672),
+      q(5671),
       q(0),
       ],
    q(prakrit languages) => [
@@ -48158,19 +48192,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(prasuni) => [
-      q(5597),
+      q(5596),
       q(0),
       ],
    q(pray 3) => [
-      q(5606),
+      q(5605),
       q(0),
       ],
    q(primitive irish) => [
-      q(5430),
+      q(5429),
       q(0),
       ],
    q(principense) => [
-      q(5589),
+      q(5588),
       q(0),
       ],
    q(provencal) => [
@@ -48182,19 +48216,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(providencia sign language) => [
-      q(5607),
+      q(5606),
       q(0),
       ],
    q(prussian) => [
-      q(5591),
+      q(5590),
       q(0),
       ],
    q(psikye) => [
-      q(3675),
+      q(3674),
       q(0),
       ],
    q(pu ko) => [
-      q(5649),
+      q(5648),
       q(0),
       ],
    q(pu-xian chinese) => [
@@ -48202,7 +48236,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(puare) => [
-      q(5658),
+      q(5657),
       q(0),
       ],
    q(pudtol atta) => [
@@ -48210,23 +48244,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(puelche) => [
-      q(5644),
+      q(5643),
       q(0),
       ],
    q(puerto rican sign language) => [
-      q(5615),
+      q(5614),
       q(0),
       ],
    q(puimei naga) => [
-      q(5040),
+      q(5039),
       q(0),
       ],
    q(puinave) => [
-      q(5647),
+      q(5646),
       q(0),
       ],
    q(pukapuka) => [
-      q(5480),
+      q(5479),
       q(0),
       ],
    q(pulaar) => [
@@ -48234,7 +48268,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pulabu) => [
-      q(5652),
+      q(5651),
       q(0),
       ],
    q(pular) => [
@@ -48242,47 +48276,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(puluwatese) => [
-      q(5657),
+      q(5656),
       q(0),
       ],
    q(puma) => [
-      q(5650),
+      q(5649),
       q(0),
       ],
    q(pume) => [
-      q(7578),
+      q(7577),
       q(0),
       ],
    q(pumpokol) => [
-      q(7463),
+      q(7462),
       q(0),
       ],
    q(punan aput) => [
-      q(5643),
+      q(5642),
       q(0),
       ],
    q(punan bah-biau) => [
-      q(5529),
+      q(5528),
       q(0),
       ],
    q(punan batu 1) => [
-      q(5539),
+      q(5538),
       q(0),
       ],
    q(punan merah) => [
-      q(5645),
+      q(5644),
       q(0),
       ],
    q(punan merap) => [
-      q(5642),
+      q(5641),
       q(0),
       ],
    q(punan tubu) => [
-      q(5648),
+      q(5647),
       q(0),
       ],
    q(punic) => [
-      q(7471),
+      q(7470),
       q(0),
       ],
    q(punjabi) => [
@@ -48290,59 +48324,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(puno quechua) => [
-      q(5726),
+      q(5725),
       q(0),
       ],
    q(punthamara) => [
-      q(7470),
+      q(7469),
       q(0),
       ],
    q(punu) => [
-      q(5656),
+      q(5655),
       q(0),
       ],
    q(puoc) => [
-      q(5651),
+      q(5650),
       q(0),
       ],
    q(puquina) => [
-      q(5653),
+      q(5652),
       q(0),
       ],
    q(puragi) => [
-      q(5603),
+      q(5602),
       q(0),
       ],
    q(purari) => [
-      q(2887),
+      q(2886),
       q(0),
       ],
    q(purepecha) => [
-      q(6733),
+      q(6732),
       q(0),
       ],
    q(puri) => [
-      q(5600),
+      q(5599),
       q(0),
       ],
    q(purik) => [
-      q(5605),
+      q(5604),
       q(0),
       ],
    q(purisimeno) => [
-      q(5659),
+      q(5658),
       q(0),
       ],
    q(puroik) => [
-      q(6286),
+      q(6285),
       q(0),
       ],
    q(purubora) => [
-      q(5654),
+      q(5653),
       q(0),
       ],
    q(purum) => [
-      q(5641),
+      q(5640),
       q(0),
       ],
    q(pushto) => [
@@ -48350,11 +48384,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(putai) => [
-      q(4235),
+      q(4234),
       q(0),
       ],
    q(putoh) => [
-      q(5655),
+      q(5654),
       q(0),
       ],
    q(putukwam) => [
@@ -48362,63 +48396,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(puyo) => [
-      q(7472),
+      q(7471),
       q(0),
       ],
    q(puyo-paekche) => [
-      q(7466),
+      q(7465),
       q(0),
       ],
    q(puyuma) => [
-      q(5674),
+      q(5673),
       q(0),
       ],
    q(pwaamei) => [
-      q(5511),
+      q(5510),
       q(0),
       ],
    q(pwapwa) => [
-      q(5563),
+      q(5562),
       q(0),
       ],
    q(pwo eastern karen) => [
-      q(3392),
+      q(3391),
       q(0),
       ],
    q(pwo northern karen) => [
-      q(5668),
+      q(5667),
       q(0),
       ],
    q(pwo western karen) => [
-      q(5666),
+      q(5665),
       q(0),
       ],
    q(pyapun) => [
-      q(5395),
+      q(5394),
       q(0),
       ],
    q(pye krumen) => [
-      q(5670),
+      q(5669),
       q(0),
       ],
    q(pyen) => [
-      q(5676),
+      q(5675),
       q(0),
       ],
    q(pyu (myanmar)) => [
-      q(5675),
+      q(5674),
       q(0),
       ],
    q(pyu (papua new guinea)) => [
-      q(5379),
+      q(5378),
       q(0),
       ],
    q(q'anjob'al) => [
-      q(3378),
+      q(3377),
       q(0),
       ],
    q(qabiao) => [
-      q(3804),
+      q(3803),
       q(0),
       ],
    q(qaqet) => [
@@ -48426,15 +48460,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(qashqa'i) => [
-      q(5727),
+      q(5726),
       q(0),
       ],
    q(qatabanian) => [
-      q(7474),
+      q(7473),
       q(0),
       ],
    q(qau) => [
-      q(2613),
+      q(2612),
       q(0),
       ],
    q(qawasqar) => [
@@ -48454,7 +48488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(quapaw) => [
-      q(5678),
+      q(5677),
       q(0),
       ],
    q(quebec sign language) => [
@@ -48474,19 +48508,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(quenya) => [
-      q(5733),
+      q(5732),
       q(0),
       ],
    q(queretaro otomi) => [
-      q(5324),
+      q(5323),
       q(0),
       ],
    q(quetzaltepec mixe) => [
-      q(5669),
+      q(5668),
       q(0),
       ],
    q(queyu) => [
-      q(5712),
+      q(5711),
       q(0),
       ],
    q(quiavicuzas zapotec) => [
@@ -48494,19 +48528,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(quiche) => [
-      q(5680),
+      q(5679),
       q(1),
       ],
    q(quileute) => [
-      q(5685),
+      q(5684),
       q(0),
       ],
    q(quinault) => [
-      q(5689),
+      q(5688),
       q(0),
       ],
    q(quinqui) => [
-      q(5691),
+      q(5690),
       q(0),
       ],
    q(quioquitani-quieri zapotec) => [
@@ -48518,27 +48552,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(quiripi) => [
-      q(5734),
+      q(5733),
       q(0),
       ],
    q(rabha) => [
-      q(5741),
+      q(5740),
       q(0),
       ],
    q(rade) => [
-      q(5738),
+      q(5737),
       q(0),
       ],
    q(raetic) => [
-      q(7484),
+      q(7483),
       q(0),
       ],
    q(rahambuu) => [
-      q(5756),
+      q(5755),
       q(0),
       ],
    q(rajah kabunsuwan manobo) => [
-      q(4489),
+      q(4488),
       q(0),
       ],
    q(rajasthani) => [
@@ -48546,75 +48580,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rajbanshi) => [
-      q(5796),
+      q(5795),
       q(0),
       ],
    q(raji) => [
-      q(5795),
+      q(5794),
       q(0),
       ],
    q(rajong) => [
-      q(5794),
+      q(5793),
       q(0),
       ],
    q(rajput garasia) => [
-      q(2614),
+      q(2613),
       q(0),
       ],
    q(rakahanga-manihiki) => [
-      q(5799),
+      q(5798),
       q(0),
       ],
    q(rakhine) => [
-      q(5800),
+      q(5799),
       q(0),
       ],
    q(ralte) => [
-      q(5744),
+      q(5743),
       q(0),
       ],
    q(rama) => [
-      q(5804),
+      q(5803),
       q(0),
       ],
    q(ramoaaina) => [
-      q(5742),
+      q(5741),
       q(0),
       ],
    q(ramopa) => [
-      q(3399),
+      q(3398),
       q(0),
       ],
    q(rampi) => [
-      q(3932),
+      q(3931),
       q(0),
       ],
    q(rana tharu) => [
-      q(6508),
+      q(6507),
       q(0),
       ],
    q(rang) => [
-      q(5754),
+      q(5753),
       q(0),
       ],
    q(rangkas) => [
-      q(5778),
+      q(5777),
       q(0),
       ],
    q(ranglong) => [
-      q(5831),
+      q(5830),
       q(0),
       ],
    q(rangpuri) => [
-      q(5802),
+      q(5801),
       q(0),
       ],
    q(rao) => [
-      q(5747),
+      q(5746),
       q(0),
       ],
    q(rapa) => [
-      q(5755),
+      q(5754),
       q(0),
       ],
    q(rapanui) => [
@@ -48622,15 +48656,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rapoisi) => [
-      q(3764),
+      q(3763),
       q(0),
       ],
    q(rapting) => [
-      q(5849),
+      q(5848),
       q(0),
       ],
    q(rara bakati') => [
-      q(4041),
+      q(4040),
       q(0),
       ],
    q(rarotongan) => [
@@ -48638,7 +48672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rasawa) => [
-      q(5737),
+      q(5736),
       q(0),
       ],
    q(ratagnon) => [
@@ -48646,11 +48680,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ratahan) => [
-      q(5857),
+      q(5856),
       q(0),
       ],
    q(rathawi) => [
-      q(5860),
+      q(5859),
       q(0),
       ],
    q(rathwi bareli) => [
@@ -48658,31 +48692,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(raute) => [
-      q(5751),
+      q(5750),
       q(0),
       ],
    q(ravula) => [
-      q(7620),
+      q(7619),
       q(0),
       ],
    q(rawa) => [
-      q(5878),
+      q(5877),
       q(0),
       ],
    q(rawang) => [
-      q(5753),
+      q(5752),
       q(0),
       ],
    q(rawat) => [
-      q(3132),
+      q(3131),
       q(0),
       ],
    q(rawngtu chin) => [
-      q(7112),
+      q(7111),
       q(0),
       ],
    q(rawo) => [
-      q(5875),
+      q(5874),
       q(0),
       ],
    q(rayon zoque) => [
@@ -48690,7 +48724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(razajerdi) => [
-      q(5750),
+      q(5749),
       q(0),
       ],
    q(red gelao) => [
@@ -48702,15 +48736,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rejang) => [
-      q(5768),
+      q(5767),
       q(0),
       ],
    q(rejang kayan) => [
-      q(5765),
+      q(5764),
       q(0),
       ],
    q(reli) => [
-      q(5767),
+      q(5766),
       q(0),
       ],
    q(rema) => [
@@ -48718,15 +48752,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rembarunga) => [
-      q(5805),
+      q(5804),
       q(0),
       ],
    q(rembong) => [
-      q(5764),
+      q(5763),
       q(0),
       ],
    q(remo) => [
-      q(5770),
+      q(5769),
       q(0),
       ],
    q(remontado dumagat) => [
@@ -48734,43 +48768,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rempi) => [
-      q(5818),
+      q(5817),
       q(0),
       ],
    q(remun) => [
-      q(3945),
+      q(3944),
       q(0),
       ],
    q(rendille) => [
-      q(5769),
+      q(5768),
       q(0),
       ],
    q(rengao) => [
-      q(5771),
+      q(5770),
       q(0),
       ],
    q(rennell-bellona) => [
-      q(4431),
+      q(4430),
       q(0),
       ],
    q(rennellese sign language) => [
-      q(5854),
+      q(5853),
       q(0),
       ],
    q(repanbitip) => [
-      q(5848),
+      q(5847),
       q(0),
       ],
    q(rer bare) => [
-      q(5772),
+      q(5771),
       q(0),
       ],
    q(rerau) => [
-      q(5763),
+      q(5762),
       q(0),
       ],
    q(rerep) => [
-      q(5429),
+      q(5428),
       q(0),
       ],
    q(reserved for local use) => [
@@ -48778,51 +48812,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(reshe) => [
-      q(5773),
+      q(5772),
       q(0),
       ],
    q(resigaro) => [
-      q(5780),
+      q(5779),
       q(0),
       ],
    q(retta) => [
-      q(5774),
+      q(5773),
       q(0),
       ],
    q(reunion creole french) => [
-      q(5761),
+      q(5760),
       q(0),
       ],
    q(reyesano) => [
-      q(5775),
+      q(5774),
       q(0),
       ],
    q(riang (india)) => [
-      q(5785),
+      q(5784),
       q(0),
       ],
    q(riang (myanmar)) => [
-      q(5788),
+      q(5787),
       q(0),
       ],
    q(riantana) => [
-      q(5746),
+      q(5745),
       q(0),
       ],
    q(ribun) => [
-      q(5791),
+      q(5790),
       q(0),
       ],
    q(rien) => [
-      q(5786),
+      q(5785),
       q(0),
       ],
    q(rifao) => [
-      q(4983),
+      q(4982),
       q(1),
       ],
    q(rikbaktsa) => [
-      q(5798),
+      q(5797),
       q(0),
       ],
    q(rincon zapotec) => [
@@ -48834,43 +48868,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ringgou) => [
-      q(5782),
+      q(5781),
       q(0),
       ],
    q(ririo) => [
-      q(5850),
+      q(5849),
       q(0),
       ],
    q(ritarungo) => [
-      q(5792),
+      q(5791),
       q(0),
       ],
    q(riung) => [
-      q(5793),
+      q(5792),
       q(0),
       ],
    q(riverain sango) => [
-      q(6141),
+      q(6140),
       q(0),
       ],
    q(rogo) => [
-      q(5838),
+      q(5837),
       q(0),
       ],
    q(rohingya) => [
-      q(5783),
+      q(5782),
       q(0),
       ],
    q(roma) => [
-      q(5815),
+      q(5814),
       q(0),
       ],
    q(romagnol) => [
-      q(5779),
+      q(5778),
       q(0),
       ],
    q(romam) => [
-      q(5825),
+      q(5824),
       q(0),
       ],
    q(romance languages) => [
@@ -48882,19 +48916,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(romanian sign language) => [
-      q(5820),
+      q(5819),
       q(0),
       ],
    q(romano-greek) => [
-      q(5777),
+      q(5776),
       q(0),
       ],
    q(romano-serbian) => [
-      q(5853),
+      q(5852),
       q(0),
       ],
    q(romanova) => [
-      q(5823),
+      q(5822),
       q(0),
       ],
    q(romansh) => [
@@ -48906,15 +48940,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(romblomanon) => [
-      q(5842),
+      q(5841),
       q(0),
       ],
    q(rombo) => [
-      q(5840),
+      q(5839),
       q(0),
       ],
    q(romkun) => [
-      q(5813),
+      q(5812),
       q(0),
       ],
    q(ron) => [
@@ -48922,59 +48956,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ronga) => [
-      q(5830),
+      q(5829),
       q(0),
       ],
    q(rongga) => [
-      q(5845),
+      q(5844),
       q(0),
       ],
    q(rongmei naga) => [
-      q(4757),
+      q(4756),
       q(0),
       ],
    q(rongpo) => [
-      q(5833),
+      q(5832),
       q(0),
       ],
    q(ronji) => [
-      q(5839),
+      q(5838),
       q(0),
       ],
    q(roon) => [
-      q(5832),
+      q(5831),
       q(0),
       ],
    q(roria) => [
-      q(5776),
+      q(5775),
       q(0),
       ],
    q(rotokas) => [
-      q(5843),
+      q(5842),
       q(0),
       ],
    q(rotuman) => [
-      q(5858),
+      q(5857),
       q(0),
       ],
    q(roviana) => [
-      q(5865),
+      q(5864),
       q(0),
       ],
    q(ruching palaung) => [
-      q(5384),
+      q(5383),
       q(0),
       ],
    q(rudbari) => [
-      q(5762),
+      q(5761),
       q(0),
       ],
    q(rufiji) => [
-      q(5867),
+      q(5866),
       q(0),
       ],
    q(ruga) => [
-      q(5866),
+      q(5865),
       q(0),
       ],
    q(rukai) => [
@@ -48982,19 +49016,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ruma) => [
-      q(5874),
+      q(5873),
       q(0),
       ],
    q(rumai palaung) => [
-      q(5757),
+      q(5756),
       q(0),
       ],
    q(rumu) => [
-      q(3444),
+      q(3443),
       q(0),
       ],
    q(runa) => [
-      q(5828),
+      q(5827),
       q(0),
       ],
    q(rundi) => [
@@ -49002,11 +49036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(runga) => [
-      q(5846),
+      q(5845),
       q(0),
       ],
    q(rungtu chin) => [
-      q(5856),
+      q(5855),
       q(0),
       ],
    q(rungus) => [
@@ -49014,7 +49048,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rungwa) => [
-      q(5835),
+      q(5834),
       q(0),
       ],
    q(russia buriat) => [
@@ -49026,35 +49060,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(russian sign language) => [
-      q(5855),
+      q(5854),
       q(0),
       ],
    q(rusyn) => [
-      q(5863),
+      q(5862),
       q(0),
       ],
    q(rutul) => [
-      q(5871),
+      q(5870),
       q(0),
       ],
    q(ruuli) => [
-      q(5862),
+      q(5861),
       q(0),
       ],
    q(ruund) => [
-      q(5829),
+      q(5828),
       q(0),
       ],
    q(rwa) => [
-      q(5876),
+      q(5875),
       q(0),
       ],
    q(s'gaw karen) => [
-      q(3615),
+      q(3614),
       q(0),
       ],
    q(sa) => [
-      q(5898),
+      q(5897),
       q(0),
       ],
    q(sa'a) => [
@@ -49062,35 +49096,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sa'ban) => [
-      q(6151),
+      q(6150),
       q(0),
       ],
    q(sa'och) => [
-      q(5936),
+      q(5935),
       q(0),
       ],
    q(saafi-saafi) => [
-      q(5896),
+      q(5895),
       q(0),
       ],
    q(saam) => [
-      q(5748),
+      q(5747),
       q(0),
       ],
    q(saamia) => [
-      q(4062),
+      q(4061),
       q(0),
       ],
    q(saaroa) => [
-      q(6330),
+      q(6329),
       q(0),
       ],
    q(saba) => [
-      q(5885),
+      q(5884),
       q(0),
       ],
    q(sabaean) => [
-      q(7488),
+      q(7487),
       q(0),
       ],
    q(sabah bisaya) => [
@@ -49098,47 +49132,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sabah malay) => [
-      q(4537),
+      q(4536),
       q(0),
       ],
    q(sabane) => [
-      q(5888),
+      q(5887),
       q(0),
       ],
    q(sabaot) => [
-      q(6196),
+      q(6195),
       q(0),
       ],
    q(sabine) => [
-      q(5922),
+      q(5921),
       q(0),
       ],
    q(sabu) => [
-      q(2878),
+      q(2877),
       q(0),
       ],
    q(sabum) => [
-      q(5915),
+      q(5914),
       q(0),
       ],
    q(sacapulteco) => [
-      q(5694),
+      q(5693),
       q(0),
       ],
    q(sadri) => [
-      q(5933),
+      q(5932),
       q(0),
       ],
    q(saek) => [
-      q(6071),
+      q(6070),
       q(0),
       ],
    q(saep) => [
-      q(6179),
+      q(6178),
       q(0),
       ],
    q(safaliba) => [
-      q(5889),
+      q(5888),
       q(0),
       ],
    q(safeyoka) => [
@@ -49146,23 +49180,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(safwa) => [
-      q(5911),
+      q(5910),
       q(0),
       ],
    q(sagala) => [
-      q(5913),
+      q(5912),
       q(0),
       ],
    q(sagalla) => [
-      q(6474),
+      q(6473),
       q(0),
       ],
    q(saho) => [
-      q(6251),
+      q(6250),
       q(0),
       ],
    q(sahu) => [
-      q(5890),
+      q(5889),
       q(0),
       ],
    q(saidi arabic) => [
@@ -49174,23 +49208,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(saisiyat) => [
-      q(7505),
+      q(7504),
       q(0),
       ],
    q(sajalong) => [
-      q(6060),
+      q(6059),
       q(0),
       ],
    q(sajau basap) => [
-      q(6055),
+      q(6054),
       q(0),
       ],
    q(sakachep) => [
-      q(5931),
+      q(5930),
       q(0),
       ],
    q(sakalava malagasy) => [
-      q(6076),
+      q(6075),
       q(0),
       ],
    q(sakan) => [
@@ -49198,59 +49232,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(sakao) => [
-      q(6089),
+      q(6088),
       q(0),
       ],
    q(sakata) => [
-      q(6088),
+      q(6087),
       q(0),
       ],
    q(sake) => [
-      q(5891),
+      q(5890),
       q(0),
       ],
    q(sakirabia) => [
-      q(6075),
+      q(6074),
       q(0),
       ],
    q(sala) => [
-      q(6023),
+      q(6022),
       q(0),
       ],
    q(salako) => [
-      q(3501),
+      q(3500),
       q(1),
       ],
    q(salampasu) => [
-      q(6112),
+      q(6111),
       q(0),
       ],
    q(salar) => [
-      q(6107),
+      q(6106),
       q(0),
       ],
    q(salas) => [
-      q(6004),
+      q(6003),
       q(0),
       ],
    q(salasaca highland quichua) => [
-      q(5723),
+      q(5722),
       q(0),
       ],
    q(salchuq) => [
-      q(6106),
+      q(6105),
       q(0),
       ],
    q(saleman) => [
-      q(5895),
+      q(5894),
       q(0),
       ],
    q(saliba) => [
-      q(5905),
+      q(5904),
       q(0),
       ],
    q(salinan) => [
-      q(6104),
+      q(6103),
       q(0),
       ],
    q(salishan languages) => [
@@ -49258,19 +49292,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sallands) => [
-      q(5961),
+      q(5960),
       q(0),
       ],
    q(salt-yui) => [
-      q(6102),
+      q(6101),
       q(0),
       ],
    q(saluan) => [
-      q(4016),
+      q(4015),
       q(0),
       ],
    q(saluma) => [
-      q(6101),
+      q(6100),
       q(0),
       ],
    q(salvadoran sign language) => [
@@ -49278,15 +49312,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sam) => [
-      q(6153),
+      q(6152),
       q(0),
       ],
    q(sama) => [
-      q(6117),
+      q(6116),
       q(0),
       ],
    q(samaritan) => [
-      q(6124),
+      q(6123),
       q(0),
       ],
    q(samaritan aramaic) => [
@@ -49294,7 +49328,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(samarokena) => [
-      q(6594),
+      q(6593),
       q(0),
       ],
    q(samatao) => [
@@ -49302,11 +49336,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(samay) => [
-      q(6344),
+      q(6343),
       q(0),
       ],
    q(samba) => [
-      q(6131),
+      q(6130),
       q(0),
       ],
    q(samba daka) => [
@@ -49314,31 +49348,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(samba leko) => [
-      q(4790),
+      q(4789),
       q(0),
       ],
    q(sambal) => [
-      q(7489),
+      q(7488),
       q(0),
       ],
    q(sambalpuri) => [
-      q(6194),
+      q(6193),
       q(0),
       ],
    q(sambe) => [
-      q(7272),
+      q(7271),
       q(0),
       ],
    q(samberigi) => [
-      q(6250),
+      q(6249),
       q(0),
       ],
    q(samburu) => [
-      q(5893),
+      q(5892),
       q(0),
       ],
    q(samei) => [
-      q(6120),
+      q(6119),
       q(0),
       ],
    q(sami languages) => [
@@ -49346,7 +49380,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(samo) => [
-      q(6125),
+      q(6124),
       q(0),
       ],
    q(samoan) => [
@@ -49354,11 +49388,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(samogitian) => [
-      q(6002),
+      q(6001),
       q(0),
       ],
    q(samosa) => [
-      q(6308),
+      q(6307),
       q(0),
       ],
    q(samoyedic languages) => [
@@ -49366,19 +49400,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sampang) => [
-      q(5752),
+      q(5751),
       q(0),
       ],
    q(samre) => [
-      q(6327),
+      q(6326),
       q(0),
       ],
    q(samtao) => [
-      q(6272),
+      q(6271),
       q(0),
       ],
    q(samvedi) => [
-      q(6129),
+      q(6128),
       q(0),
       ],
    q(san agustin mixtepec zapotec) => [
@@ -49394,31 +49428,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(san dionisio del mar huave) => [
-      q(2876),
+      q(2875),
       q(0),
       ],
    q(san felipe otlaltepec popoloca) => [
-      q(5568),
+      q(5567),
       q(0),
       ],
    q(san francisco del mar huave) => [
-      q(2855),
+      q(2854),
       q(0),
       ],
    q(san francisco matlatzinca) => [
-      q(4121),
+      q(4120),
       q(0),
       ],
    q(san jeronimo tecoatl mazatec) => [
-      q(4114),
+      q(4113),
       q(0),
       ],
    q(san juan atzingo popoloca) => [
-      q(5555),
+      q(5554),
       q(0),
       ],
    q(san juan colorado mixtec) => [
-      q(4320),
+      q(4319),
       q(0),
       ],
    q(san juan guelavia zapotec) => [
@@ -49426,43 +49460,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(san juan teita mixtec) => [
-      q(7514),
+      q(7513),
       q(0),
       ],
    q(san luis temalacayuca popoloca) => [
-      q(5581),
+      q(5580),
       q(0),
       ],
    q(san marcos tlacoyalco popoloca) => [
-      q(5500),
+      q(5499),
       q(0),
       ],
    q(san marcos tlalcoyalco popoloca) => [
-      q(5500),
+      q(5499),
       q(1),
       ],
    q(san martin itunyoso triqui) => [
-      q(6702),
+      q(6701),
       q(0),
       ],
    q(san martin quechua) => [
-      q(5710),
+      q(5709),
       q(0),
       ],
    q(san mateo del mar huave) => [
-      q(2870),
+      q(2869),
       q(0),
       ],
    q(san miguel creole french) => [
-      q(5929),
+      q(5928),
       q(0),
       ],
    q(san miguel el grande mixtec) => [
-      q(4303),
+      q(4302),
       q(0),
       ],
    q(san miguel piedras mixtec) => [
-      q(7519),
+      q(7518),
       q(0),
       ],
    q(san pedro amuzgos amuzgo) => [
@@ -49474,7 +49508,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(san salvador kongo) => [
-      q(3715),
+      q(3714),
       q(0),
       ],
    q(san vicente coatlan zapotec) => [
@@ -49486,7 +49520,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sanapana) => [
-      q(6186),
+      q(6185),
       q(0),
       ],
    q(sandawe) => [
@@ -49494,35 +49528,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sanga (democratic republic of congo)) => [
-      q(6138),
+      q(6137),
       q(0),
       ],
    q(sanga (nigeria)) => [
-      q(7497),
+      q(7496),
       q(0),
       ],
    q(sanggau) => [
-      q(5930),
+      q(5929),
       q(0),
       ],
    q(sangil) => [
-      q(6142),
+      q(6141),
       q(0),
       ],
    q(sangir) => [
-      q(6328),
+      q(6327),
       q(0),
       ],
    q(sangisari) => [
-      q(6001),
+      q(6000),
       q(0),
       ],
    q(sangkong) => [
-      q(5998),
+      q(5997),
       q(0),
       ],
    q(sanglechi) => [
-      q(6007),
+      q(6006),
       q(0),
       ],
    q(sango) => [
@@ -49530,15 +49564,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sangtam naga) => [
-      q(5065),
+      q(5064),
       q(0),
       ],
    q(sangu (gabon)) => [
-      q(6147),
+      q(6146),
       q(0),
       ],
    q(sangu (tanzania)) => [
-      q(5916),
+      q(5915),
       q(0),
       ],
    q(sani) => [
@@ -49550,15 +49584,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(saniyo-hiyewe) => [
-      q(6154),
+      q(6153),
       q(0),
       ],
    q(sankaran maninka) => [
-      q(4531),
+      q(4530),
       q(0),
       ],
    q(sansi) => [
-      q(6236),
+      q(6235),
       q(0),
       ],
    q(sanskrit) => [
@@ -49566,7 +49600,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(santa ana de tusi pasco quechua) => [
-      q(5730),
+      q(5729),
       q(0),
       ],
    q(santa catarina albarradas zapotec) => [
@@ -49574,7 +49608,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(santa ines ahuatempan popoloca) => [
-      q(5380),
+      q(5379),
       q(0),
       ],
    q(santa ines yatzechi zapotec) => [
@@ -49582,15 +49616,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(santa lucia monteverde mixtec) => [
-      q(4196),
+      q(4195),
       q(0),
       ],
    q(santa maria del mar huave) => [
-      q(2879),
+      q(2878),
       q(0),
       ],
    q(santa maria la alta nahuatl) => [
-      q(4881),
+      q(4880),
       q(0),
       ],
    q(santa maria quiegolani zapotec) => [
@@ -49598,7 +49632,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(santa maria zacatepec mixtec) => [
-      q(4693),
+      q(4692),
       q(0),
       ],
    q(santa teresa cora) => [
@@ -49610,7 +49644,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(santiago del estero quichua) => [
-      q(5693),
+      q(5692),
       q(0),
       ],
    q(santiago xanica zapotec) => [
@@ -49622,7 +49656,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sanuma) => [
-      q(7503),
+      q(7502),
       q(0),
       ],
    q(sao paulo kaingang) => [
@@ -49634,55 +49668,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(saparua) => [
-      q(6190),
+      q(6189),
       q(0),
       ],
    q(sape) => [
-      q(6178),
+      q(6177),
       q(0),
       ],
    q(sapo) => [
-      q(3583),
+      q(3582),
       q(0),
       ],
    q(saponi) => [
-      q(6182),
+      q(6181),
       q(0),
       ],
    q(saposa) => [
-      q(6191),
+      q(6190),
       q(0),
       ],
    q(sapuan) => [
-      q(6193),
+      q(6192),
       q(0),
       ],
    q(sar) => [
-      q(4633),
+      q(4632),
       q(0),
       ],
    q(sara) => [
-      q(6211),
+      q(6210),
       q(0),
       ],
    q(sara kaba) => [
-      q(5926),
+      q(5925),
       q(0),
       ],
    q(sara kaba deme) => [
-      q(3698),
+      q(3697),
       q(0),
       ],
    q(sara kaba naa) => [
-      q(3712),
+      q(3711),
       q(0),
       ],
    q(saraiki) => [
-      q(6086),
+      q(6085),
       q(0),
       ],
    q(saramaccan) => [
-      q(6218),
+      q(6217),
       q(0),
       ],
    q(sarangani blaan) => [
@@ -49690,7 +49724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sarangani manobo) => [
-      q(4144),
+      q(4143),
       q(0),
       ],
    q(sarasira) => [
@@ -49698,7 +49732,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(saraveca) => [
-      q(5894),
+      q(5893),
       q(0),
       ],
    q(sardinian) => [
@@ -49710,31 +49744,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sarikoli) => [
-      q(6214),
+      q(6213),
       q(0),
       ],
    q(sarli) => [
-      q(5946),
+      q(5945),
       q(0),
       ],
    q(sarsi) => [
-      q(6221),
+      q(6220),
       q(0),
       ],
    q(sartang) => [
-      q(5275),
+      q(5274),
       q(0),
       ],
    q(sarua) => [
-      q(6320),
+      q(6319),
       q(0),
       ],
    q(sarudu) => [
-      q(5959),
+      q(5958),
       q(0),
       ],
    q(saruga) => [
-      q(6208),
+      q(6207),
       q(0),
       ],
    q(sasak) => [
@@ -49742,83 +49776,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sasaru) => [
-      q(6331),
+      q(6330),
       q(0),
       ],
    q(sassarese sardinian) => [
-      q(5944),
+      q(5943),
       q(0),
       ],
    q(satawalese) => [
-      q(6274),
+      q(6273),
       q(0),
       ],
    q(satere-mawe) => [
-      q(4123),
+      q(4122),
       q(0),
       ],
    q(saterfriesisch) => [
-      q(6268),
+      q(6267),
       q(0),
       ],
    q(saudi arabian sign language) => [
-      q(5951),
+      q(5950),
       q(0),
       ],
    q(sauraseni prakrit) => [
-      q(5624),
+      q(5623),
       q(0),
       ],
    q(saurashtra) => [
-      q(5900),
+      q(5899),
       q(0),
       ],
    q(sauri) => [
-      q(6222),
+      q(6221),
       q(0),
       ],
    q(sauria paharia) => [
-      q(4336),
+      q(4335),
       q(0),
       ],
    q(sause) => [
-      q(5892),
+      q(5891),
       q(0),
       ],
    q(sausi) => [
-      q(6237),
+      q(6236),
       q(0),
       ],
    q(savara) => [
-      q(6296),
+      q(6295),
       q(0),
       ],
    q(savi) => [
-      q(5947),
+      q(5946),
       q(0),
       ],
    q(savosavo) => [
-      q(6297),
+      q(6296),
       q(0),
       ],
    q(sawai) => [
-      q(6356),
+      q(6355),
       q(0),
       ],
    q(saweru) => [
-      q(6313),
+      q(6312),
       q(0),
       ],
    q(sawi) => [
-      q(5897),
+      q(5896),
       q(0),
       ],
    q(sawila) => [
-      q(6315),
+      q(6314),
       q(0),
       ],
    q(sawknah) => [
-      q(6309),
+      q(6308),
       q(0),
       ],
    q(saxon, low) => [
@@ -49826,15 +49860,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(3),
       ],
    q(saxwe gbe) => [
-      q(6333),
+      q(6332),
       q(0),
       ],
    q(saya) => [
-      q(5899),
+      q(5898),
       q(0),
       ],
    q(sayula popoluca) => [
-      q(5565),
+      q(5564),
       q(0),
       ],
    q(scots) => [
@@ -49846,139 +49880,139 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(scythian) => [
-      q(7490),
+      q(7489),
       q(0),
       ],
    q(sea island creole english) => [
-      q(2652),
+      q(2651),
       q(0),
       ],
    q(seba) => [
-      q(3239),
+      q(3238),
       q(0),
       ],
    q(sebat bet gurage) => [
-      q(6005),
+      q(6004),
       q(0),
       ],
    q(seberuang) => [
-      q(5924),
+      q(5923),
       q(0),
       ],
    q(sebop) => [
-      q(6034),
+      q(6033),
       q(0),
       ],
    q(sebuyau) => [
-      q(6134),
+      q(6133),
       q(0),
       ],
    q(sechelt) => [
-      q(5964),
+      q(5963),
       q(0),
       ],
    q(secoya) => [
-      q(5983),
+      q(5982),
       q(0),
       ],
    q(sedang) => [
-      q(5965),
+      q(5964),
       q(0),
       ],
    q(sedoa) => [
-      q(6789),
+      q(6788),
       q(0),
       ],
    q(seeku) => [
-      q(6170),
+      q(6169),
       q(0),
       ],
    q(segai) => [
-      q(5993),
+      q(5992),
       q(0),
       ],
    q(segeju) => [
-      q(5968),
+      q(5967),
       q(0),
       ],
    q(seget) => [
-      q(5907),
+      q(5906),
       q(0),
       ],
    q(sehwi) => [
-      q(5989),
+      q(5988),
       q(0),
       ],
    q(seimat) => [
-      q(6234),
+      q(6233),
       q(0),
       ],
    q(seit-kaitetu) => [
-      q(2761),
+      q(2760),
       q(0),
       ],
    q(sekani) => [
-      q(5972),
+      q(5971),
       q(0),
       ],
    q(sekapan) => [
-      q(6084),
+      q(6083),
       q(0),
       ],
    q(sekar) => [
-      q(6094),
+      q(6093),
       q(0),
       ],
    q(seke (nepal)) => [
-      q(6079),
+      q(6078),
       q(0),
       ],
    q(seke (vanuatu)) => [
-      q(6074),
+      q(6073),
       q(0),
       ],
    q(sekele) => [
-      q(6974),
+      q(6973),
       q(0),
       ],
    q(seki) => [
-      q(6336),
+      q(6335),
       q(0),
       ],
    q(seko padang) => [
-      q(6092),
+      q(6091),
       q(0),
       ],
    q(seko tengah) => [
-      q(6083),
+      q(6082),
       q(0),
       ],
    q(sekpele) => [
-      q(3921),
+      q(3920),
       q(0),
       ],
    q(selangor sign language) => [
-      q(3315),
+      q(3314),
       q(0),
       ],
    q(selaru) => [
-      q(6110),
+      q(6109),
       q(0),
       ],
    q(selayar) => [
-      q(6113),
+      q(6112),
       q(0),
       ],
    q(selee) => [
-      q(6152),
+      q(6151),
       q(0),
       ],
    q(selepet) => [
-      q(6184),
+      q(6183),
       q(0),
       ],
    q(selian) => [
-      q(6326),
+      q(6325),
       q(0),
       ],
    q(selkup) => [
@@ -49986,31 +50020,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(selungai murut) => [
-      q(6098),
+      q(6097),
       q(0),
       ],
    q(seluwasan) => [
-      q(6314),
+      q(6313),
       q(0),
       ],
    q(semai) => [
-      q(5962),
+      q(5961),
       q(0),
       ],
    q(semandang) => [
-      q(5952),
+      q(5951),
       q(0),
       ],
    q(semaq beri) => [
-      q(6348),
+      q(6347),
       q(0),
       ],
    q(sembakung murut) => [
-      q(5918),
+      q(5917),
       q(0),
       ],
    q(semelai) => [
-      q(6346),
+      q(6345),
       q(0),
       ],
    q(semimi) => [
@@ -50022,83 +50056,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(semnam) => [
-      q(6240),
+      q(6239),
       q(0),
       ],
    q(semnani) => [
-      q(6132),
+      q(6131),
       q(0),
       ],
    q(sempan) => [
-      q(7492),
+      q(7491),
       q(0),
       ],
    q(sena) => [
-      q(5969),
+      q(5968),
       q(0),
       ],
    q(senara senoufo) => [
-      q(5976),
+      q(5975),
       q(0),
       ],
    q(senaya) => [
-      q(6340),
+      q(6339),
       q(0),
       ],
    q(sene) => [
-      q(5971),
+      q(5970),
       q(0),
       ],
    q(seneca) => [
-      q(5966),
+      q(5965),
       q(0),
       ],
    q(sened) => [
-      q(5957),
+      q(5956),
       q(0),
       ],
    q(sengele) => [
-      q(6351),
+      q(6350),
       q(0),
       ],
    q(senggi) => [
-      q(6150),
+      q(6149),
       q(0),
       ],
    q(sengo) => [
-      q(6183),
+      q(6182),
       q(0),
       ],
    q(sengseng) => [
-      q(6252),
+      q(6251),
       q(0),
       ],
    q(senhaja de srair) => [
-      q(6066),
+      q(6065),
       q(0),
       ],
    q(sensi) => [
-      q(6140),
+      q(6139),
       q(0),
       ],
    q(sentani) => [
-      q(5979),
+      q(5978),
       q(0),
       ],
    q(senthang chin) => [
-      q(5984),
+      q(5983),
       q(0),
       ],
    q(sentinel) => [
-      q(6255),
+      q(6254),
       q(0),
       ],
    q(sepa (indonesia)) => [
-      q(6177),
+      q(6176),
       q(0),
       ],
    q(sepa (papua new guinea)) => [
-      q(6180),
+      q(6179),
       q(0),
       ],
    q(sepedi) => [
@@ -50106,15 +50140,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(sepik iwam) => [
-      q(3031),
+      q(3030),
       q(0),
       ],
    q(sera) => [
-      q(6227),
+      q(6226),
       q(0),
       ],
    q(seraiki) => [
-      q(6086),
+      q(6085),
       q(1),
       ],
    q(serbian) => [
@@ -50126,7 +50160,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sere) => [
-      q(6301),
+      q(6300),
       q(0),
       ],
    q(serer) => [
@@ -50134,35 +50168,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(seri) => [
-      q(5970),
+      q(5969),
       q(0),
       ],
    q(serili) => [
-      q(6293),
+      q(6292),
       q(0),
       ],
    q(seroa) => [
-      q(3567),
+      q(3566),
       q(0),
       ],
    q(serrano) => [
-      q(5977),
+      q(5976),
       q(0),
       ],
    q(seru) => [
-      q(6349),
+      q(6348),
       q(0),
       ],
    q(serua) => [
-      q(6225),
+      q(6224),
       q(0),
       ],
    q(serudung murut) => [
-      q(6216),
+      q(6215),
       q(0),
       ],
    q(serui-laut) => [
-      q(5980),
+      q(5979),
       q(0),
       ],
    q(seselwa creole french) => [
@@ -50170,67 +50204,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(seta) => [
-      q(6257),
+      q(6256),
       q(0),
       ],
    q(setaman) => [
-      q(6264),
+      q(6263),
       q(0),
       ],
    q(seti) => [
-      q(5909),
+      q(5908),
       q(0),
       ],
    q(settla) => [
-      q(6253),
+      q(6252),
       q(0),
       ],
    q(severn ojibwa) => [
-      q(5221),
+      q(5220),
       q(0),
       ],
    q(sewa bay) => [
-      q(5982),
+      q(5981),
       q(0),
       ],
    q(seze) => [
-      q(6350),
+      q(6349),
       q(0),
       ],
    q(sha) => [
-      q(5940),
+      q(5939),
       q(0),
       ],
    q(shabak) => [
-      q(5943),
+      q(5942),
       q(0),
       ],
    q(shabo) => [
-      q(5906),
+      q(5905),
       q(1),
       ],
    q(shahmirzadi) => [
-      q(6228),
+      q(6227),
       q(0),
       ],
    q(shahrudi) => [
-      q(6020),
+      q(6019),
       q(0),
       ],
    q(shall-zwall) => [
-      q(6009),
+      q(6008),
       q(0),
       ],
    q(shama-sambuga) => [
-      q(6197),
+      q(6196),
       q(0),
       ],
    q(shamang) => [
-      q(7493),
+      q(7492),
       q(0),
       ],
    q(shambala) => [
-      q(3594),
+      q(3593),
       q(0),
       ],
    q(shan) => [
@@ -50238,79 +50272,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(shanenawa) => [
-      q(6310),
+      q(6309),
       q(0),
       ],
    q(shanga) => [
-      q(6021),
+      q(6020),
       q(0),
       ],
    q(shangzhai) => [
-      q(3097),
+      q(3096),
       q(1),
       ],
    q(sharanahua) => [
-      q(4155),
+      q(4154),
       q(0),
       ],
    q(shark bay) => [
-      q(6249),
+      q(6248),
       q(0),
       ],
    q(sharwa) => [
-      q(6312),
+      q(6311),
       q(0),
       ],
    q(shasta) => [
-      q(6026),
+      q(6025),
       q(0),
       ],
    q(shatt) => [
-      q(6017),
+      q(6016),
       q(0),
       ],
    q(shau) => [
-      q(6198),
+      q(6197),
       q(0),
       ],
    q(shawnee) => [
-      q(6069),
+      q(6068),
       q(0),
       ],
    q(she) => [
-      q(6030),
+      q(6029),
       q(0),
       ],
    q(shehri) => [
-      q(6028),
+      q(6027),
       q(0),
       ],
    q(shekhawati) => [
-      q(6317),
+      q(6316),
       q(0),
       ],
    q(shekkacho) => [
-      q(4453),
+      q(4452),
       q(0),
       ],
    q(sheko) => [
-      q(6013),
+      q(6012),
       q(0),
       ],
    q(shelta) => [
-      q(6259),
+      q(6258),
       q(0),
       ],
    q(shempire senoufo) => [
-      q(5963),
+      q(5962),
       q(0),
       ],
    q(shendu) => [
-      q(6019),
+      q(6018),
       q(0),
       ],
    q(sheni) => [
-      q(5939),
+      q(5938),
       q(0),
       ],
    q(sherbro) => [
@@ -50318,55 +50352,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sherdukpen) => [
-      q(5955),
+      q(5954),
       q(0),
       ],
    q(sherpa) => [
-      q(7501),
+      q(7500),
       q(0),
       ],
    q(sheshi kham) => [
-      q(3367),
+      q(3366),
       q(0),
       ],
    q(shi) => [
-      q(6024),
+      q(6023),
       q(0),
       ],
    q(shihhi arabic) => [
-      q(6235),
+      q(6234),
       q(0),
       ],
    q(shiki) => [
-      q(2642),
+      q(2641),
       q(0),
       ],
    q(shilluk) => [
-      q(6018),
+      q(6017),
       q(0),
       ],
    q(shina) => [
-      q(5934),
+      q(5933),
       q(0),
       ],
    q(shinabo) => [
-      q(6139),
+      q(6138),
       q(0),
       ],
    q(shipibo-conibo) => [
-      q(6022),
+      q(6021),
       q(0),
       ],
    q(shixing) => [
-      q(6324),
+      q(6323),
       q(0),
       ],
    q(sholaga) => [
-      q(6096),
+      q(6095),
       q(0),
       ],
    q(shom peng) => [
-      q(6039),
+      q(6038),
       q(0),
       ],
    q(shona) => [
@@ -50382,99 +50416,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(shoshoni) => [
-      q(6015),
+      q(6014),
       q(0),
       ],
    q(shua) => [
-      q(6014),
+      q(6013),
       q(0),
       ],
    q(shuadit) => [
-      q(5958),
+      q(5957),
       q(0),
       ],
    q(shuar) => [
-      q(3105),
+      q(3104),
       q(0),
       ],
    q(shubi) => [
-      q(6282),
+      q(6281),
       q(0),
       ],
    q(shughni) => [
-      q(5995),
+      q(5994),
       q(0),
       ],
    q(shumashti) => [
-      q(6270),
+      q(6269),
       q(0),
       ],
    q(shumcho) => [
-      q(5938),
+      q(5937),
       q(0),
       ],
    q(shuswap) => [
-      q(6025),
+      q(6024),
       q(0),
       ],
    q(shuwa-zamani) => [
-      q(3593),
+      q(3592),
       q(0),
       ],
    q(shwai) => [
-      q(6029),
+      q(6028),
       q(0),
       ],
    q(shwe palaung) => [
-      q(5494),
+      q(5493),
       q(0),
       ],
    q(sialum) => [
-      q(6111),
+      q(6110),
       q(0),
       ],
    q(siamou) => [
-      q(6036),
+      q(6035),
       q(0),
       ],
    q(sian) => [
-      q(6181),
+      q(6180),
       q(0),
       ],
    q(siane) => [
-      q(6146),
+      q(6145),
       q(0),
       ],
    q(siang) => [
-      q(6334),
+      q(6333),
       q(0),
       ],
    q(siar-lak) => [
-      q(6065),
+      q(6064),
       q(0),
       ],
    q(siawi) => [
-      q(4404),
+      q(4403),
       q(0),
       ],
    q(sibe) => [
-      q(4775),
+      q(4774),
       q(0),
       ],
    q(siberian tatar) => [
-      q(6275),
+      q(6274),
       q(0),
       ],
    q(sibu melanau) => [
-      q(5960),
+      q(5959),
       q(0),
       ],
    q(sicanian) => [
-      q(6322),
+      q(6321),
       q(0),
       ],
    q(sicel) => [
-      q(5941),
+      q(5940),
       q(0),
       ],
    q(sichuan yi) => [
@@ -50486,11 +50520,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sicite senoufo) => [
-      q(5975),
+      q(5974),
       q(0),
       ],
    q(siculo arabic) => [
-      q(6204),
+      q(6203),
       q(0),
       ],
    q(sidamo) => [
@@ -50498,7 +50532,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sidetic) => [
-      q(7491),
+      q(7490),
       q(0),
       ],
    q(sie) => [
@@ -50510,15 +50544,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sierra leone sign language) => [
-      q(6006),
+      q(6005),
       q(0),
       ],
    q(sierra negra nahuatl) => [
-      q(5082),
+      q(5081),
       q(0),
       ],
    q(sighu) => [
-      q(6323),
+      q(6322),
       q(0),
       ],
    q(sign languages) => [
@@ -50526,31 +50560,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sihan) => [
-      q(6148),
+      q(6147),
       q(0),
       ],
    q(sihuas ancash quechua) => [
-      q(5718),
+      q(5717),
       q(0),
       ],
    q(sika) => [
-      q(6078),
+      q(6077),
       q(0),
       ],
    q(sikaiana) => [
-      q(6093),
+      q(6092),
       q(0),
       ],
    q(sikaritai) => [
-      q(6757),
+      q(6756),
       q(0),
       ],
    q(sikiana) => [
-      q(6041),
+      q(6040),
       q(0),
       ],
    q(sikkimese) => [
-      q(6044),
+      q(6043),
       q(0),
       ],
    q(siksika) => [
@@ -50558,87 +50592,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sikule) => [
-      q(6077),
+      q(6076),
       q(0),
       ],
    q(sila) => [
-      q(6109),
+      q(6108),
       q(0),
       ],
    q(silacayoapan mixtec) => [
-      q(4359),
+      q(4358),
       q(0),
       ],
    q(sileibi) => [
-      q(5917),
+      q(5916),
       q(0),
       ],
    q(silesian) => [
-      q(6352),
+      q(6351),
       q(0),
       ],
    q(silimo) => [
-      q(7249),
+      q(7248),
       q(0),
       ],
    q(siliput) => [
-      q(4345),
+      q(4344),
       q(0),
       ],
    q(silopi) => [
-      q(7499),
+      q(7498),
       q(0),
       ],
    q(silt'e) => [
-      q(6273),
+      q(6272),
       q(0),
       ],
    q(simaa) => [
-      q(6035),
+      q(6034),
       q(0),
       ],
    q(simba) => [
-      q(5923),
+      q(5922),
       q(0),
       ],
    q(simbali) => [
-      q(6119),
+      q(6118),
       q(0),
       ],
    q(simbari) => [
-      q(6115),
+      q(6114),
       q(0),
       ],
    q(simbo) => [
-      q(5902),
+      q(5901),
       q(0),
       ],
    q(simeku) => [
-      q(6133),
+      q(6132),
       q(0),
       ],
    q(simeulue) => [
-      q(6126),
+      q(6125),
       q(0),
       ],
    q(simte) => [
-      q(6127),
+      q(6126),
       q(0),
       ],
    q(sinagen) => [
-      q(6048),
+      q(6047),
       q(0),
       ],
    q(sinasina) => [
-      q(6247),
+      q(6246),
       q(0),
       ],
    q(sinaugoro) => [
-      q(6135),
+      q(6134),
       q(0),
       ],
    q(sindarin) => [
-      q(6062),
+      q(6061),
       q(0),
       ],
    q(sindhi) => [
@@ -50646,23 +50680,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sindhi bhil) => [
-      q(5914),
+      q(5913),
       q(0),
       ],
    q(sindihui mixtec) => [
-      q(7522),
+      q(7521),
       q(0),
       ],
    q(singa) => [
-      q(5999),
+      q(5998),
       q(0),
       ],
    q(singapore sign language) => [
-      q(6108),
+      q(6107),
       q(0),
       ],
    q(singpho) => [
-      q(6000),
+      q(5999),
       q(0),
       ],
    q(sinhala) => [
@@ -50674,15 +50708,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(sinicahua mixtec) => [
-      q(7513),
+      q(7512),
       q(0),
       ],
    q(sinicized miao) => [
-      q(2799),
+      q(2798),
       q(1),
       ],
    q(sininkere) => [
-      q(6085),
+      q(6084),
       q(0),
       ],
    q(sino-tibetan languages) => [
@@ -50690,23 +50724,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sinsauru) => [
-      q(6155),
+      q(6154),
       q(0),
       ],
    q(sinte romani) => [
-      q(5817),
+      q(5816),
       q(0),
       ],
    q(sinyar) => [
-      q(6342),
+      q(6341),
       q(0),
       ],
    q(sio) => [
-      q(7494),
+      q(7493),
       q(0),
       ],
    q(siona) => [
-      q(6144),
+      q(6143),
       q(0),
       ],
    q(siouan languages) => [
@@ -50714,11 +50748,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sipacapense) => [
-      q(5688),
+      q(5687),
       q(0),
       ],
    q(sira) => [
-      q(6305),
+      q(6304),
       q(0),
       ],
    q(siraya) => [
@@ -50730,51 +50764,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(siri) => [
-      q(6046),
+      q(6045),
       q(0),
       ],
    q(siriano) => [
-      q(6215),
+      q(6214),
       q(0),
       ],
    q(siriono) => [
-      q(6220),
+      q(6219),
       q(0),
       ],
    q(sirmauri) => [
-      q(6226),
+      q(6225),
       q(0),
       ],
    q(siroi) => [
-      q(6231),
+      q(6230),
       q(0),
       ],
    q(sishee) => [
-      q(6038),
+      q(6037),
       q(1),
       ],
    q(sissala) => [
-      q(6095),
+      q(6094),
       q(0),
       ],
    q(sissano) => [
-      q(6242),
+      q(6241),
       q(0),
       ],
    q(siuslaw) => [
-      q(6047),
+      q(6046),
       q(0),
       ],
    q(sivandi) => [
-      q(6052),
+      q(6051),
       q(0),
       ],
    q(siwai) => [
-      q(6050),
+      q(6049),
       q(0),
       ],
    q(siwi) => [
-      q(6053),
+      q(6052),
       q(0),
       ],
    q(siwu) => [
@@ -50786,15 +50820,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(skagit) => [
-      q(6070),
+      q(6069),
       q(0),
       ],
    q(skalvian) => [
-      q(6298),
+      q(6297),
       q(0),
       ],
    q(skepi creole dutch) => [
-      q(6091),
+      q(6090),
       q(0),
       ],
    q(skolt sami) => [
@@ -50802,7 +50836,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(skou) => [
-      q(6090),
+      q(6089),
       q(0),
       ],
    q(slave (athapascan)) => [
@@ -50814,7 +50848,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(slavomolisano) => [
-      q(6295),
+      q(6294),
       q(0),
       ],
    q(slovak) => [
@@ -50822,7 +50856,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(slovakian sign language) => [
-      q(6294),
+      q(6293),
       q(0),
       ],
    q(slovenian) => [
@@ -50830,31 +50864,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(small flowery miao) => [
-      q(5987),
+      q(5986),
       q(0),
       ],
    q(smarky kanum) => [
-      q(3731),
+      q(3730),
       q(0),
       ],
    q(snohomish) => [
-      q(6145),
+      q(6144),
       q(0),
       ],
    q(so) => [
-      q(6246),
+      q(6245),
       q(0),
       ],
    q(so (democratic republic of congo)) => [
-      q(6158),
+      q(6157),
       q(0),
       ],
    q(so'a) => [
-      q(6244),
+      q(6243),
       q(0),
       ],
    q(sobei) => [
-      q(6157),
+      q(6156),
       q(0),
       ],
    q(sochiapam chinantec) => [
@@ -50866,7 +50900,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(soga) => [
-      q(7447),
+      q(7446),
       q(0),
       ],
    q(sogdian) => [
@@ -50874,23 +50908,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(soi) => [
-      q(6163),
+      q(6162),
       q(0),
       ],
    q(sok) => [
-      q(6080),
+      q(6079),
       q(0),
       ],
    q(sokoro) => [
-      q(6164),
+      q(6163),
       q(0),
       ],
    q(solano) => [
-      q(7498),
+      q(7497),
       q(0),
       ],
    q(soli) => [
-      q(5925),
+      q(5924),
       q(0),
       ],
    q(solong) => [
@@ -50898,11 +50932,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(solos) => [
-      q(6165),
+      q(6164),
       q(0),
       ],
    q(som) => [
-      q(6116),
+      q(6115),
       q(0),
       ],
    q(somali) => [
@@ -50914,15 +50948,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(somrai) => [
-      q(6169),
+      q(6168),
       q(0),
       ],
    q(somray) => [
-      q(6128),
+      q(6127),
       q(0),
       ],
    q(somyev) => [
-      q(3326),
+      q(3325),
       q(0),
       ],
    q(sonaga) => [
@@ -50930,11 +50964,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sonde) => [
-      q(6011),
+      q(6010),
       q(0),
       ],
    q(songe) => [
-      q(6167),
+      q(6166),
       q(0),
       ],
    q(songhai languages) => [
@@ -50946,23 +50980,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(songo) => [
-      q(6166),
+      q(6165),
       q(0),
       ],
    q(songomeno) => [
-      q(6160),
+      q(6159),
       q(0),
       ],
    q(songoora) => [
-      q(6159),
+      q(6158),
       q(0),
       ],
    q(sonha) => [
-      q(6162),
+      q(6161),
       q(0),
       ],
    q(sonia) => [
-      q(6045),
+      q(6044),
       q(0),
       ],
    q(soninke) => [
@@ -50970,23 +51004,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sonsorol) => [
-      q(6172),
+      q(6171),
       q(0),
       ],
    q(soo) => [
-      q(6464),
+      q(6463),
       q(0),
       ],
    q(sop) => [
-      q(6943),
+      q(6942),
       q(0),
       ],
    q(soqotri) => [
-      q(6206),
+      q(6205),
       q(0),
       ],
    q(sora) => [
-      q(6209),
+      q(6208),
       q(0),
       ],
    q(sorbian languages) => [
@@ -50994,15 +51028,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sori-harengan) => [
-      q(5908),
+      q(5907),
       q(0),
       ],
    q(sorkhei) => [
-      q(6202),
+      q(6201),
       q(0),
       ],
    q(sorothaptic) => [
-      q(6329),
+      q(6328),
       q(0),
       ],
    q(sorsogon ayta) => [
@@ -51010,11 +51044,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sos kundi) => [
-      q(5950),
+      q(5949),
       q(0),
       ],
    q(sota kanum) => [
-      q(3592),
+      q(3591),
       q(0),
       ],
    q(sotho, southern) => [
@@ -51022,11 +51056,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sou) => [
-      q(6203),
+      q(6202),
       q(0),
       ],
    q(south african sign language) => [
-      q(5988),
+      q(5987),
       q(0),
       ],
    q(south american indian (other)) => [
@@ -51046,7 +51080,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(south bolivian quechua) => [
-      q(5684),
+      q(5683),
       q(0),
       ],
    q(south caucasian languages) => [
@@ -51054,7 +51088,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(south central banda) => [
-      q(4005),
+      q(4004),
       q(0),
       ],
    q(south central dinka) => [
@@ -51074,7 +51108,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(south lembata) => [
-      q(3980),
+      q(3979),
       q(0),
       ],
    q(south levantine arabic) => [
@@ -51082,11 +51116,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(south marquesan) => [
-      q(4491),
+      q(4490),
       q(0),
       ],
    q(south muyu) => [
-      q(3637),
+      q(3636),
       q(0),
       ],
    q(south ndebele) => [
@@ -51094,15 +51128,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(south nuaulu) => [
-      q(5147),
+      q(5146),
       q(0),
       ],
    q(south picene) => [
-      q(6195),
+      q(6194),
       q(0),
       ],
    q(south slavey) => [
-      q(7495),
+      q(7494),
       q(0),
       ],
    q(south slavic languages) => [
@@ -51110,7 +51144,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(south tairora) => [
-      q(5264),
+      q(5263),
       q(0),
       ],
    q(south ucayali asheninka) => [
@@ -51118,31 +51152,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(south watut) => [
-      q(4176),
+      q(4175),
       q(0),
       ],
    q(south west bay) => [
-      q(6149),
+      q(6148),
       q(0),
       ],
    q(southeast ambrym) => [
-      q(6782),
+      q(6781),
       q(0),
       ],
    q(southeast babar) => [
-      q(6985),
+      q(6984),
       q(0),
       ],
    q(southeast ijo) => [
-      q(2938),
+      q(2937),
       q(0),
       ],
    q(southeast pashai) => [
-      q(5614),
+      q(5613),
       q(0),
       ],
    q(southeast pashayi) => [
-      q(5614),
+      q(5613),
       q(1),
       ],
    q(southeastern dinka) => [
@@ -51154,27 +51188,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southeastern kolami) => [
-      q(4898),
+      q(4897),
       q(0),
       ],
    q(southeastern nochixtlan mixtec) => [
-      q(4670),
+      q(4669),
       q(0),
       ],
    q(southeastern pomo) => [
-      q(5561),
+      q(5560),
       q(0),
       ],
    q(southeastern puebla nahuatl) => [
-      q(5036),
+      q(5035),
       q(0),
       ],
    q(southeastern tarahumara) => [
-      q(6422),
+      q(6421),
       q(0),
       ],
    q(southeastern tepehuan) => [
-      q(6267),
+      q(6266),
       q(0),
       ],
    q(southern alta) => [
@@ -51206,7 +51240,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern binukidnon) => [
-      q(4576),
+      q(4575),
       q(0),
       ],
    q(southern birifor) => [
@@ -51218,7 +51252,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern bontok) => [
-      q(5189),
+      q(5188),
       q(0),
       ],
    q(southern carrier) => [
@@ -51230,7 +51264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern conchucos ancash quechua) => [
-      q(5725),
+      q(5724),
       q(0),
       ],
    q(southern dagaare) => [
@@ -51238,7 +51272,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern dong) => [
-      q(3455),
+      q(3454),
       q(0),
       ],
    q(southern east cree) => [
@@ -51254,43 +51288,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern grebo) => [
-      q(2619),
+      q(2618),
       q(0),
       ],
    q(southern guiyang hmong) => [
-      q(2798),
+      q(2797),
       q(0),
       ],
    q(southern guiyang miao) => [
-      q(2798),
+      q(2797),
       q(1),
       ],
    q(southern haida) => [
-      q(2729),
+      q(2728),
       q(0),
       ],
    q(southern hindko) => [
-      q(2801),
+      q(2800),
       q(0),
       ],
    q(southern kalapuya) => [
-      q(6325),
+      q(6324),
       q(0),
       ],
    q(southern kalinga) => [
-      q(3595),
+      q(3594),
       q(0),
       ],
    q(southern kisi) => [
-      q(3611),
+      q(3610),
       q(0),
       ],
    q(southern kiwai) => [
-      q(3380),
+      q(3379),
       q(0),
       ],
    q(southern kurdish) => [
-      q(5948),
+      q(5947),
       q(0),
       ],
    q(southern lolopo) => [
@@ -51298,23 +51332,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern luri) => [
-      q(4092),
+      q(4091),
       q(0),
       ],
    q(southern ma'di) => [
-      q(6143),
+      q(6142),
       q(0),
       ],
    q(southern mashan hmong) => [
-      q(2777),
+      q(2776),
       q(0),
       ],
    q(southern mashan miao) => [
-      q(2777),
+      q(2776),
       q(1),
       ],
    q(southern mnong) => [
-      q(4425),
+      q(4424),
       q(0),
       ],
    q(southern muji) => [
@@ -51322,27 +51356,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern nago) => [
-      q(5042),
+      q(5041),
       q(0),
       ],
    q(southern nambikuara) => [
-      q(4719),
+      q(4718),
       q(0),
       ],
    q(southern ngbandi) => [
-      q(4759),
+      q(4758),
       q(0),
       ],
    q(southern nicobarese) => [
-      q(4890),
+      q(4889),
       q(0),
       ],
    q(southern nisu) => [
-      q(5067),
+      q(5066),
       q(0),
       ],
    q(southern nuni) => [
-      q(5008),
+      q(5007),
       q(0),
       ],
    q(southern ohlone) => [
@@ -51350,47 +51384,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern one) => [
-      q(5314),
+      q(5313),
       q(0),
       ],
    q(southern pame) => [
-      q(5528),
+      q(5527),
       q(0),
       ],
    q(southern pashto) => [
-      q(5376),
+      q(5375),
       q(0),
       ],
    q(southern pastaza quechua) => [
-      q(5690),
+      q(5689),
       q(0),
       ],
    q(southern pomo) => [
-      q(5416),
+      q(5415),
       q(0),
       ],
    q(southern puebla mixtec) => [
-      q(4314),
+      q(4313),
       q(0),
       ],
    q(southern puget sound salish) => [
-      q(6099),
+      q(6098),
       q(0),
       ],
    q(southern pumi) => [
-      q(5515),
+      q(5514),
       q(0),
       ],
    q(southern qiandong miao) => [
-      q(2793),
+      q(2792),
       q(0),
       ],
    q(southern qiang) => [
-      q(5729),
+      q(5728),
       q(0),
       ],
    q(southern rengma naga) => [
-      q(5051),
+      q(5050),
       q(0),
       ],
    q(southern rincon zapotec) => [
@@ -51398,11 +51432,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern roglai) => [
-      q(5781),
+      q(5780),
       q(0),
       ],
    q(southern sama) => [
-      q(6229),
+      q(6228),
       q(0),
       ],
    q(southern sami) => [
@@ -51410,15 +51444,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern samo) => [
-      q(5904),
+      q(5903),
       q(0),
       ],
    q(southern sierra miwok) => [
-      q(6073),
+      q(6072),
       q(0),
       ],
    q(southern sorsoganon) => [
-      q(6224),
+      q(6223),
       q(0),
       ],
    q(southern sotho) => [
@@ -51426,35 +51460,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(southern subanen) => [
-      q(3792),
+      q(3791),
       q(0),
       ],
    q(southern thai) => [
-      q(6171),
+      q(6170),
       q(0),
       ],
    q(southern tiwa) => [
-      q(6534),
+      q(6533),
       q(0),
       ],
    q(southern toussian) => [
-      q(7126),
+      q(7125),
       q(0),
       ],
    q(southern tujia) => [
-      q(6544),
+      q(6543),
       q(0),
       ],
    q(southern tutchone) => [
-      q(6408),
+      q(6407),
       q(0),
       ],
    q(southern uzbek) => [
-      q(6968),
+      q(6967),
       q(0),
       ],
    q(southern yamphu) => [
-      q(4051),
+      q(4050),
       q(0),
       ],
    q(southern yukaghir) => [
@@ -51462,27 +51496,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southwest gbaya) => [
-      q(2637),
+      q(2636),
       q(0),
       ],
    q(southwest palawano) => [
-      q(5503),
+      q(5502),
       q(0),
       ],
    q(southwest pashai) => [
-      q(5613),
+      q(5612),
       q(0),
       ],
    q(southwest pashayi) => [
-      q(5613),
+      q(5612),
       q(1),
       ],
    q(southwest tanna) => [
-      q(5135),
+      q(5134),
       q(0),
       ],
    q(southwestern bontok) => [
-      q(6986),
+      q(6985),
       q(0),
       ],
    q(southwestern dinka) => [
@@ -51494,39 +51528,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southwestern guiyang hmong) => [
-      q(2783),
+      q(2782),
       q(0),
       ],
    q(southwestern huishui hmong) => [
-      q(2784),
+      q(2783),
       q(0),
       ],
    q(southwestern huishui miao) => [
-      q(2784),
+      q(2783),
       q(1),
       ],
    q(southwestern nisu) => [
-      q(5083),
+      q(5082),
       q(0),
       ],
    q(southwestern tarahumara) => [
-      q(6805),
+      q(6804),
       q(0),
       ],
    q(southwestern tepehuan) => [
-      q(6565),
+      q(6564),
       q(0),
       ],
    q(southwestern tlaxiaco mixtec) => [
-      q(4207),
+      q(4206),
       q(0),
       ],
    q(sowa) => [
-      q(6318),
+      q(6317),
       q(0),
       ],
    q(sowanda) => [
-      q(6173),
+      q(6172),
       q(0),
       ],
    q(sowari) => [
@@ -51534,11 +51568,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(soyaltepec mazatec) => [
-      q(7030),
+      q(7029),
       q(0),
       ],
    q(soyaltepec mixtec) => [
-      q(7031),
+      q(7030),
       q(0),
       ],
    q(spanish) => [
@@ -51546,19 +51580,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(spanish sign language) => [
-      q(6243),
+      q(6242),
       q(0),
       ],
    q(spiti bhoti) => [
-      q(6192),
+      q(6191),
       q(0),
       ],
    q(spokane) => [
-      q(6187),
+      q(6186),
       q(0),
       ],
    q(squamish) => [
-      q(6207),
+      q(6206),
       q(0),
       ],
    q(sranan tongo) => [
@@ -51566,11 +51600,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sri lankan creole malay) => [
-      q(5932),
+      q(5931),
       q(0),
       ],
    q(sri lankan sign language) => [
-      q(6205),
+      q(6204),
       q(0),
       ],
    q(standard arabic) => [
@@ -51582,7 +51616,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(standard latvian) => [
-      q(4095),
+      q(4094),
       q(0),
       ],
    q(standard malay) => [
@@ -51594,51 +51628,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(stellingwerfs) => [
-      q(6263),
+      q(6262),
       q(0),
       ],
    q(stod bhoti) => [
-      q(5921),
+      q(5920),
       q(0),
       ],
    q(stodsde) => [
-      q(3097),
+      q(3096),
       q(0),
       ],
    q(stoney) => [
-      q(6266),
+      q(6265),
       q(0),
       ],
    q(straits salish) => [
-      q(6269),
+      q(6268),
       q(0),
       ],
    q(suabo) => [
-      q(6354),
+      q(6353),
       q(0),
       ],
    q(suarmin) => [
-      q(5974),
+      q(5973),
       q(0),
       ],
    q(suau) => [
-      q(6311),
+      q(6310),
       q(0),
       ],
    q(suba) => [
-      q(6321),
+      q(6320),
       q(0),
       ],
    q(suba-simbiti) => [
-      q(6230),
+      q(6229),
       q(0),
       ],
    q(subiya) => [
-      q(5919),
+      q(5918),
       q(0),
       ],
    q(subtiaba) => [
-      q(6285),
+      q(6284),
       q(0),
       ],
    q(sudanese arabic) => [
@@ -51646,43 +51680,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sudanese creole arabic) => [
-      q(5425),
+      q(5424),
       q(0),
       ],
    q(sudest) => [
-      q(6484),
+      q(6483),
       q(0),
       ],
    q(sudovian) => [
-      q(7504),
+      q(7503),
       q(0),
       ],
    q(suena) => [
-      q(6279),
+      q(6278),
       q(0),
       ],
    q(suga) => [
-      q(5996),
+      q(5995),
       q(0),
       ],
    q(suganga) => [
-      q(6280),
+      q(6279),
       q(0),
       ],
    q(sugut dusun) => [
-      q(3784),
+      q(3783),
       q(0),
       ],
    q(sui) => [
-      q(6304),
+      q(6303),
       q(0),
       ],
    q(suki) => [
-      q(6281),
+      q(6280),
       q(0),
       ],
    q(suku) => [
-      q(6277),
+      q(6276),
       q(0),
       ],
    q(sukuma) => [
@@ -51690,7 +51724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sukur) => [
-      q(6337),
+      q(6336),
       q(0),
       ],
    q(sukurum) => [
@@ -51698,35 +51732,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sula) => [
-      q(6353),
+      q(6352),
       q(0),
       ],
    q(sulka) => [
-      q(6276),
+      q(6275),
       q(0),
       ],
    q(sulod) => [
-      q(6213),
+      q(6212),
       q(0),
       ],
    q(suma) => [
-      q(6200),
+      q(6199),
       q(0),
       ],
    q(sumariup) => [
-      q(6049),
+      q(6048),
       q(0),
       ],
    q(sumau) => [
-      q(6051),
+      q(6050),
       q(0),
       ],
    q(sumbawa) => [
-      q(6130),
+      q(6129),
       q(0),
       ],
    q(sumbwa) => [
-      q(6287),
+      q(6286),
       q(0),
       ],
    q(sumerian) => [
@@ -51734,7 +51768,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sumi naga) => [
-      q(5075),
+      q(5074),
       q(0),
       ],
    q(sumtu chin) => [
@@ -51742,7 +51776,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sunam) => [
-      q(6238),
+      q(6237),
       q(0),
       ],
    q(sundanese) => [
@@ -51754,7 +51788,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(sunwar) => [
-      q(6289),
+      q(6288),
       q(0),
       ],
    q(suomenruotsalainen viittomakieli) => [
@@ -51762,63 +51796,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(suoy) => [
-      q(6341),
+      q(6340),
       q(0),
       ],
    q(supyire senoufo) => [
-      q(6188),
+      q(6187),
       q(0),
       ],
    q(sur) => [
-      q(6438),
+      q(6437),
       q(0),
       ],
    q(surayt) => [
-      q(6706),
+      q(6705),
       q(1),
       ],
    q(surbakhal) => [
-      q(5910),
+      q(5909),
       q(0),
       ],
    q(surgujia) => [
-      q(5997),
+      q(5996),
       q(0),
       ],
    q(suri) => [
-      q(6283),
+      q(6282),
       q(0),
       ],
    q(surigaonon) => [
-      q(5992),
+      q(5991),
       q(0),
       ],
    q(surjapuri) => [
-      q(6064),
+      q(6063),
       q(0),
       ],
    q(sursurunga) => [
-      q(6008),
+      q(6007),
       q(0),
       ],
    q(suruaha) => [
-      q(6319),
+      q(6318),
       q(0),
       ],
    q(surubu) => [
-      q(5945),
+      q(5944),
       q(0),
       ],
    q(surui) => [
-      q(6223),
+      q(6222),
       q(0),
       ],
    q(surui do para) => [
-      q(4200),
+      q(4199),
       q(0),
       ],
    q(susquehannock) => [
-      q(6201),
+      q(6200),
       q(0),
       ],
    q(susu) => [
@@ -51826,27 +51860,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(susuami) => [
-      q(6248),
+      q(6247),
       q(0),
       ],
    q(suundi) => [
-      q(5949),
+      q(5948),
       q(0),
       ],
    q(suwawa) => [
-      q(6316),
+      q(6315),
       q(0),
       ],
    q(suya) => [
-      q(6288),
+      q(6287),
       q(0),
       ],
    q(svan) => [
-      q(6290),
+      q(6289),
       q(0),
       ],
    q(swabian) => [
-      q(6302),
+      q(6301),
       q(0),
       ],
    q(swahili) => [
@@ -51854,7 +51888,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(swahili (individual language)) => [
-      q(6303),
+      q(6302),
       q(0),
       ],
    q(swahili (macrolanguage)) => [
@@ -51874,7 +51908,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(swedish sign language) => [
-      q(6307),
+      q(6306),
       q(0),
       ],
    q(swiss german) => [
@@ -51882,27 +51916,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(swiss-french sign language) => [
-      q(6245),
+      q(6244),
       q(0),
       ],
    q(swiss-german sign language) => [
-      q(5994),
+      q(5993),
       q(0),
       ],
    q(swiss-italian sign language) => [
-      q(6097),
+      q(6096),
       q(0),
       ],
    q(swo) => [
-      q(6174),
+      q(6173),
       q(0),
       ],
    q(syenara senoufo) => [
-      q(6032),
+      q(6031),
       q(0),
       ],
    q(sylheti) => [
-      q(6338),
+      q(6337),
       q(0),
       ],
    q(syriac) => [
@@ -51910,7 +51944,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(t'en) => [
-      q(6421),
+      q(6420),
       q(0),
       ],
    q(ta'izzi-adeni arabic) => [
@@ -51918,7 +51952,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(taabwa) => [
-      q(6369),
+      q(6368),
       q(0),
       ],
    q(tabaa zapotec) => [
@@ -51926,7 +51960,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tabaru) => [
-      q(6402),
+      q(6401),
       q(0),
       ],
    q(tabasco chontal) => [
@@ -51934,7 +51968,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tabasco nahuatl) => [
-      q(4861),
+      q(4860),
       q(0),
       ],
    q(tabasco zoque) => [
@@ -51942,39 +51976,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tabassaran) => [
-      q(6358),
+      q(6357),
       q(0),
       ],
    q(tabla) => [
-      q(6620),
+      q(6619),
       q(0),
       ],
    q(tabo) => [
-      q(3499),
+      q(3498),
       q(0),
       ],
    q(tabriak) => [
-      q(6850),
+      q(6849),
       q(0),
       ],
    q(tacahua mixtec) => [
-      q(7523),
+      q(7522),
       q(0),
       ],
    q(tacana) => [
-      q(6610),
+      q(6609),
       q(0),
       ],
    q(tachawit) => [
-      q(6031),
+      q(6030),
       q(0),
       ],
    q(tachelhit) => [
-      q(6016),
+      q(6015),
       q(0),
       ],
    q(tachoni) => [
-      q(4074),
+      q(4073),
       q(0),
       ],
    q(tadaksahak) => [
@@ -51982,15 +52016,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tadyawan) => [
-      q(6448),
+      q(6447),
       q(0),
       ],
    q(tae') => [
-      q(5836),
+      q(5835),
       q(0),
       ],
    q(tafi) => [
-      q(6407),
+      q(6406),
       q(0),
       ],
    q(tagabawa) => [
@@ -51998,15 +52032,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tagakaulo) => [
-      q(3434),
+      q(3433),
       q(0),
       ],
    q(tagal murut) => [
-      q(4619),
+      q(4618),
       q(0),
       ],
    q(tagalaka) => [
-      q(6495),
+      q(6494),
       q(0),
       ],
    q(tagalog) => [
@@ -52014,39 +52048,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tagargrent) => [
-      q(5333),
+      q(5332),
       q(0),
       ],
    q(tagbanwa) => [
-      q(6400),
+      q(6399),
       q(0),
       ],
    q(tagbu) => [
-      q(6391),
+      q(6390),
       q(0),
       ],
    q(tagdal) => [
-      q(6427),
+      q(6426),
       q(0),
       ],
    q(tagin) => [
-      q(6482),
+      q(6481),
       q(0),
       ],
    q(tagish) => [
-      q(6493),
+      q(6492),
       q(0),
       ],
    q(tagoi) => [
-      q(6363),
+      q(6362),
       q(0),
       ],
    q(tagwana senoufo) => [
-      q(6492),
+      q(6491),
       q(0),
       ],
    q(tahaggart tamahaq) => [
-      q(6512),
+      q(6511),
       q(0),
       ],
    q(tahitian) => [
@@ -52054,15 +52088,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tahltan) => [
-      q(6510),
+      q(6509),
       q(0),
       ],
    q(tai) => [
-      q(6375),
+      q(6374),
       q(0),
       ],
    q(tai daeng) => [
-      q(6837),
+      q(6836),
       q(0),
       ],
    q(tai dam) => [
@@ -52070,23 +52104,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tai do) => [
-      q(6833),
+      q(6832),
       q(0),
       ],
    q(tai don) => [
-      q(6798),
+      q(6797),
       q(0),
       ],
    q(tai hang tong) => [
-      q(6496),
+      q(6495),
       q(0),
       ],
    q(tai hongjin) => [
-      q(6536),
+      q(6535),
       q(0),
       ],
    q(tai laing) => [
-      q(6540),
+      q(6539),
       q(0),
       ],
    q(tai languages) => [
@@ -52094,27 +52128,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tai loi) => [
-      q(6578),
+      q(6577),
       q(0),
       ],
    q(tai long) => [
-      q(6501),
+      q(6500),
       q(0),
       ],
    q(tai mene) => [
-      q(6600),
+      q(6599),
       q(0),
       ],
    q(tai nua) => [
-      q(6430),
+      q(6429),
       q(0),
       ],
    q(tai pao) => [
-      q(6665),
+      q(6664),
       q(0),
       ],
    q(tai thanh) => [
-      q(6597),
+      q(6596),
       q(0),
       ],
    q(tai ya) => [
@@ -52122,7 +52156,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(taiap) => [
-      q(2608),
+      q(2607),
       q(0),
       ],
    q(taikat) => [
@@ -52134,7 +52168,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(taino) => [
-      q(6624),
+      q(6623),
       q(0),
       ],
    q(tairaha) => [
@@ -52142,7 +52176,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tairuma) => [
-      q(6853),
+      q(6852),
       q(0),
       ],
    q(taita) => [
@@ -52150,11 +52184,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(taiwan sign language) => [
-      q(6726),
+      q(6725),
       q(0),
       ],
    q(taje) => [
-      q(5406),
+      q(5405),
       q(0),
       ],
    q(tajik) => [
@@ -52166,43 +52200,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tajio) => [
-      q(6436),
+      q(6435),
       q(0),
       ],
    q(tajuasohn) => [
-      q(6537),
+      q(6536),
       q(0),
       ],
    q(takelma) => [
-      q(6553),
+      q(6552),
       q(0),
       ],
    q(takestani) => [
-      q(6558),
+      q(6557),
       q(0),
       ],
    q(takia) => [
-      q(6381),
+      q(6380),
       q(0),
       ],
    q(takua) => [
-      q(6564),
+      q(6563),
       q(0),
       ],
    q(takuu) => [
-      q(4871),
+      q(4870),
       q(0),
       ],
    q(takwane) => [
-      q(6550),
+      q(6549),
       q(0),
       ],
    q(tal) => [
-      q(6366),
+      q(6365),
       q(0),
       ],
    q(tala) => [
-      q(6365),
+      q(6364),
       q(0),
       ],
    q(talaandig) => [
@@ -52210,39 +52244,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(talaud) => [
-      q(6568),
+      q(6567),
       q(0),
       ],
    q(taliabu) => [
-      q(6583),
+      q(6582),
       q(0),
       ],
    q(talieng) => [
-      q(6432),
+      q(6431),
       q(0),
       ],
    q(talinga-bwisi) => [
-      q(6571),
+      q(6570),
       q(0),
       ],
    q(talise) => [
-      q(6579),
+      q(6578),
       q(0),
       ],
    q(talodi) => [
-      q(6576),
+      q(6575),
       q(0),
       ],
    q(taloki) => [
-      q(6572),
+      q(6571),
       q(0),
       ],
    q(talondo') => [
-      q(6575),
+      q(6574),
       q(0),
       ],
    q(talossan) => [
-      q(6846),
+      q(6845),
       q(0),
       ],
    q(talu) => [
@@ -52250,31 +52284,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(talysh) => [
-      q(6585),
+      q(6584),
       q(0),
       ],
    q(tama (chad)) => [
-      q(6586),
+      q(6585),
       q(0),
       ],
    q(tama (colombia)) => [
-      q(6459),
+      q(6458),
       q(0),
       ],
    q(tamagario) => [
-      q(6410),
+      q(6409),
       q(0),
       ],
    q(taman (indonesia)) => [
-      q(6598),
+      q(6597),
       q(0),
       ],
    q(taman (myanmar)) => [
-      q(6414),
+      q(6413),
       q(0),
       ],
    q(tamanaku) => [
-      q(6609),
+      q(6608),
       q(0),
       ],
    q(tamashek) => [
@@ -52282,31 +52316,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tamasheq) => [
-      q(6370),
+      q(6369),
       q(0),
       ],
    q(tamazola mixtec) => [
-      q(7037),
+      q(7036),
       q(0),
       ],
    q(tambas) => [
-      q(6437),
+      q(6436),
       q(0),
       ],
    q(tambora) => [
-      q(7563),
+      q(7562),
       q(0),
       ],
    q(tambotalo) => [
-      q(6580),
+      q(6579),
       q(0),
       ],
    q(tambunan dusun) => [
-      q(3785),
+      q(3784),
       q(0),
       ],
    q(tami) => [
-      q(6608),
+      q(6607),
       q(0),
       ],
    q(tamil) => [
@@ -52314,79 +52348,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tamki) => [
-      q(6376),
+      q(6375),
       q(0),
       ],
    q(tamnim citak) => [
-      q(6596),
+      q(6595),
       q(0),
       ],
    q(tampias lobu) => [
-      q(4033),
+      q(4032),
       q(0),
       ],
    q(tampuan) => [
-      q(6670),
+      q(6669),
       q(0),
       ],
    q(tampulma) => [
-      q(6663),
+      q(6662),
       q(0),
       ],
    q(tanacross) => [
-      q(6405),
+      q(6404),
       q(0),
       ],
    q(tanahmerah) => [
-      q(6415),
+      q(6414),
       q(0),
       ],
    q(tanaina) => [
-      q(6470),
+      q(6469),
       q(0),
       ],
    q(tanapag) => [
-      q(6671),
+      q(6670),
       q(0),
       ],
    q(tandaganon) => [
-      q(6483),
+      q(6482),
       q(0),
       ],
    q(tandia) => [
-      q(6617),
+      q(6616),
       q(0),
       ],
    q(tandroy-mahafaly malagasy) => [
-      q(6447),
+      q(6446),
       q(0),
       ],
    q(tanema) => [
-      q(6631),
+      q(6630),
       q(0),
       ],
    q(tangale) => [
-      q(6367),
+      q(6366),
       q(0),
       ],
    q(tangchangya) => [
-      q(6629),
+      q(6628),
       q(0),
       ],
    q(tanggu) => [
-      q(6490),
+      q(6489),
       q(0),
       ],
    q(tangkhul naga (india)) => [
-      q(4966),
+      q(4965),
       q(0),
       ],
    q(tangkhul naga (myanmar)) => [
-      q(5100),
+      q(5099),
       q(0),
       ],
    q(tangko) => [
-      q(6563),
+      q(6562),
       q(0),
       ],
    q(tanglang) => [
@@ -52394,47 +52428,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tangoa) => [
-      q(6485),
+      q(6484),
       q(0),
       ],
    q(tanguat) => [
-      q(6396),
+      q(6395),
       q(0),
       ],
    q(tangut) => [
-      q(6815),
+      q(6814),
       q(0),
       ],
    q(tanimbili) => [
-      q(6383),
+      q(6382),
       q(0),
       ],
    q(tanimuca-retuara) => [
-      q(6612),
+      q(6611),
       q(0),
       ],
    q(tanjijili) => [
-      q(6878),
+      q(6877),
       q(0),
       ],
    q(tankarana malagasy) => [
-      q(7426),
+      q(7425),
       q(1),
       ],
    q(tanosy malagasy) => [
-      q(6828),
+      q(6827),
       q(0),
       ],
    q(tanudan kalinga) => [
-      q(3464),
+      q(3463),
       q(0),
       ],
    q(tanzanian sign language) => [
-      q(6843),
+      q(6842),
       q(0),
       ],
    q(tapeba) => [
-      q(6380),
+      q(6379),
       q(0),
       ],
    q(tapei) => [
@@ -52442,63 +52476,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tapiete) => [
-      q(6660),
+      q(6659),
       q(0),
       ],
    q(tapirape) => [
-      q(6362),
+      q(6361),
       q(0),
       ],
    q(tarao naga) => [
-      q(6700),
+      q(6699),
       q(0),
       ],
    q(tareng) => [
-      q(6487),
+      q(6486),
       q(0),
       ],
    q(tariana) => [
-      q(6361),
+      q(6360),
       q(0),
       ],
    q(tarifit) => [
-      q(5787),
+      q(5786),
       q(0),
       ],
    q(tarjumo) => [
-      q(6818),
+      q(6817),
       q(0),
       ],
    q(tarok) => [
-      q(7626),
+      q(7625),
       q(0),
       ],
    q(taroko) => [
-      q(6707),
+      q(6706),
       q(0),
       ],
    q(tarpia) => [
-      q(6658),
+      q(6657),
       q(0),
       ],
    q(tartessian) => [
-      q(6823),
+      q(6822),
       q(0),
       ],
    q(tasawaq) => [
-      q(6804),
+      q(6803),
       q(0),
       ],
    q(tase naga) => [
-      q(5081),
+      q(5080),
       q(0),
       ],
    q(tasmanian) => [
-      q(7528),
+      q(7527),
       q(0),
       ],
    q(tasmate) => [
-      q(6604),
+      q(6603),
       q(0),
       ],
    q(tataltepec chatino) => [
@@ -52506,7 +52540,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tatana) => [
-      q(6827),
+      q(6826),
       q(0),
       ],
    q(tatar) => [
@@ -52514,103 +52548,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tatuyo) => [
-      q(6374),
+      q(6373),
       q(0),
       ],
    q(tauade) => [
-      q(6737),
+      q(6736),
       q(0),
       ],
    q(taulil) => [
-      q(6766),
+      q(6765),
       q(0),
       ],
    q(taungyo) => [
-      q(6417),
+      q(6416),
       q(0),
       ],
    q(taupota) => [
-      q(6655),
+      q(6654),
       q(0),
       ],
    q(tause) => [
-      q(6360),
+      q(6359),
       q(0),
       ],
    q(taushiro) => [
-      q(6703),
+      q(6702),
       q(0),
       ],
    q(tausug) => [
-      q(6717),
+      q(6716),
       q(0),
       ],
    q(tauya) => [
-      q(6829),
+      q(6828),
       q(0),
       ],
    q(taveta) => [
-      q(6786),
+      q(6785),
       q(0),
       ],
    q(tavoyan) => [
-      q(6784),
+      q(6783),
       q(0),
       ],
    q(tavringer romani) => [
-      q(5822),
+      q(5821),
       q(0),
       ],
    q(tawala) => [
-      q(6393),
+      q(6392),
       q(0),
       ],
    q(tawallammat tamajaq) => [
-      q(6750),
+      q(6749),
       q(0),
       ],
    q(tawande) => [
-      q(7526),
+      q(7525),
       q(0),
       ],
    q(tawang monpa) => [
-      q(6800),
+      q(6799),
       q(0),
       ],
    q(tawara) => [
-      q(6799),
+      q(6798),
       q(0),
       ],
    q(taworta) => [
-      q(6394),
+      q(6393),
       q(0),
       ],
    q(tawoyan) => [
-      q(6810),
+      q(6809),
       q(0),
       ],
    q(tawr chin) => [
-      q(6418),
+      q(6417),
       q(0),
       ],
    q(tay) => [
-      q(6842),
+      q(6841),
       q(0),
       ],
    q(tay boi) => [
-      q(6372),
+      q(6371),
       q(0),
       ],
    q(tay khang) => [
-      q(6628),
+      q(6627),
       q(0),
       ],
    q(tay sa pa) => [
-      q(6838),
+      q(6837),
       q(0),
       ],
    q(tay tac) => [
-      q(6839),
+      q(6838),
       q(0),
       ],
    q(tayabas ayta) => [
@@ -52618,7 +52652,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tayart tamajeq) => [
-      q(6515),
+      q(6514),
       q(0),
       ],
    q(tayo) => [
@@ -52626,15 +52660,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(taznatit) => [
-      q(2623),
+      q(2622),
       q(0),
       ],
    q(tboli) => [
-      q(6390),
+      q(6389),
       q(0),
       ],
    q(tchitchege) => [
-      q(6413),
+      q(6412),
       q(0),
       ],
    q(tchumbuli) => [
@@ -52642,11 +52676,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(te'un) => [
-      q(6781),
+      q(6780),
       q(0),
       ],
    q(teanu) => [
-      q(6562),
+      q(6561),
       q(0),
       ],
    q(tebi) => [
@@ -52654,7 +52688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(tebul sign language) => [
-      q(6732),
+      q(6731),
       q(0),
       ],
    q(tebul ure dogon) => [
@@ -52662,11 +52696,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tecpatlan totonac) => [
-      q(6423),
+      q(6422),
       q(0),
       ],
    q(tedaga) => [
-      q(6772),
+      q(6771),
       q(0),
       ],
    q(tedim chin) => [
@@ -52674,27 +52708,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tee) => [
-      q(6556),
+      q(6555),
       q(0),
       ],
    q(teen) => [
-      q(4028),
+      q(4027),
       q(0),
       ],
    q(tefaro) => [
-      q(6471),
+      q(6470),
       q(0),
       ],
    q(tegali) => [
-      q(5749),
+      q(5748),
       q(0),
       ],
    q(tehit) => [
-      q(3539),
+      q(3538),
       q(0),
       ],
    q(tehuelche) => [
-      q(6456),
+      q(6455),
       q(0),
       ],
    q(tejalapan zapotec) => [
@@ -52706,43 +52740,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(teke-fuumu) => [
-      q(2917),
+      q(2916),
       q(0),
       ],
    q(teke-kukuya) => [
-      q(3424),
+      q(3423),
       q(0),
       ],
    q(teke-laali) => [
-      q(3963),
+      q(3962),
       q(0),
       ],
    q(teke-nzikou) => [
-      q(5181),
+      q(5180),
       q(0),
       ],
    q(teke-tege) => [
-      q(6455),
+      q(6454),
       q(0),
       ],
    q(teke-tsaayi) => [
-      q(6832),
+      q(6831),
       q(0),
       ],
    q(teke-tyee) => [
-      q(6841),
+      q(6840),
       q(0),
       ],
    q(tektiteko) => [
-      q(6736),
+      q(6735),
       q(0),
       ],
    q(tela-masbuar) => [
-      q(6783),
+      q(6782),
       q(0),
       ],
    q(telefol) => [
-      q(6569),
+      q(6568),
       q(0),
       ],
    q(telugu) => [
@@ -52750,63 +52784,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(teluti) => [
-      q(6581),
+      q(6580),
       q(0),
       ],
    q(tem) => [
-      q(3240),
+      q(3239),
       q(0),
       ],
    q(temacine tamazight) => [
-      q(6543),
+      q(6542),
       q(0),
       ],
    q(temascaltepec nahuatl) => [
-      q(4877),
+      q(4876),
       q(0),
       ],
    q(tembe) => [
-      q(6676),
+      q(6675),
       q(0),
       ],
    q(tembo (kitembo)) => [
-      q(6397),
+      q(6396),
       q(0),
       ],
    q(tembo (motembo)) => [
-      q(6606),
+      q(6605),
       q(0),
       ],
    q(teme) => [
-      q(6440),
+      q(6439),
       q(0),
       ],
    q(temein) => [
-      q(6462),
+      q(6461),
       q(0),
       ],
    q(temi) => [
-      q(6176),
+      q(6175),
       q(0),
       ],
    q(temiar) => [
-      q(6449),
+      q(6448),
       q(0),
       ],
    q(temoaya otomi) => [
-      q(5327),
+      q(5326),
       q(0),
       ],
    q(temoq) => [
-      q(6599),
+      q(6598),
       q(0),
       ],
    q(tempasuk dusun) => [
-      q(6445),
+      q(6444),
       q(0),
       ],
    q(temuan) => [
-      q(6607),
+      q(6606),
       q(0),
       ],
    q(tena) => [
@@ -52814,11 +52848,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(tena lowland quichua) => [
-      q(5695),
+      q(5694),
       q(0),
       ],
    q(tenango otomi) => [
-      q(5323),
+      q(5322),
       q(0),
       ],
    q(tene kan dogon) => [
@@ -52826,39 +52860,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tenggarong kutai malay) => [
-      q(7013),
+      q(7012),
       q(0),
       ],
    q(tengger) => [
-      q(6463),
+      q(6462),
       q(0),
       ],
    q(tenharim) => [
-      q(5350),
+      q(5349),
       q(0),
       ],
    q(tenino) => [
-      q(6679),
+      q(6678),
       q(0),
       ],
    q(tenis) => [
-      q(6626),
+      q(6625),
       q(0),
       ],
    q(tennet) => [
-      q(6467),
+      q(6466),
       q(0),
       ],
    q(teop) => [
-      q(6527),
+      q(6526),
       q(0),
       ],
    q(teor) => [
-      q(6465),
+      q(6464),
       q(0),
       ],
    q(tepecano) => [
-      q(6461),
+      q(6460),
       q(0),
       ],
    q(tepetotutla chinantec) => [
@@ -52874,19 +52908,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tepo krumen) => [
-      q(6452),
+      q(6451),
       q(0),
       ],
    q(ter sami) => [
-      q(6067),
+      q(6066),
       q(0),
       ],
    q(tera) => [
-      q(6751),
+      q(6750),
       q(0),
       ],
    q(terebu) => [
-      q(6688),
+      q(6687),
       q(0),
       ],
    q(terei) => [
@@ -52898,59 +52932,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(teressa) => [
-      q(6454),
+      q(6453),
       q(0),
       ],
    q(tereweng) => [
-      q(6797),
+      q(6796),
       q(0),
       ],
    q(teribe) => [
-      q(6472),
+      q(6471),
       q(0),
       ],
    q(terik) => [
-      q(6451),
+      q(6450),
       q(0),
       ],
    q(termanu) => [
-      q(6807),
+      q(6806),
       q(0),
       ],
    q(ternate) => [
-      q(6473),
+      q(6472),
       q(0),
       ],
    q(ternateno) => [
-      q(6592),
+      q(6591),
       q(0),
       ],
    q(tesaka malagasy) => [
-      q(6552),
+      q(6551),
       q(0),
       ],
    q(tese) => [
-      q(3262),
+      q(3261),
       q(0),
       ],
    q(teshenawa) => [
-      q(6793),
+      q(6792),
       q(0),
       ],
    q(teso) => [
-      q(6460),
+      q(6459),
       q(0),
       ],
    q(tetela) => [
-      q(6573),
+      q(6572),
       q(0),
       ],
    q(tetelcingo nahuatl) => [
-      q(4865),
+      q(4864),
       q(0),
       ],
    q(tetete) => [
-      q(6450),
+      q(6449),
       q(0),
       ],
    q(tetum) => [
@@ -52958,7 +52992,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tetun dili) => [
-      q(6444),
+      q(6443),
       q(0),
       ],
    q(teutila cuicatec) => [
@@ -52966,23 +53000,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tewa (indonesia)) => [
-      q(6795),
+      q(6794),
       q(0),
       ],
    q(tewa (usa)) => [
-      q(6466),
+      q(6465),
       q(0),
       ],
    q(tewe) => [
-      q(6809),
+      q(6808),
       q(0),
       ],
    q(texcatepec otomi) => [
-      q(5330),
+      q(5329),
       q(0),
       ],
    q(texistepec popoluca) => [
-      q(5564),
+      q(5563),
       q(0),
       ],
    q(texmelucan zapotec) => [
@@ -52990,19 +53024,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tezoatlan mixtec) => [
-      q(4647),
+      q(4646),
       q(0),
       ],
    q(tha) => [
-      q(6514),
+      q(6513),
       q(0),
       ],
    q(thachanadan) => [
-      q(6505),
+      q(6504),
       q(0),
       ],
    q(thado chin) => [
-      q(6426),
+      q(6425),
       q(0),
       ],
    q(thai) => [
@@ -53010,11 +53044,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(thai sign language) => [
-      q(6724),
+      q(6723),
       q(0),
       ],
    q(thai song) => [
-      q(6156),
+      q(6155),
       q(0),
       ],
    q(thaiphum chin) => [
@@ -53022,47 +53056,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(thakali) => [
-      q(6509),
+      q(6508),
       q(0),
       ],
    q(thangal naga) => [
-      q(4929),
+      q(4928),
       q(0),
       ],
    q(thangmi) => [
-      q(6499),
+      q(6498),
       q(0),
       ],
    q(thao) => [
-      q(6233),
+      q(6232),
       q(0),
       ],
    q(tharaka) => [
-      q(6502),
+      q(6501),
       q(0),
       ],
    q(thawa) => [
-      q(7525),
+      q(7524),
       q(0),
       ],
    q(thayore) => [
-      q(6497),
+      q(6496),
       q(0),
       ],
    q(thaypan) => [
-      q(6836),
+      q(6835),
       q(0),
       ],
    q(thiin) => [
-      q(2933),
+      q(2932),
       q(0),
       ],
    q(tho) => [
-      q(6649),
+      q(6648),
       q(0),
       ],
    q(thompson) => [
-      q(6506),
+      q(6505),
       q(0),
       ],
    q(thopho) => [
@@ -53070,27 +53104,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(thracian) => [
-      q(6816),
+      q(6815),
       q(0),
       ],
    q(thu lao) => [
-      q(6834),
+      q(6833),
       q(0),
       ],
    q(thudam) => [
-      q(6513),
+      q(6512),
       q(0),
       ],
    q(thulung) => [
-      q(6434),
+      q(6433),
       q(0),
       ],
    q(thurawal) => [
-      q(6386),
+      q(6385),
       q(0),
       ],
    q(thuri) => [
-      q(6511),
+      q(6510),
       q(0),
       ],
    q(tiagbamrin aizi) => [
@@ -53098,15 +53132,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tiale) => [
-      q(4423),
+      q(4422),
       q(0),
       ],
    q(tiang) => [
-      q(6388),
+      q(6387),
       q(0),
       ],
    q(tibea) => [
-      q(4857),
+      q(4856),
       q(0),
       ],
    q(tibetan) => [
@@ -53118,31 +53152,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tichurong) => [
-      q(6416),
+      q(6415),
       q(0),
       ],
    q(ticuna) => [
-      q(6404),
+      q(6403),
       q(0),
       ],
    q(tidaa mixtec) => [
-      q(4577),
+      q(4576),
       q(0),
       ],
    q(tidikelt tamazight) => [
-      q(6516),
+      q(6515),
       q(0),
       ],
    q(tidong) => [
-      q(6518),
+      q(6517),
       q(0),
       ],
    q(tidore) => [
-      q(6785),
+      q(6784),
       q(0),
       ],
    q(tiefo) => [
-      q(6529),
+      q(6528),
       q(0),
       ],
    q(tiemacewe bozo) => [
@@ -53150,7 +53184,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tiene) => [
-      q(6521),
+      q(6520),
       q(0),
       ],
    q(tieyaxo bozo) => [
@@ -53158,15 +53192,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tifal) => [
-      q(6519),
+      q(6518),
       q(0),
       ],
    q(tigak) => [
-      q(6476),
+      q(6475),
       q(0),
       ],
    q(tigon mbembe) => [
-      q(5176),
+      q(5175),
       q(0),
       ],
    q(tigre) => [
@@ -53178,27 +53212,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tii) => [
-      q(6822),
+      q(6821),
       q(0),
       ],
    q(tijaltepec mixtec) => [
-      q(7515),
+      q(7514),
       q(0),
       ],
    q(tikar) => [
-      q(6523),
+      q(6522),
       q(0),
       ],
    q(tikopia) => [
-      q(6555),
+      q(6554),
       q(0),
       ],
    q(tilapa otomi) => [
-      q(5321),
+      q(5320),
       q(0),
       ],
    q(tillamook) => [
-      q(6524),
+      q(6523),
       q(0),
       ],
    q(tilquiapan zapotec) => [
@@ -53206,19 +53240,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tilung) => [
-      q(6522),
+      q(6521),
       q(0),
       ],
    q(tima) => [
-      q(6603),
+      q(6602),
       q(0),
       ],
    q(timbe) => [
-      q(6525),
+      q(6524),
       q(0),
       ],
    q(timbisha) => [
-      q(5355),
+      q(5354),
       q(1),
       ],
    q(timne) => [
@@ -53226,55 +53260,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(timor pidgin) => [
-      q(6790),
+      q(6789),
       q(0),
       ],
    q(timucua) => [
-      q(6541),
+      q(6540),
       q(0),
       ],
    q(timugon murut) => [
-      q(6520),
+      q(6519),
       q(0),
       ],
    q(tinani) => [
-      q(3816),
+      q(3815),
       q(0),
       ],
    q(tindi) => [
-      q(6526),
+      q(6525),
       q(0),
       ],
    q(tingui-boto) => [
-      q(6491),
+      q(6490),
       q(0),
       ],
    q(tinigua) => [
-      q(6531),
+      q(6530),
       q(0),
       ],
    q(tinoc kallahan) => [
-      q(6614),
+      q(6613),
       q(0),
       ],
    q(tinputz) => [
-      q(6675),
+      q(6674),
       q(0),
       ],
    q(tippera) => [
-      q(6657),
+      q(6656),
       q(0),
       ],
    q(tira) => [
-      q(6517),
+      q(6516),
       q(0),
       ],
    q(tirahi) => [
-      q(6687),
+      q(6686),
       q(0),
       ],
    q(tiranige diga dogon) => [
-      q(6431),
+      q(6430),
       q(0),
       ],
    q(tiri) => [
@@ -53282,15 +53316,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tiruray) => [
-      q(6535),
+      q(6534),
       q(0),
       ],
    q(tita) => [
-      q(6441),
+      q(6440),
       q(0),
       ],
    q(titan) => [
-      q(6755),
+      q(6754),
       q(0),
       ],
    q(tiv) => [
@@ -53298,27 +53332,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tiwa) => [
-      q(3809),
+      q(3808),
       q(0),
       ],
    q(tiwi) => [
-      q(6533),
+      q(6532),
       q(0),
       ],
    q(tjurruru) => [
-      q(6545),
+      q(6544),
       q(0),
       ],
    q(tlachichilco tepehua) => [
-      q(6669),
+      q(6668),
       q(0),
       ],
    q(tlacoapa me'phaa) => [
-      q(6662),
+      q(6661),
       q(0),
       ],
    q(tlacoapa tlapanec) => [
-      q(6662),
+      q(6661),
       q(1),
       ],
    q(tlacoatzintepec chinantec) => [
@@ -53330,15 +53364,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tlahuitoltepec mixe) => [
-      q(4661),
+      q(4660),
       q(0),
       ],
    q(tlamacazapa nahuatl) => [
-      q(5127),
+      q(5126),
       q(0),
       ],
    q(tlazoyaltepec mixtec) => [
-      q(4486),
+      q(4485),
       q(0),
       ],
    q(tlhingan-hol) => [
@@ -53350,51 +53384,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(to) => [
-      q(6654),
+      q(6653),
       q(0),
       ],
    q(to'abaita) => [
-      q(4384),
+      q(4383),
       q(0),
       ],
    q(toaripi) => [
-      q(6680),
+      q(6679),
       q(0),
       ],
    q(toba) => [
-      q(6634),
+      q(6633),
       q(0),
       ],
    q(toba-maskoy) => [
-      q(6591),
+      q(6590),
       q(0),
       ],
    q(tobagonian creole english) => [
-      q(6480),
+      q(6479),
       q(0),
       ],
    q(tobanga) => [
-      q(6615),
+      q(6614),
       q(0),
       ],
    q(tobati) => [
-      q(6742),
+      q(6741),
       q(0),
       ],
    q(tobelo) => [
-      q(6566),
+      q(6565),
       q(0),
       ],
    q(tobian) => [
-      q(6652),
+      q(6651),
       q(0),
       ],
    q(tobilung) => [
-      q(6475),
+      q(6474),
       q(0),
       ],
    q(tobo) => [
-      q(6399),
+      q(6398),
       q(0),
       ],
    q(tocantins asurini) => [
@@ -53402,39 +53436,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tocho) => [
-      q(6378),
+      q(6377),
       q(0),
       ],
    q(toda) => [
-      q(6424),
+      q(6423),
       q(0),
       ],
    q(todrah) => [
-      q(6442),
+      q(6441),
       q(0),
       ],
    q(tofanma) => [
-      q(6570),
+      q(6569),
       q(0),
       ],
    q(tofin gbe) => [
-      q(6469),
+      q(6468),
       q(0),
       ],
    q(togbo-vara banda) => [
-      q(6647),
+      q(6646),
       q(0),
       ],
    q(togoyo) => [
-      q(6494),
+      q(6493),
       q(0),
       ],
    q(tohono o'odham) => [
-      q(5282),
+      q(5281),
       q(0),
       ],
    q(tojolabal) => [
-      q(6641),
+      q(6640),
       q(0),
       ],
    q(tok pisin) => [
@@ -53450,59 +53484,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tokharian a) => [
-      q(7518),
+      q(7517),
       q(0),
       ],
    q(tokharian b) => [
-      q(6812),
+      q(6811),
       q(0),
       ],
    q(toku-no-shima) => [
-      q(6554),
+      q(6553),
       q(0),
       ],
    q(tol) => [
-      q(3093),
+      q(3092),
       q(0),
       ],
    q(tolaki) => [
-      q(3831),
+      q(3830),
       q(0),
       ],
    q(tolomako) => [
-      q(6574),
+      q(6573),
       q(0),
       ],
    q(tolowa) => [
-      q(6642),
+      q(6641),
       q(0),
       ],
    q(toma) => [
-      q(6636),
+      q(6635),
       q(0),
       ],
    q(tomadino) => [
-      q(6435),
+      q(6434),
       q(0),
       ],
    q(tombelala) => [
-      q(6749),
+      q(6748),
       q(0),
       ],
    q(tombonuo) => [
-      q(6811),
+      q(6810),
       q(0),
       ],
    q(tombulu) => [
-      q(6643),
+      q(6642),
       q(0),
       ],
    q(tomedes) => [
-      q(6637),
+      q(6636),
       q(0),
       ],
    q(tomini) => [
-      q(6819),
+      q(6818),
       q(0),
       ],
    q(tommo so dogon) => [
@@ -53514,15 +53548,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tomoip) => [
-      q(6681),
+      q(6680),
       q(0),
       ],
    q(tondano) => [
-      q(6439),
+      q(6438),
       q(0),
       ],
    q(tondi songway kiini) => [
-      q(6727),
+      q(6726),
       q(0),
       ],
    q(tonga) => [
@@ -53534,7 +53568,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tonga (thailand)) => [
-      q(6633),
+      q(6632),
       q(0),
       ],
    q(tonga (tonga islands)) => [
@@ -53542,59 +53576,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tonga (zambia)) => [
-      q(6640),
+      q(6639),
       q(0),
       ],
    q(tongwe) => [
-      q(6632),
+      q(6631),
       q(0),
       ],
    q(tonjon) => [
-      q(6542),
+      q(6541),
       q(0),
       ],
    q(tonkawa) => [
-      q(6686),
+      q(6685),
       q(0),
       ],
    q(tonsawang) => [
-      q(6630),
+      q(6629),
       q(0),
       ],
    q(tonsea) => [
-      q(6824),
+      q(6823),
       q(0),
       ],
    q(tontemboan) => [
-      q(6627),
+      q(6626),
       q(0),
       ],
    q(tooro) => [
-      q(6743),
+      q(6742),
       q(0),
       ],
    q(topoiyo) => [
-      q(6653),
+      q(6652),
       q(0),
       ],
    q(toposa) => [
-      q(6646),
+      q(6645),
       q(0),
       ],
    q(tora) => [
-      q(6711),
+      q(6710),
       q(0),
       ],
    q(toraja-sa'dan) => [
-      q(5942),
+      q(5941),
       q(0),
       ],
    q(toram) => [
-      q(6696),
+      q(6695),
       q(0),
       ],
    q(torau) => [
-      q(6754),
+      q(6753),
       q(0),
       ],
    q(tornedalen finnish) => [
@@ -53602,7 +53636,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(toro) => [
-      q(6446),
+      q(6445),
       q(0),
       ],
    q(toro so dogon) => [
@@ -53614,23 +53648,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(toromono) => [
-      q(6622),
+      q(6621),
       q(0),
       ],
    q(torona) => [
-      q(6683),
+      q(6682),
       q(0),
       ],
    q(torres strait creole) => [
-      q(6420),
+      q(6419),
       q(0),
       ],
    q(torricelli) => [
-      q(6457),
+      q(6456),
       q(0),
       ],
    q(torwali) => [
-      q(6708),
+      q(6707),
       q(0),
       ],
    q(tosk albanian) => [
@@ -53638,15 +53672,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(totela) => [
-      q(6745),
+      q(6744),
       q(0),
       ],
    q(toto) => [
-      q(6821),
+      q(6820),
       q(0),
       ],
    q(totoli) => [
-      q(6814),
+      q(6813),
       q(0),
       ],
    q(totomachapan zapotec) => [
@@ -53654,19 +53688,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(totontepec mixe) => [
-      q(4568),
+      q(4567),
       q(0),
       ],
    q(totoro) => [
-      q(6744),
+      q(6743),
       q(0),
       ],
    q(touo) => [
-      q(6685),
+      q(6684),
       q(0),
       ],
    q(toura (cote d'ivoire)) => [
-      q(4807),
+      q(4806),
       q(0),
       ],
    q(toura (papua new guinea)) => [
@@ -53674,7 +53708,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(towei) => [
-      q(6747),
+      q(6746),
       q(0),
       ],
    q(trans-new guinea languages) => [
@@ -53682,115 +53716,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(transalpine gaulish) => [
-      q(7511),
+      q(7510),
       q(0),
       ],
    q(traveller danish) => [
-      q(5807),
+      q(5806),
       q(0),
       ],
    q(traveller norwegian) => [
-      q(5810),
+      q(5809),
       q(0),
       ],
    q(traveller scottish) => [
-      q(6697),
+      q(6696),
       q(0),
       ],
    q(tregami) => [
-      q(6698),
+      q(6697),
       q(0),
       ],
    q(tremembe) => [
-      q(6590),
+      q(6589),
       q(0),
       ],
    q(trieng) => [
-      q(6258),
+      q(6257),
       q(0),
       ],
    q(trimuris) => [
-      q(6528),
+      q(6527),
       q(0),
       ],
    q(tring) => [
-      q(6486),
+      q(6485),
       q(0),
       ],
    q(tringgus-sembaan bidayuh) => [
-      q(6709),
+      q(6708),
       q(0),
       ],
    q(trinidad and tobago sign language) => [
-      q(4067),
+      q(4066),
       q(0),
       ],
    q(trinidadian creole english) => [
-      q(6692),
+      q(6691),
       q(0),
       ],
    q(trinitario) => [
-      q(6699),
+      q(6698),
       q(0),
       ],
    q(trio) => [
-      q(6695),
+      q(6694),
       q(0),
       ],
    q(truka) => [
-      q(6547),
+      q(6546),
       q(0),
       ],
    q(trumai) => [
-      q(6674),
+      q(6673),
       q(0),
       ],
    q(ts'un-lao) => [
-      q(6721),
+      q(6720),
       q(0),
       ],
    q(tsaangi) => [
-      q(6712),
+      q(6711),
       q(0),
       ],
    q(tsakhur) => [
-      q(6557),
+      q(6556),
       q(0),
       ],
    q(tsakonian) => [
-      q(6715),
+      q(6714),
       q(0),
       ],
    q(tsakwambo) => [
-      q(3691),
+      q(3690),
       q(0),
       ],
    q(tsamai) => [
-      q(6713),
+      q(6712),
       q(0),
       ],
    q(tsat) => [
-      q(2865),
+      q(2864),
       q(0),
       ],
    q(tsaukambo) => [
-      q(3691),
+      q(3690),
       q(1),
       ],
    q(tseku) => [
-      q(6720),
+      q(6719),
       q(0),
       ],
    q(tsetsaut) => [
-      q(6813),
+      q(6812),
       q(0),
       ],
    q(tshangla) => [
-      q(6719),
+      q(6718),
       q(0),
       ],
    q(tsikimba) => [
-      q(3244),
+      q(3243),
       q(0),
       ],
    q(tsimane) => [
@@ -53798,7 +53832,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tsimihety malagasy) => [
-      q(7427),
+      q(7426),
       q(0),
       ],
    q(tsimshian) => [
@@ -53806,19 +53840,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tsishingini) => [
-      q(6730),
+      q(6729),
       q(0),
       ],
    q(tso) => [
-      q(3857),
+      q(3856),
       q(0),
       ],
    q(tsoa) => [
-      q(2762),
+      q(2761),
       q(0),
       ],
    q(tsogo) => [
-      q(6729),
+      q(6728),
       q(0),
       ],
    q(tsonga) => [
@@ -53830,11 +53864,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(tsotso) => [
-      q(4073),
+      q(4072),
       q(0),
       ],
    q(tsou) => [
-      q(6728),
+      q(6727),
       q(0),
       ],
    q(tsucuba) => [
@@ -53842,19 +53876,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tsum) => [
-      q(6758),
+      q(6757),
       q(0),
       ],
    q(tsuvadi) => [
-      q(6780),
+      q(6779),
       q(0),
       ],
    q(tsuvan) => [
-      q(6718),
+      q(6717),
       q(0),
       ],
    q(tswa) => [
-      q(6714),
+      q(6713),
       q(0),
       ],
    q(tswana) => [
@@ -53862,43 +53896,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tswapong) => [
-      q(6802),
+      q(6801),
       q(0),
       ],
    q(tu) => [
-      q(4323),
+      q(4322),
       q(0),
       ],
    q(tuamotuan) => [
-      q(5524),
+      q(5523),
       q(0),
       ],
    q(tubar) => [
-      q(6398),
+      q(6397),
       q(0),
       ],
    q(tubatulabal) => [
-      q(6760),
+      q(6759),
       q(0),
       ],
    q(tucano) => [
-      q(6771),
+      q(6770),
       q(0),
       ],
    q(tugen) => [
-      q(6777),
+      q(6776),
       q(0),
       ],
    q(tugun) => [
-      q(6848),
+      q(6847),
       q(0),
       ],
    q(tugutil) => [
-      q(6768),
+      q(6767),
       q(0),
       ],
    q(tukang besi north) => [
-      q(3333),
+      q(3332),
       q(0),
       ],
    q(tukang besi south) => [
@@ -53910,47 +53944,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tukpa) => [
-      q(6667),
+      q(6666),
       q(0),
       ],
    q(tukudede) => [
-      q(6549),
+      q(6548),
       q(0),
       ],
    q(tukumanfed) => [
-      q(6551),
+      q(6550),
       q(0),
       ],
    q(tula) => [
-      q(6769),
+      q(6768),
       q(0),
       ],
    q(tulehu) => [
-      q(6582),
+      q(6581),
       q(0),
       ],
    q(tulishi) => [
-      q(6468),
+      q(6467),
       q(0),
       ],
    q(tulu) => [
-      q(6425),
+      q(6424),
       q(0),
       ],
    q(tulu-bohuai) => [
-      q(5743),
+      q(5742),
       q(0),
       ],
    q(tuma-irumu) => [
-      q(2981),
+      q(2980),
       q(0),
       ],
    q(tumak) => [
-      q(6588),
+      q(6587),
       q(0),
       ],
    q(tumari kanuri) => [
-      q(3587),
+      q(3586),
       q(0),
       ],
    q(tumbuka) => [
@@ -53958,27 +53992,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tumi) => [
-      q(3422),
+      q(3421),
       q(0),
       ],
    q(tumleo) => [
-      q(6601),
+      q(6600),
       q(0),
       ],
    q(tumshuqese) => [
-      q(7520),
+      q(7519),
       q(0),
       ],
    q(tumtum) => [
-      q(6395),
+      q(6394),
       q(0),
       ],
    q(tumulung sisaala) => [
-      q(6042),
+      q(6041),
       q(0),
       ],
    q(tumzabt) => [
-      q(4694),
+      q(4693),
       q(0),
       ],
    q(tundra enets) => [
@@ -53986,15 +54020,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tunen) => [
-      q(6788),
+      q(6787),
       q(0),
       ],
    q(tungag) => [
-      q(3841),
+      q(3840),
       q(0),
       ],
    q(tunggare) => [
-      q(6705),
+      q(6704),
       q(0),
       ],
    q(tungus languages) => [
@@ -54002,11 +54036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tunia) => [
-      q(6765),
+      q(6764),
       q(0),
       ],
    q(tunica) => [
-      q(6770),
+      q(6769),
       q(0),
       ],
    q(tunisian arabic) => [
@@ -54014,15 +54048,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tunisian sign language) => [
-      q(6716),
+      q(6715),
       q(0),
       ],
    q(tunjung) => [
-      q(6538),
+      q(6537),
       q(0),
       ],
    q(tunni) => [
-      q(6682),
+      q(6681),
       q(0),
       ],
    q(tunzu) => [
@@ -54030,15 +54064,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tuotomb) => [
-      q(6739),
+      q(6738),
       q(0),
       ],
    q(tupari) => [
-      q(6668),
+      q(6667),
       q(0),
       ],
    q(tupi) => [
-      q(6672),
+      q(6671),
       q(0),
       ],
    q(tupi languages) => [
@@ -54046,43 +54080,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tupinamba) => [
-      q(6664),
+      q(6663),
       q(0),
       ],
    q(tupinikin) => [
-      q(6661),
+      q(6660),
       q(0),
       ],
    q(tupuri) => [
-      q(6767),
+      q(6766),
       q(0),
       ],
    q(turaka) => [
-      q(6694),
+      q(6693),
       q(0),
       ],
    q(turi) => [
-      q(6690),
+      q(6689),
       q(0),
       ],
    q(turiwara) => [
-      q(6806),
+      q(6805),
       q(0),
       ],
    q(turk isaret dili) => [
-      q(6722),
+      q(6721),
       q(1),
       ],
    q(turka) => [
-      q(6778),
+      q(6777),
       q(0),
       ],
    q(turkana) => [
-      q(6775),
+      q(6774),
       q(0),
       ],
    q(turkic khalaj) => [
-      q(3437),
+      q(3436),
       q(0),
       ],
    q(turkic languages) => [
@@ -54094,7 +54128,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(turkish sign language) => [
-      q(6722),
+      q(6721),
       q(0),
       ],
    q(turkish, ottoman (1500-1928)) => [
@@ -54106,47 +54140,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(turks and caicos creole english) => [
-      q(6411),
+      q(6410),
       q(0),
       ],
    q(turoyo) => [
-      q(6706),
+      q(6705),
       q(0),
       ],
    q(turumsa) => [
-      q(6678),
+      q(6677),
       q(0),
       ],
    q(turung) => [
-      q(6710),
+      q(6709),
       q(0),
       ],
    q(tuscarora) => [
-      q(6773),
+      q(6772),
       q(0),
       ],
    q(tutelo) => [
-      q(6734),
+      q(6733),
       q(0),
       ],
    q(tutong) => [
-      q(6740),
+      q(6739),
       q(0),
       ],
    q(tutsa naga) => [
-      q(6787),
+      q(6786),
       q(0),
       ],
    q(tutuba) => [
-      q(6593),
+      q(6592),
       q(0),
       ],
    q(tututepec mixtec) => [
-      q(4574),
+      q(4573),
       q(0),
       ],
    q(tututni) => [
-      q(6774),
+      q(6773),
       q(0),
       ],
    q(tuvalu) => [
@@ -54158,11 +54192,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tuwali ifugao) => [
-      q(2916),
+      q(2915),
       q(0),
       ],
    q(tuwari) => [
-      q(6808),
+      q(6807),
       q(0),
       ],
    q(tuwuli) => [
@@ -54170,27 +54204,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tuxa) => [
-      q(6762),
+      q(6761),
       q(0),
       ],
    q(tuxinawa) => [
-      q(6776),
+      q(6775),
       q(0),
       ],
    q(tuyuca) => [
-      q(6763),
+      q(6762),
       q(0),
       ],
    q(twana) => [
-      q(6791),
+      q(6790),
       q(0),
       ],
    q(twendi) => [
-      q(6801),
+      q(6800),
       q(0),
       ],
    q(twents) => [
-      q(6794),
+      q(6793),
       q(0),
       ],
    q(twi) => [
@@ -54198,27 +54232,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tyap) => [
-      q(3214),
+      q(3213),
       q(0),
       ],
    q(tyaraity) => [
-      q(7195),
+      q(7194),
       q(0),
       ],
    q(tz'utujil) => [
-      q(6845),
+      q(6844),
       q(0),
       ],
    q(tzeltal) => [
-      q(6844),
+      q(6843),
       q(0),
       ],
    q(tzotzil) => [
-      q(6849),
+      q(6848),
       q(0),
       ],
    q(u) => [
-      q(6961),
+      q(6960),
       q(0),
       ],
    q(uab meto) => [
@@ -54226,11 +54260,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uamue) => [
-      q(6851),
+      q(6850),
       q(0),
       ],
    q(uare) => [
-      q(3602),
+      q(3601),
       q(0),
       ],
    q(ubaghara) => [
@@ -54238,19 +54272,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ubang) => [
-      q(6854),
+      q(6853),
       q(0),
       ],
    q(ubi) => [
-      q(6855),
+      q(6854),
       q(0),
       ],
    q(ubir) => [
-      q(6857),
+      q(6856),
       q(0),
       ],
    q(ubykh) => [
-      q(6859),
+      q(6858),
       q(0),
       ],
    q(ucayali-yurua asheninka) => [
@@ -54258,15 +54292,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uda) => [
-      q(6860),
+      q(6859),
       q(0),
       ],
    q(udi) => [
-      q(6863),
+      q(6862),
       q(0),
       ],
    q(udihe) => [
-      q(6861),
+      q(6860),
       q(0),
       ],
    q(udmurt) => [
@@ -54274,15 +54308,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uduk) => [
-      q(6866),
+      q(6865),
       q(0),
       ],
    q(ufim) => [
-      q(6868),
+      q(6867),
       q(0),
       ],
    q(ugandan sign language) => [
-      q(6871),
+      q(6870),
       q(0),
       ],
    q(ugaritic) => [
@@ -54290,15 +54324,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ughele) => [
-      q(6870),
+      q(6869),
       q(0),
       ],
    q(ugong) => [
-      q(6872),
+      q(6871),
       q(0),
       ],
    q(uhami) => [
-      q(6874),
+      q(6873),
       q(0),
       ],
    q(uighur) => [
@@ -54306,27 +54340,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uisai) => [
-      q(6876),
+      q(6875),
       q(0),
       ],
    q(ujir) => [
-      q(6864),
+      q(6863),
       q(0),
       ],
    q(ukaan) => [
-      q(3213),
+      q(3212),
       q(0),
       ],
    q(ukhwejo) => [
-      q(6881),
+      q(6880),
       q(0),
       ],
    q(ukit) => [
-      q(6905),
+      q(6904),
       q(0),
       ],
    q(ukpe-bayobiri) => [
-      q(6883),
+      q(6882),
       q(0),
       ],
    q(ukpet-ehom) => [
@@ -54338,63 +54372,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ukrainian sign language) => [
-      q(6882),
+      q(6881),
       q(0),
       ],
    q(ukue) => [
-      q(6886),
+      q(6885),
       q(0),
       ],
    q(ukuriguma) => [
-      q(6880),
+      q(6879),
       q(0),
       ],
    q(ukwa) => [
-      q(6884),
+      q(6883),
       q(0),
       ],
    q(ukwuani-aboh-ndoni) => [
-      q(6887),
+      q(6886),
       q(0),
       ],
    q(ulau-suain) => [
-      q(6291),
+      q(6290),
       q(0),
       ],
    q(ulch) => [
-      q(6891),
+      q(6890),
       q(0),
       ],
    q(ulithian) => [
-      q(6894),
+      q(6893),
       q(0),
       ],
    q(ullatan) => [
-      q(6896),
+      q(6895),
       q(0),
       ],
    q(ulukwumi) => [
-      q(6890),
+      q(6889),
       q(0),
       ],
    q(ulumanda') => [
-      q(6897),
+      q(6896),
       q(0),
       ],
    q(ulwa) => [
-      q(6900),
+      q(6899),
       q(0),
       ],
    q(uma) => [
-      q(5574),
+      q(5573),
       q(0),
       ],
    q(uma' lasan) => [
-      q(7391),
+      q(7390),
       q(0),
       ],
    q(uma' lung) => [
-      q(6899),
+      q(6898),
       q(0),
       ],
    q(umanakaina) => [
@@ -54402,23 +54436,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(umatilla) => [
-      q(6901),
+      q(6900),
       q(0),
       ],
    q(umbindhamu) => [
-      q(6903),
+      q(6902),
       q(0),
       ],
    q(umbrian) => [
-      q(7535),
+      q(7534),
       q(0),
       ],
    q(umbu-ungu) => [
-      q(6858),
+      q(6857),
       q(0),
       ],
    q(umbugarla) => [
-      q(6910),
+      q(6909),
       q(0),
       ],
    q(umbundu) => [
@@ -54426,19 +54460,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(umbuygamu) => [
-      q(6904),
+      q(6903),
       q(0),
       ],
    q(ume sami) => [
-      q(6068),
+      q(6067),
       q(0),
       ],
    q(umeda) => [
-      q(6923),
+      q(6922),
       q(0),
       ],
    q(umiida) => [
-      q(7531),
+      q(7530),
       q(0),
       ],
    q(umiray dumaget agta) => [
@@ -54446,23 +54480,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(umon) => [
-      q(6906),
+      q(6905),
       q(0),
       ],
    q(umotina) => [
-      q(6908),
+      q(6907),
       q(0),
       ],
    q(umpila) => [
-      q(6909),
+      q(6908),
       q(0),
       ],
    q(una) => [
-      q(4560),
+      q(4559),
       q(0),
       ],
    q(unami) => [
-      q(6917),
+      q(6916),
       q(0),
       ],
    q(uncoded languages) => [
@@ -54470,7 +54504,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(unde kaili) => [
-      q(6922),
+      q(6921),
       q(0),
       ],
    q(undetermined) => [
@@ -54482,15 +54516,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uneme) => [
-      q(6914),
+      q(6913),
       q(0),
       ],
    q(unggaranggu) => [
-      q(7536),
+      q(7535),
       q(0),
       ],
    q(unggumi) => [
-      q(7347),
+      q(7346),
       q(0),
       ],
    q(ungkue) => [
@@ -54498,15 +54532,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(unserdeutsch) => [
-      q(6898),
+      q(6897),
       q(0),
       ],
    q(unua) => [
-      q(5279),
+      q(5278),
       q(0),
       ],
    q(unubahe) => [
-      q(6920),
+      q(6919),
       q(0),
       ],
    q(upper chehalis) => [
@@ -54518,7 +54552,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(upper guinea crioulo) => [
-      q(5567),
+      q(5566),
       q(0),
       ],
    q(upper kinabatangan) => [
@@ -54526,15 +54560,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(upper kuskokwim) => [
-      q(3660),
+      q(3659),
       q(0),
       ],
    q(upper necaxa totonac) => [
-      q(6560),
+      q(6559),
       q(0),
       ],
    q(upper saxon) => [
-      q(6332),
+      q(6331),
       q(0),
       ],
    q(upper sorbian) => [
@@ -54542,39 +54576,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(upper ta'oih) => [
-      q(6741),
+      q(6740),
       q(0),
       ],
    q(upper tanana) => [
-      q(6373),
+      q(6372),
       q(0),
       ],
    q(upper taromi) => [
-      q(6650),
+      q(6649),
       q(0),
       ],
    q(upper umpqua) => [
-      q(7538),
+      q(7537),
       q(0),
       ],
    q(ura (papua new guinea)) => [
-      q(6937),
+      q(6936),
       q(0),
       ],
    q(ura (vanuatu)) => [
-      q(6960),
+      q(6959),
       q(0),
       ],
    q(uradhi) => [
-      q(6929),
+      q(6928),
       q(0),
       ],
    q(urak lawoi') => [
-      q(6933),
+      q(6932),
       q(0),
       ],
    q(urali) => [
-      q(6934),
+      q(6933),
       q(0),
       ],
    q(uralic languages) => [
@@ -54582,19 +54616,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(urapmin) => [
-      q(6935),
+      q(6934),
       q(0),
       ],
    q(urarina) => [
-      q(6925),
+      q(6924),
       q(0),
       ],
    q(urartian) => [
-      q(7539),
+      q(7538),
       q(0),
       ],
    q(urat) => [
-      q(6940),
+      q(6939),
       q(0),
       ],
    q(urdu) => [
@@ -54602,87 +54636,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(urhobo) => [
-      q(6931),
+      q(6930),
       q(0),
       ],
    q(uri) => [
-      q(6963),
+      q(6962),
       q(0),
       ],
    q(urigina) => [
-      q(6930),
+      q(6929),
       q(0),
       ],
    q(urim) => [
-      q(6932),
+      q(6931),
       q(0),
       ],
    q(urimo) => [
-      q(6944),
+      q(6943),
       q(0),
       ],
    q(uripiv-wala-rano-atchin) => [
-      q(6924),
+      q(6923),
       q(0),
       ],
    q(urningangg) => [
-      q(6927),
+      q(6926),
       q(0),
       ],
    q(uru) => [
-      q(6928),
+      q(6927),
       q(0),
       ],
    q(uru-eu-wau-wau) => [
-      q(6946),
+      q(6945),
       q(0),
       ],
    q(uru-pa-in) => [
-      q(6938),
+      q(6937),
       q(0),
       ],
    q(uruangnirin) => [
-      q(6936),
+      q(6935),
       q(0),
       ],
    q(uruava) => [
-      q(6942),
+      q(6941),
       q(0),
       ],
    q(urubu-kaapor) => [
-      q(6926),
+      q(6925),
       q(0),
       ],
    q(urubu-kaapor sign language) => [
-      q(6885),
+      q(6884),
       q(0),
       ],
    q(uruguayan sign language) => [
-      q(6873),
+      q(6872),
       q(0),
       ],
    q(urum) => [
-      q(6958),
+      q(6957),
       q(0),
       ],
    q(urumi) => [
-      q(6941),
+      q(6940),
       q(0),
       ],
    q(usaghade) => [
-      q(6950),
+      q(6949),
       q(0),
       ],
    q(usan) => [
-      q(7192),
+      q(7191),
       q(0),
       ],
    q(usarufa) => [
-      q(6947),
+      q(6946),
       q(0),
       ],
    q(ushojo) => [
-      q(6948),
+      q(6947),
       q(0),
       ],
    q(usila chinantec) => [
@@ -54690,15 +54724,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(usku) => [
-      q(6893),
+      q(6892),
       q(0),
       ],
    q(uspanteco) => [
-      q(6951),
+      q(6950),
       q(0),
       ],
    q(usui) => [
-      q(6949),
+      q(6948),
       q(0),
       ],
    q(ut-ma'in) => [
@@ -54706,11 +54740,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(utarmbung) => [
-      q(5259),
+      q(5258),
       q(0),
       ],
    q(ute-southern paiute) => [
-      q(6954),
+      q(6953),
       q(0),
       ],
    q(uto-aztecan languages) => [
@@ -54718,7 +54752,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(utu) => [
-      q(6957),
+      q(6956),
       q(0),
       ],
    q(uvbie) => [
@@ -54726,7 +54760,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uya) => [
-      q(6952),
+      q(6951),
       q(0),
       ],
    q(uyajitaya) => [
@@ -54750,19 +54784,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(v'enen taut) => [
-      q(4962),
+      q(4961),
       q(1),
       ],
    q(vaagri booli) => [
-      q(6969),
+      q(6968),
       q(0),
       ],
    q(vaeakau-taumako) => [
-      q(5467),
+      q(5466),
       q(1),
       ],
    q(vafsi) => [
-      q(6971),
+      q(6970),
       q(0),
       ],
    q(vaghat-ya-bijim-legeri) => [
@@ -54770,15 +54804,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(vaghri) => [
-      q(6994),
+      q(6993),
       q(0),
       ],
    q(vaghua) => [
-      q(6779),
+      q(6778),
       q(0),
       ],
    q(vagla) => [
-      q(6972),
+      q(6971),
       q(0),
       ],
    q(vai) => [
@@ -54786,11 +54820,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(vaiphei) => [
-      q(6979),
+      q(6978),
       q(0),
       ],
    q(vale) => [
-      q(6970),
+      q(6969),
       q(0),
       ],
    q(valencian) => [
@@ -54798,7 +54832,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(valencian sign language) => [
-      q(7049),
+      q(7048),
       q(0),
       ],
    q(valle nacional chinantec) => [
@@ -54806,83 +54840,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(valley maidu) => [
-      q(7035),
+      q(7034),
       q(0),
       ],
    q(valman) => [
-      q(6977),
+      q(6976),
       q(0),
       ],
    q(valpei) => [
-      q(7015),
+      q(7014),
       q(0),
       ],
    q(vamale) => [
-      q(4360),
+      q(4359),
       q(0),
       ],
    q(vame) => [
-      q(4382),
+      q(4381),
       q(0),
       ],
    q(vandalic) => [
-      q(7544),
+      q(7543),
       q(0),
       ],
    q(vangunu) => [
-      q(4471),
+      q(4470),
       q(0),
       ],
    q(vanimo) => [
-      q(6976),
+      q(6975),
       q(0),
       ],
    q(vano) => [
-      q(7040),
+      q(7039),
       q(0),
       ],
    q(vanuma) => [
-      q(6982),
+      q(6981),
       q(0),
       ],
    q(vao) => [
-      q(6978),
+      q(6977),
       q(0),
       ],
    q(varhadi-nagpuri) => [
-      q(6973),
+      q(6972),
       q(0),
       ],
    q(varisi) => [
-      q(7045),
+      q(7044),
       q(0),
       ],
    q(varli) => [
-      q(6983),
+      q(6982),
       q(0),
       ],
    q(vasavi) => [
-      q(6981),
+      q(6980),
       q(0),
       ],
    q(vasekele) => [
-      q(6974),
+      q(6973),
       q(3),
       ],
    q(veddah) => [
-      q(6988),
+      q(6987),
       q(0),
       ],
    q(vehes) => [
-      q(6975),
+      q(6974),
       q(0),
       ],
    q(veluws) => [
-      q(6989),
+      q(6988),
       q(0),
       ],
    q(vemgo-mabas) => [
-      q(6990),
+      q(6989),
       q(0),
       ],
    q(venda) => [
@@ -54890,15 +54924,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(venetian) => [
-      q(6987),
+      q(6986),
       q(0),
       ],
    q(venetic) => [
-      q(7542),
+      q(7541),
       q(0),
       ],
    q(venezuelan sign language) => [
-      q(7048),
+      q(7047),
       q(0),
       ],
    q(vengo) => [
@@ -54906,27 +54940,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ventureno) => [
-      q(6991),
+      q(6990),
       q(0),
       ],
    q(veps) => [
-      q(6992),
+      q(6991),
       q(0),
       ],
    q(vera'a) => [
-      q(7044),
+      q(7043),
       q(0),
       ],
    q(vestinian) => [
-      q(7546),
+      q(7545),
       q(0),
       ],
    q(vidunda) => [
-      q(6997),
+      q(6996),
       q(0),
       ],
    q(viemo) => [
-      q(6999),
+      q(6998),
       q(0),
       ],
    q(vietnamese) => [
@@ -54934,15 +54968,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(viid) => [
-      q(6150),
+      q(6149),
       q(1),
       ],
    q(vilela) => [
-      q(7000),
+      q(6999),
       q(0),
       ],
    q(vili) => [
-      q(6998),
+      q(6997),
       q(0),
       ],
    q(villa viciosa agta) => [
@@ -54950,47 +54984,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(vincentian creole english) => [
-      q(6292),
+      q(6291),
       q(0),
       ],
    q(vinmavis) => [
-      q(7041),
+      q(7040),
       q(0),
       ],
    q(vinza) => [
-      q(7001),
+      q(7000),
       q(0),
       ],
    q(virgin islands creole english) => [
-      q(6996),
+      q(6995),
       q(0),
       ],
    q(vishavan) => [
-      q(7002),
+      q(7001),
       q(0),
       ],
    q(viti) => [
-      q(7003),
+      q(7002),
       q(0),
       ],
    q(vitou) => [
-      q(7050),
+      q(7049),
       q(0),
       ],
    q(vitu) => [
-      q(7140),
+      q(7139),
       q(0),
       ],
    q(vlaams) => [
-      q(7016),
+      q(7015),
       q(0),
       ],
    q(vlaamse gebarentaal) => [
-      q(6995),
+      q(6994),
       q(0),
       ],
    q(vlax romani) => [
-      q(5826),
+      q(5825),
       q(0),
       ],
    q(volapuk) => [
@@ -54998,15 +55032,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(volscian) => [
-      q(7545),
+      q(7544),
       q(0),
       ],
    q(vono) => [
-      q(3215),
+      q(3214),
       q(0),
       ],
    q(voro) => [
-      q(7043),
+      q(7042),
       q(0),
       ],
    q(votic) => [
@@ -55014,123 +55048,123 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(vumbu) => [
-      q(7051),
+      q(7050),
       q(0),
       ],
    q(vunapu) => [
-      q(7042),
+      q(7041),
       q(0),
       ],
    q(vunjo) => [
-      q(7052),
+      q(7051),
       q(0),
       ],
    q(vure) => [
-      q(3948),
+      q(3947),
       q(1),
       ],
    q(vures) => [
-      q(4542),
+      q(4541),
       q(0),
       ],
    q(vute) => [
-      q(7053),
+      q(7052),
       q(0),
       ],
    q(vwanji) => [
-      q(7081),
+      q(7080),
       q(0),
       ],
    q(wa) => [
-      q(7085),
+      q(7084),
       q(0),
       ],
    q(wa'ema) => [
-      q(7061),
+      q(7060),
       q(0),
       ],
    q(waama) => [
-      q(7258),
+      q(7257),
       q(0),
       ],
    q(waamwang) => [
-      q(7175),
+      q(7174),
       q(0),
       ],
    q(waata) => [
-      q(6241),
+      q(6240),
       q(0),
       ],
    q(wab) => [
-      q(7056),
+      q(7055),
       q(0),
       ],
    q(wabo) => [
-      q(7078),
+      q(7077),
       q(0),
       ],
    q(waboda) => [
-      q(3476),
+      q(3475),
       q(0),
       ],
    q(waci gbe) => [
-      q(7093),
+      q(7092),
       q(0),
       ],
    q(wadaginam) => [
-      q(7095),
+      q(7094),
       q(0),
       ],
    q(waddar) => [
-      q(7087),
+      q(7086),
       q(0),
       ],
    q(wadi wadi) => [
-      q(7549),
+      q(7548),
       q(0),
       ],
    q(wadikali) => [
-      q(7097),
+      q(7096),
       q(0),
       ],
    q(wadiyara koli) => [
-      q(3730),
+      q(3729),
       q(0),
       ],
    q(wadjabangayi) => [
-      q(7099),
+      q(7098),
       q(0),
       ],
    q(wadjiginy) => [
-      q(7096),
+      q(7095),
       q(0),
       ],
    q(wadjigu) => [
-      q(7098),
+      q(7097),
       q(0),
       ],
    q(wae rana) => [
-      q(7229),
+      q(7228),
       q(0),
       ],
    q(waffa) => [
-      q(7064),
+      q(7063),
       q(0),
       ],
    q(wagawaga) => [
-      q(7116),
+      q(7115),
       q(0),
       ],
    q(wagaya) => [
-      q(7115),
+      q(7114),
       q(0),
       ],
    q(wagdi) => [
-      q(7088),
+      q(7087),
       q(0),
       ],
    q(wageman) => [
-      q(7069),
+      q(7068),
       q(0),
       ],
    q(wagi) => [
@@ -55138,39 +55172,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wahau kayan) => [
-      q(7125),
+      q(7124),
       q(0),
       ],
    q(wahau kenyah) => [
-      q(7124),
+      q(7123),
       q(0),
       ],
    q(wahgi) => [
-      q(7118),
+      q(7117),
       q(0),
       ],
    q(waigali) => [
-      q(7083),
+      q(7082),
       q(0),
       ],
    q(waigeo) => [
-      q(7119),
+      q(7118),
       q(0),
       ],
    q(wailaki) => [
-      q(7156),
+      q(7155),
       q(0),
       ],
    q(wailapa) => [
-      q(7160),
+      q(7159),
       q(0),
       ],
    q(waima) => [
-      q(5851),
+      q(5850),
       q(0),
       ],
    q(waima'a) => [
-      q(7172),
+      q(7171),
       q(0),
       ],
    q(waimaha) => [
@@ -55182,31 +55216,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(waioli) => [
-      q(7155),
+      q(7154),
       q(0),
       ],
    q(waiwai) => [
-      q(7073),
+      q(7072),
       q(0),
       ],
    q(waja) => [
-      q(7142),
+      q(7141),
       q(0),
       ],
    q(wajarri) => [
-      q(7090),
+      q(7089),
       q(0),
       ],
    q(wajuk) => [
-      q(7552),
+      q(7551),
       q(0),
       ],
    q(waka) => [
-      q(7072),
+      q(7071),
       q(0),
       ],
    q(wakabunga) => [
-      q(7259),
+      q(7258),
       q(0),
       ],
    q(wakashan languages) => [
@@ -55214,27 +55248,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wakawaka) => [
-      q(7149),
+      q(7148),
       q(0),
       ],
    q(wakde) => [
-      q(7146),
+      q(7145),
       q(0),
       ],
    q(wakhi) => [
-      q(7084),
+      q(7083),
       q(0),
       ],
    q(wakona) => [
-      q(7060),
+      q(7059),
       q(0),
       ],
    q(wala) => [
-      q(3891),
+      q(3890),
       q(0),
       ],
    q(walak) => [
-      q(7164),
+      q(7163),
       q(0),
       ],
    q(walamo) => [
@@ -55242,31 +55276,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(walangama) => [
-      q(4957),
+      q(4956),
       q(0),
       ],
    q(wali (ghana)) => [
-      q(7165),
+      q(7164),
       q(0),
       ],
    q(wali (sudan)) => [
-      q(7157),
+      q(7156),
       q(0),
       ],
    q(waling) => [
-      q(7166),
+      q(7165),
       q(0),
       ],
    q(walio) => [
-      q(7151),
+      q(7150),
       q(0),
       ],
    q(walla walla) => [
-      q(7055),
+      q(7054),
       q(0),
       ],
    q(wallisian) => [
-      q(7161),
+      q(7160),
       q(0),
       ],
    q(walloon) => [
@@ -55274,31 +55308,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(walmajarri) => [
-      q(7178),
+      q(7177),
       q(0),
       ],
    q(walser) => [
-      q(7059),
+      q(7058),
       q(0),
       ],
    q(walungge) => [
-      q(5242),
+      q(5241),
       q(0),
       ],
    q(wamas) => [
-      q(7169),
+      q(7168),
       q(0),
       ],
    q(wambaya) => [
-      q(7168),
+      q(7167),
       q(0),
       ],
    q(wambon) => [
-      q(7177),
+      q(7176),
       q(0),
       ],
    q(wambule) => [
-      q(7171),
+      q(7170),
       q(0),
       ],
    q(wamey) => [
@@ -55306,31 +55340,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wamin) => [
-      q(7173),
+      q(7172),
       q(0),
       ],
    q(wampanoag) => [
-      q(7065),
+      q(7064),
       q(0),
       ],
    q(wampar) => [
-      q(3825),
+      q(3824),
       q(0),
       ],
    q(wampur) => [
-      q(7076),
+      q(7075),
       q(0),
       ],
    q(wan) => [
-      q(7066),
+      q(7065),
       q(0),
       ],
    q(wanambre) => [
-      q(7181),
+      q(7180),
       q(0),
       ],
    q(wanap) => [
-      q(7191),
+      q(7190),
       q(0),
       ],
    q(wanbasana) => [
@@ -55338,87 +55372,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(wancho naga) => [
-      q(5001),
+      q(5000),
       q(0),
       ],
    q(wanda) => [
-      q(7080),
+      q(7079),
       q(0),
       ],
    q(wandala) => [
-      q(4232),
+      q(4231),
       q(0),
       ],
    q(wandamen) => [
-      q(7058),
+      q(7057),
       q(0),
       ],
    q(wandarang) => [
-      q(7183),
+      q(7182),
       q(0),
       ],
    q(wandji) => [
-      q(7094),
+      q(7093),
       q(0),
       ],
    q(wane) => [
-      q(2880),
+      q(2879),
       q(0),
       ],
    q(waneci) => [
-      q(7184),
+      q(7183),
       q(0),
       ],
    q(wanga) => [
-      q(4099),
+      q(4098),
       q(0),
       ],
    q(wangaaybuwan-ngiyambaa) => [
-      q(7266),
+      q(7265),
       q(0),
       ],
    q(wanggamala) => [
-      q(7188),
+      q(7187),
       q(0),
       ],
    q(wangganguru) => [
-      q(7117),
+      q(7116),
       q(0),
       ],
    q(wanggom) => [
-      q(7185),
+      q(7184),
       q(0),
       ],
    q(wangkayutyuru) => [
-      q(7150),
+      q(7149),
       q(0),
       ],
    q(wangkumara) => [
-      q(7553),
+      q(7552),
       q(0),
       ],
    q(wanman) => [
-      q(7089),
+      q(7088),
       q(0),
       ],
    q(wannu) => [
-      q(3147),
+      q(3146),
       q(0),
       ],
    q(wano) => [
-      q(7190),
+      q(7189),
       q(0),
       ],
    q(wantoat) => [
-      q(7182),
+      q(7181),
       q(0),
       ],
    q(wanukaka) => [
-      q(7187),
+      q(7186),
       q(0),
       ],
    q(wanyi) => [
-      q(7194),
+      q(7193),
       q(0),
       ],
    q(waorani) => [
@@ -55426,19 +55460,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wapan) => [
-      q(3152),
+      q(3151),
       q(0),
       ],
    q(wapha) => [
-      q(3162),
+      q(3161),
       q(0),
       ],
    q(wapishana) => [
-      q(7068),
+      q(7067),
       q(0),
       ],
    q(wappo) => [
-      q(7067),
+      q(7066),
       q(0),
       ],
    q(war-jaintia) => [
@@ -55446,15 +55480,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wara) => [
-      q(6412),
+      q(6411),
       q(0),
       ],
    q(warao) => [
-      q(7077),
+      q(7076),
       q(0),
       ],
    q(warapu) => [
-      q(7212),
+      q(7211),
       q(0),
       ],
    q(waray) => [
@@ -55462,7 +55496,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(waray (australia)) => [
-      q(7231),
+      q(7230),
       q(0),
       ],
    q(waray (philippines)) => [
@@ -55470,39 +55504,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(wardaman) => [
-      q(7224),
+      q(7223),
       q(0),
       ],
    q(wardandi) => [
-      q(7264),
+      q(7263),
       q(0),
       ],
    q(warduji) => [
-      q(7214),
+      q(7213),
       q(0),
       ],
    q(warembori) => [
-      q(7232),
+      q(7231),
       q(0),
       ],
    q(wares) => [
-      q(7063),
+      q(7062),
       q(0),
       ],
    q(waris) => [
-      q(7225),
+      q(7224),
       q(0),
       ],
    q(waritai) => [
-      q(7079),
+      q(7078),
       q(0),
       ],
    q(wariyangga) => [
-      q(7217),
+      q(7216),
       q(0),
       ],
    q(warji) => [
-      q(7143),
+      q(7142),
       q(0),
       ],
    q(warkay-bipim) => [
@@ -55510,63 +55544,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(warlmanpa) => [
-      q(7219),
+      q(7218),
       q(0),
       ],
    q(warlpiri) => [
-      q(7086),
+      q(7085),
       q(0),
       ],
    q(warluwara) => [
-      q(7213),
+      q(7212),
       q(0),
       ],
    q(warnang) => [
-      q(7221),
+      q(7220),
       q(0),
       ],
    q(waropen) => [
-      q(7223),
+      q(7222),
       q(0),
       ],
    q(warrgamay) => [
-      q(7121),
+      q(7120),
       q(0),
       ],
    q(warrwa) => [
-      q(7261),
+      q(7260),
       q(0),
       ],
    q(waru) => [
-      q(7226),
+      q(7225),
       q(0),
       ],
    q(warumungu) => [
-      q(7220),
+      q(7219),
       q(0),
       ],
    q(waruna) => [
-      q(7227),
+      q(7226),
       q(0),
       ],
    q(warungu) => [
-      q(7215),
+      q(7214),
       q(0),
       ],
    q(warwar feni) => [
-      q(2840),
+      q(2839),
       q(0),
       ],
    q(wasa) => [
-      q(7236),
+      q(7235),
       q(0),
       ],
    q(wasco-wishram) => [
-      q(7057),
+      q(7056),
       q(0),
       ],
    q(wasembo) => [
-      q(2638),
+      q(2637),
       q(0),
       ],
    q(washo) => [
@@ -55574,63 +55608,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(waskia) => [
-      q(7234),
+      q(7233),
       q(0),
       ],
    q(wasu) => [
-      q(7237),
+      q(7236),
       q(0),
       ],
    q(watakataui) => [
-      q(7242),
+      q(7241),
       q(0),
       ],
    q(watam) => [
-      q(7074),
+      q(7073),
       q(0),
       ],
    q(wathawurrung) => [
-      q(7240),
+      q(7239),
       q(0),
       ],
    q(watiwa) => [
-      q(7239),
+      q(7238),
       q(0),
       ],
    q(watubela) => [
-      q(7062),
+      q(7061),
       q(0),
       ],
    q(waube) => [
-      q(3514),
+      q(3513),
       q(0),
       ],
    q(waura) => [
-      q(7071),
+      q(7070),
       q(0),
       ],
    q(wauyai) => [
-      q(7257),
+      q(7256),
       q(0),
       ],
    q(wawa) => [
-      q(7262),
+      q(7261),
       q(0),
       ],
    q(wawonii) => [
-      q(7209),
+      q(7208),
       q(0),
       ],
    q(waxianghua) => [
-      q(7263),
+      q(7262),
       q(0),
       ],
    q(wayampi) => [
-      q(5342),
+      q(5341),
       q(0),
       ],
    q(wayana) => [
-      q(7075),
+      q(7074),
       q(0),
       ],
    q(wayanad chetti) => [
@@ -55638,43 +55672,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wayoro) => [
-      q(7269),
+      q(7268),
       q(0),
       ],
    q(wayu) => [
-      q(6984),
+      q(6983),
       q(0),
       ],
    q(wayuu) => [
-      q(2644),
+      q(2643),
       q(0),
       ],
    q(we northern) => [
-      q(7196),
+      q(7195),
       q(0),
       ],
    q(we southern) => [
-      q(2694),
+      q(2693),
       q(0),
       ],
    q(we western) => [
-      q(7101),
+      q(7100),
       q(0),
       ],
    q(wedau) => [
-      q(7102),
+      q(7101),
       q(0),
       ],
    q(weh) => [
-      q(7104),
+      q(7103),
       q(0),
       ],
    q(wejewa) => [
-      q(7113),
+      q(7112),
       q(0),
       ],
    q(weliki) => [
-      q(3435),
+      q(3434),
       q(0),
       ],
    q(welsh) => [
@@ -55682,31 +55716,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(welsh romani) => [
-      q(5824),
+      q(5823),
       q(0),
       ],
    q(wemale) => [
-      q(7107),
+      q(7106),
       q(0),
       ],
    q(wemba wemba) => [
-      q(7558),
+      q(7557),
       q(0),
       ],
    q(weme gbe) => [
-      q(7106),
+      q(7105),
       q(0),
       ],
    q(wergaia) => [
-      q(7103),
+      q(7102),
       q(0),
       ],
    q(weri) => [
-      q(7109),
+      q(7108),
       q(0),
       ],
    q(wersing) => [
-      q(3688),
+      q(3687),
       q(0),
       ],
    q(west albay bikol) => [
@@ -55714,7 +55748,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(west ambae) => [
-      q(4990),
+      q(4989),
       q(0),
       ],
    q(west berawan) => [
@@ -55746,19 +55780,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(west kewa) => [
-      q(3278),
+      q(3277),
       q(0),
       ],
    q(west lembata) => [
-      q(3984),
+      q(3983),
       q(0),
       ],
    q(west makian) => [
-      q(4497),
+      q(4496),
       q(0),
       ],
    q(west masela) => [
-      q(4547),
+      q(4546),
       q(0),
       ],
    q(west slavic languages) => [
@@ -55766,19 +55800,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(west tarangan) => [
-      q(6820),
+      q(6819),
       q(0),
       ],
    q(west uvean) => [
-      q(6962),
+      q(6961),
       q(0),
       ],
    q(west yugur) => [
-      q(7600),
+      q(7599),
       q(0),
       ],
    q(west-central limba) => [
-      q(3909),
+      q(3908),
       q(0),
       ],
    q(western abnaki) => [
@@ -55798,7 +55832,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western bolivian guarani) => [
-      q(2583),
+      q(2582),
       q(0),
       ],
    q(western bru) => [
@@ -55806,11 +55840,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western bukidnon manobo) => [
-      q(4128),
+      q(4127),
       q(0),
       ],
    q(western canadian inuktitut) => [
-      q(2947),
+      q(2946),
       q(1),
       ],
    q(western cham) => [
@@ -55826,7 +55860,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western fijian) => [
-      q(7270),
+      q(7269),
       q(0),
       ],
    q(western frisian) => [
@@ -55834,7 +55868,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western gurung) => [
-      q(2676),
+      q(2675),
       q(0),
       ],
    q(western highland chatino) => [
@@ -55842,39 +55876,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western highland purepecha) => [
-      q(5640),
+      q(5639),
       q(0),
       ],
    q(western huasteca nahuatl) => [
-      q(4878),
+      q(4877),
       q(0),
       ],
    q(western juxtlahuaca mixtec) => [
-      q(3126),
+      q(3125),
       q(0),
       ],
    q(western kanjobal) => [
-      q(3487),
+      q(3486),
       q(0),
       ],
    q(western karaboro) => [
-      q(3767),
+      q(3766),
       q(0),
       ],
    q(western katu) => [
-      q(3649),
+      q(3648),
       q(0),
       ],
    q(western kayah) => [
-      q(3761),
+      q(3760),
       q(0),
       ],
    q(western keres) => [
-      q(3393),
+      q(3392),
       q(0),
       ],
    q(western krahn) => [
-      q(3589),
+      q(3588),
       q(0),
       ],
    q(western lalu) => [
@@ -55882,11 +55916,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western lawa) => [
-      q(3842),
+      q(3841),
       q(0),
       ],
    q(western magar) => [
-      q(4508),
+      q(4507),
       q(0),
       ],
    q(western malayo-polynesian languages) => [
@@ -55894,27 +55928,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western maninkakan) => [
-      q(4381),
+      q(4380),
       q(0),
       ],
    q(western mari) => [
-      q(4513),
+      q(4512),
       q(0),
       ],
    q(western mashan hmong) => [
-      q(2797),
+      q(2796),
       q(0),
       ],
    q(western mashan miao) => [
-      q(2797),
+      q(2796),
       q(1),
       ],
    q(western meohang) => [
-      q(5739),
+      q(5738),
       q(0),
       ],
    q(western muria) => [
-      q(4594),
+      q(4593),
       q(0),
       ],
    q(western neo-aramaic) => [
@@ -55926,7 +55960,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western ojibwa) => [
-      q(5223),
+      q(5222),
       q(0),
       ],
    q(western pahari languages) => [
@@ -55934,47 +55968,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(western panjabi) => [
-      q(5530),
+      q(5529),
       q(0),
       ],
    q(western parbate kham) => [
-      q(3388),
+      q(3387),
       q(0),
       ],
    q(western penan) => [
-      q(5532),
+      q(5531),
       q(0),
       ],
    q(western sisaala) => [
-      q(6239),
+      q(6238),
       q(0),
       ],
    q(western subanon) => [
-      q(6278),
+      q(6277),
       q(0),
       ],
    q(western tamang) => [
-      q(6433),
+      q(6432),
       q(0),
       ],
    q(western tawbuid) => [
-      q(6792),
+      q(6791),
       q(0),
       ],
    q(western totonac) => [
-      q(6684),
+      q(6683),
       q(0),
       ],
    q(western tunebo) => [
-      q(6611),
+      q(6610),
       q(0),
       ],
    q(western xiangxi miao) => [
-      q(4406),
+      q(4405),
       q(0),
       ],
    q(western xwla gbe) => [
-      q(7554),
+      q(7553),
       q(0),
       ],
    q(western yiddish) => [
@@ -55982,19 +56016,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(westphalien) => [
-      q(7108),
+      q(7107),
       q(0),
       ],
    q(wetamut) => [
-      q(7260),
+      q(7259),
       q(0),
       ],
    q(wewaw) => [
-      q(7100),
+      q(7099),
       q(0),
       ],
    q(weyto) => [
-      q(7210),
+      q(7209),
       q(0),
       ],
    q(white gelao) => [
@@ -56002,75 +56036,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(white lachi) => [
-      q(4100),
+      q(4099),
       q(0),
       ],
    q(whitesands) => [
-      q(6623),
+      q(6622),
       q(0),
       ],
    q(wiarumus) => [
-      q(6759),
+      q(6758),
       q(0),
       ],
    q(wichi lhamtes guisnay) => [
-      q(4699),
+      q(4698),
       q(0),
       ],
    q(wichi lhamtes nocten) => [
-      q(4569),
+      q(4568),
       q(0),
       ],
    q(wichi lhamtes vejoz) => [
-      q(7163),
+      q(7162),
       q(0),
       ],
    q(wichita) => [
-      q(7127),
+      q(7126),
       q(0),
       ],
    q(wik-epa) => [
-      q(7128),
+      q(7127),
       q(0),
       ],
    q(wik-iiyanh) => [
-      q(7133),
+      q(7132),
       q(0),
       ],
    q(wik-keyangan) => [
-      q(7129),
+      q(7128),
       q(0),
       ],
    q(wik-me'anha) => [
-      q(7131),
+      q(7130),
       q(0),
       ],
    q(wik-mungkan) => [
-      q(7136),
+      q(7135),
       q(0),
       ],
    q(wik-ngathana) => [
-      q(7130),
+      q(7129),
       q(0),
       ],
    q(wikalkan) => [
-      q(7134),
+      q(7133),
       q(0),
       ],
    q(wikngenchera) => [
-      q(7245),
+      q(7244),
       q(0),
       ],
    q(wilawila) => [
-      q(7135),
+      q(7134),
       q(0),
       ],
    q(wintu) => [
-      q(7193),
+      q(7192),
       q(0),
       ],
    q(winye) => [
-      q(3612),
+      q(3611),
       q(0),
       ],
    q(wipi) => [
@@ -56078,47 +56112,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wiradhuri) => [
-      q(7216),
+      q(7215),
       q(0),
       ],
    q(wirafed) => [
-      q(7138),
+      q(7137),
       q(0),
       ],
    q(wirangu) => [
-      q(7120),
+      q(7119),
       q(0),
       ],
    q(wiru) => [
-      q(7139),
+      q(7138),
       q(0),
       ],
    q(wiyot) => [
-      q(7141),
+      q(7140),
       q(0),
       ],
    q(woccon) => [
-      q(7548),
+      q(7547),
       q(0),
       ],
    q(wogamusin) => [
-      q(7201),
+      q(7200),
       q(0),
       ],
    q(wogeo) => [
-      q(7197),
+      q(7196),
       q(0),
       ],
    q(woi) => [
-      q(7091),
+      q(7090),
       q(0),
       ],
    q(woiwurrung) => [
-      q(7267),
+      q(7266),
       q(0),
       ],
    q(wojenaka) => [
-      q(3135),
+      q(3134),
       q(0),
       ],
    q(wolaitta) => [
@@ -56126,11 +56160,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(wolane) => [
-      q(7153),
+      q(7152),
       q(0),
       ],
    q(wolani) => [
-      q(7198),
+      q(7197),
       q(0),
       ],
    q(wolaytta) => [
@@ -56138,11 +56172,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(woleaian) => [
-      q(7199),
+      q(7198),
       q(0),
       ],
    q(wolio) => [
-      q(7159),
+      q(7158),
       q(0),
       ],
    q(wolof) => [
@@ -56150,19 +56184,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wom (nigeria)) => [
-      q(7204),
+      q(7203),
       q(0),
       ],
    q(wom (papua new guinea)) => [
-      q(7176),
+      q(7175),
       q(0),
       ],
    q(womo) => [
-      q(7180),
+      q(7179),
       q(0),
       ],
    q(wongo) => [
-      q(7205),
+      q(7204),
       q(0),
       ],
    q(woods cree) => [
@@ -56170,43 +56204,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(woria) => [
-      q(7207),
+      q(7206),
       q(0),
       ],
    q(worimi) => [
-      q(3234),
+      q(3233),
       q(0),
       ],
    q(worodougou) => [
-      q(3149),
+      q(3148),
       q(0),
       ],
    q(worrorra) => [
-      q(7222),
+      q(7221),
       q(0),
       ],
    q(wotapuri-katarqalai) => [
-      q(7238),
+      q(7237),
       q(0),
       ],
    q(wotjobaluk) => [
-      q(7557),
+      q(7556),
       q(0),
       ],
    q(wotu) => [
-      q(7244),
+      q(7243),
       q(0),
       ],
    q(woun meu) => [
-      q(5011),
+      q(5010),
       q(0),
       ],
    q(written oirat) => [
-      q(7555),
+      q(7554),
       q(0),
       ],
    q(wu chinese) => [
-      q(7254),
+      q(7253),
       q(0),
       ],
    q(wuding-luquan yi) => [
@@ -56214,15 +56248,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wudu) => [
-      q(7247),
+      q(7246),
       q(0),
       ],
    q(wuliwuli) => [
-      q(7162),
+      q(7161),
       q(0),
       ],
    q(wulna) => [
-      q(7256),
+      q(7255),
       q(0),
       ],
    q(wumboko) => [
@@ -56230,7 +56264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wumbvu) => [
-      q(7250),
+      q(7249),
       q(0),
       ],
    q(wumeng nasu) => [
@@ -56242,15 +56276,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wunambal) => [
-      q(7246),
+      q(7245),
       q(0),
       ],
    q(wunumara) => [
-      q(7189),
+      q(7188),
       q(0),
       ],
    q(wurrugu) => [
-      q(7252),
+      q(7251),
       q(0),
       ],
    q(wusa nasu) => [
@@ -56262,35 +56296,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wusi) => [
-      q(7233),
+      q(7232),
       q(0),
       ],
    q(wutung) => [
-      q(7253),
+      q(7252),
       q(0),
       ],
    q(wutunhua) => [
-      q(7248),
+      q(7247),
       q(0),
       ],
    q(wuvulu-aua) => [
-      q(7255),
+      q(7254),
       q(0),
       ],
    q(wuzlam) => [
-      q(6865),
+      q(6864),
       q(0),
       ],
    q(wyandot) => [
-      q(7265),
+      q(7264),
       q(0),
       ],
    q(wymysorys) => [
-      q(7268),
+      q(7267),
       q(0),
       ],
    q(xaasongaxango) => [
-      q(3178),
+      q(3177),
       q(0),
       ],
    q(xadani zapotec) => [
@@ -56298,11 +56332,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(xakriaba) => [
-      q(7384),
+      q(7383),
       q(0),
       ],
+   q(xam) => [
+      q(7278),
+      q(1),
+      ],
    q(xamtanga) => [
-      q(7280),
+      q(7279),
       q(0),
       ],
    q(xanaguia zapotec) => [
@@ -56318,15 +56356,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(xavante) => [
-      q(7288),
+      q(7287),
       q(0),
       ],
+   q(xegwi) => [
+      q(7328),
+      q(1),
+      ],
    q(xerente) => [
-      q(7333),
+      q(7332),
       q(0),
       ],
    q(xeta) => [
-      q(7335),
+      q(7334),
       q(0),
       ],
    q(xhosa) => [
@@ -56334,19 +56376,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(xiang chinese) => [
-      q(2845),
+      q(2844),
       q(0),
       ],
    q(xibe) => [
-      q(6063),
+      q(6062),
       q(0),
       ],
    q(xicotepec de juarez totonac) => [
-      q(6644),
+      q(6643),
       q(0),
       ],
    q(xinca) => [
-      q(7360),
+      q(7359),
       q(0),
       ],
    q(xingu asurini) => [
@@ -56354,19 +56396,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(xipaya) => [
-      q(7365),
+      q(7364),
       q(0),
       ],
    q(xipinawa) => [
-      q(7361),
+      q(7360),
       q(0),
       ],
    q(xiri) => [
-      q(7358),
+      q(7357),
       q(0),
       ],
    q(xiriana) => [
-      q(7362),
+      q(7361),
       q(0),
       ],
    q(xishanba lalo) => [
@@ -56374,39 +56416,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(xokleng) => [
-      q(7449),
+      q(7448),
       q(0),
       ],
+   q(xoo) => [
+      q(4973),
+      q(1),
+      ],
    q(xukuru) => [
-      q(7452),
+      q(7451),
       q(0),
       ],
    q(xwela gbe) => [
-      q(7550),
+      q(7549),
       q(0),
       ],
    q(yaaku) => [
-      q(4595),
+      q(4594),
       q(0),
       ],
    q(yabaana) => [
-      q(7607),
+      q(7606),
       q(0),
       ],
    q(yabarana) => [
-      q(7589),
+      q(7588),
       q(0),
       ],
    q(yabem) => [
-      q(3044),
+      q(3043),
       q(0),
       ],
    q(yaben) => [
-      q(7606),
+      q(7605),
       q(0),
       ],
    q(yabong) => [
-      q(7608),
+      q(7607),
       q(0),
       ],
    q(yabula yabula) => [
@@ -56418,11 +56464,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yaeyama) => [
-      q(5883),
+      q(5882),
       q(0),
       ],
    q(yafi) => [
-      q(7114),
+      q(7113),
       q(0),
       ],
    q(yagara) => [
@@ -56430,31 +56476,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yagaria) => [
-      q(7637),
+      q(7636),
       q(0),
       ],
    q(yagnobi) => [
-      q(7582),
+      q(7581),
       q(0),
       ],
    q(yagomi) => [
-      q(7635),
+      q(7634),
       q(0),
       ],
    q(yagua) => [
-      q(7577),
+      q(7576),
       q(0),
       ],
    q(yagwoia) => [
-      q(7640),
+      q(7639),
       q(0),
       ],
    q(yahadian) => [
-      q(4821),
+      q(4820),
       q(0),
       ],
    q(yahang) => [
-      q(5784),
+      q(5783),
       q(0),
       ],
    q(yahuna) => [
@@ -56466,11 +56512,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yaka (congo)) => [
-      q(3036),
+      q(3035),
       q(0),
       ],
    q(yaka (democratic republic of congo)) => [
-      q(7579),
+      q(7578),
       q(0),
       ],
    q(yakaikeke) => [
@@ -56478,7 +56524,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yakama) => [
-      q(7584),
+      q(7583),
       q(0),
       ],
    q(yakan) => [
@@ -56486,7 +56532,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yakha) => [
-      q(7601),
+      q(7600),
       q(0),
       ],
    q(yakoma) => [
@@ -56498,15 +56544,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yala) => [
-      q(7598),
+      q(7597),
       q(0),
       ],
    q(yalahatan) => [
-      q(3049),
+      q(3048),
       q(0),
       ],
    q(yalakalore) => [
-      q(7568),
+      q(7567),
       q(0),
       ],
    q(yalalag zapotec) => [
@@ -56518,7 +56564,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yale) => [
-      q(4765),
+      q(4764),
       q(0),
       ],
    q(yaleba) => [
@@ -56526,11 +56572,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yalunka) => [
-      q(7585),
+      q(7584),
       q(0),
       ],
    q(yamana) => [
-      q(7580),
+      q(7579),
       q(0),
       ],
    q(yamap) => [
@@ -56538,7 +56584,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yamba) => [
-      q(7586),
+      q(7585),
       q(0),
       ],
    q(yambes) => [
@@ -56546,11 +56592,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yambeta) => [
-      q(7591),
+      q(7590),
       q(0),
       ],
    q(yamdena) => [
-      q(3119),
+      q(3118),
       q(0),
       ],
    q(yameo) => [
@@ -56558,11 +56604,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yami) => [
-      q(6368),
+      q(6367),
       q(0),
       ],
    q(yaminahua) => [
-      q(7574),
+      q(7573),
       q(0),
       ],
    q(yamna) => [
@@ -56574,11 +56620,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yamphu) => [
-      q(7602),
+      q(7601),
       q(0),
       ],
    q(yan-nhangu) => [
-      q(3058),
+      q(3057),
+      q(0),
+      ],
+   q(yan-nhanu sign language) => [
+      q(7643),
       q(0),
       ],
    q(yana) => [
@@ -56586,11 +56636,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yanahuanca pasco quechua) => [
-      q(5692),
+      q(5691),
       q(0),
       ],
    q(yanda) => [
-      q(7615),
+      q(7614),
       q(0),
       ],
    q(yanda dom dogon) => [
@@ -56598,7 +56648,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yandjibara) => [
-      q(7565),
+      q(7564),
       q(0),
       ],
    q(yandruwandha) => [
@@ -56614,7 +56664,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yangben) => [
-      q(7593),
+      q(7592),
       q(0),
       ],
    q(yangkam) => [
@@ -56622,7 +56672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yangman) => [
-      q(3129),
+      q(3128),
       q(0),
       ],
    q(yango) => [
@@ -56634,11 +56684,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yangum dey) => [
-      q(7617),
+      q(7616),
       q(0),
       ],
    q(yangum gel) => [
-      q(7634),
+      q(7633),
       q(0),
       ],
    q(yangum mon) => [
@@ -56646,15 +56696,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yankunytjatjara) => [
-      q(3236),
+      q(3235),
       q(0),
       ],
    q(yanomami) => [
-      q(7092),
+      q(7091),
       q(0),
       ],
    q(yanomamo) => [
-      q(2661),
+      q(2660),
       q(0),
       ],
    q(yansi) => [
@@ -56662,7 +56712,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yanyuwa) => [
-      q(3052),
+      q(3051),
       q(0),
       ],
    q(yao) => [
@@ -56682,15 +56732,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yapunda) => [
-      q(7630),
+      q(7629),
       q(0),
       ],
    q(yaqay) => [
-      q(3053),
+      q(3052),
       q(0),
       ],
    q(yaqui) => [
-      q(7588),
+      q(7587),
       q(0),
       ],
    q(yarawata) => [
@@ -56754,11 +56804,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yauma) => [
-      q(7595),
+      q(7594),
       q(0),
       ],
    q(yaur) => [
-      q(3056),
+      q(3055),
       q(0),
       ],
    q(yautepec zapotec) => [
@@ -56766,7 +56816,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yauyos quechua) => [
-      q(5696),
+      q(5695),
       q(0),
       ],
    q(yavitero) => [
@@ -56778,7 +56828,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yawalapiti) => [
-      q(7594),
+      q(7593),
       q(0),
       ],
    q(yawanawa) => [
@@ -56790,15 +56840,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yaweyuha) => [
-      q(7610),
+      q(7609),
       q(0),
       ],
    q(yawijibaya) => [
-      q(3068),
+      q(3067),
       q(0),
       ],
    q(yawiyo) => [
-      q(7609),
+      q(7608),
       q(0),
       ],
    q(yawuru) => [
@@ -56806,19 +56856,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yaygir) => [
-      q(7564),
+      q(7563),
       q(0),
       ],
    q(yazgulyam) => [
-      q(7581),
+      q(7580),
       q(0),
       ],
    q(yecuatla totonac) => [
-      q(6567),
+      q(6566),
       q(0),
       ],
    q(yei) => [
-      q(3078),
+      q(3077),
       q(0),
       ],
    q(yekhee) => [
@@ -56830,7 +56880,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yela) => [
-      q(7625),
+      q(7624),
       q(0),
       ],
    q(yele) => [
@@ -56838,7 +56888,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yelmek) => [
-      q(3080),
+      q(3079),
       q(0),
       ],
    q(yelogu) => [
@@ -56846,11 +56896,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yemba) => [
-      q(7599),
+      q(7598),
       q(0),
       ],
    q(yemsa) => [
-      q(3131),
+      q(3130),
       q(0),
       ],
    q(yendang) => [
@@ -56858,11 +56908,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yeni) => [
-      q(7623),
+      q(7622),
       q(0),
       ],
    q(yeniche) => [
-      q(7621),
+      q(7620),
       q(0),
       ],
    q(yerakai) => [
@@ -56870,7 +56920,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yeretuar) => [
-      q(2598),
+      q(2597),
       q(0),
       ],
    q(yerong) => [
@@ -56878,7 +56928,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yerukula) => [
-      q(7629),
+      q(7628),
       q(0),
       ],
    q(yessan-mayo) => [
@@ -56886,15 +56936,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yetfa) => [
-      q(7628),
+      q(7627),
       q(0),
       ],
    q(yevanic) => [
-      q(7624),
+      q(7623),
       q(0),
       ],
    q(yeyi) => [
-      q(7631),
+      q(7630),
       q(0),
       ],
    q(yiddish) => [
@@ -56902,7 +56952,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yidgha) => [
-      q(7618),
+      q(7617),
       q(0),
       ],
    q(yidiny) => [
@@ -56914,7 +56964,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yimas) => [
-      q(7622),
+      q(7621),
       q(0),
       ],
    q(yimchungru naga) => [
@@ -56922,7 +56972,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yinbaw karen) => [
-      q(3686),
+      q(3685),
       q(0),
       ],
    q(yinchia) => [
@@ -56938,7 +56988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yine) => [
-      q(5449),
+      q(5448),
       q(0),
       ],
    q(yinggarda) => [
@@ -56950,15 +57000,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yiningayi) => [
-      q(7633),
+      q(7632),
       q(0),
       ],
    q(yintale) => [
-      q(3690),
+      q(3689),
       q(1),
       ],
    q(yintale karen) => [
-      q(3690),
+      q(3689),
       q(0),
       ],
    q(yinwum) => [
@@ -56974,7 +57024,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yirandali) => [
-      q(3936),
+      q(3935),
       q(0),
       ],
    q(yirrk-mel) => [
@@ -56986,7 +57036,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yitha yitha) => [
-      q(7512),
+      q(7511),
       q(0),
       ],
    q(yiwom) => [
@@ -56998,7 +57048,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yocoboue dida) => [
-      q(2645),
+      q(2644),
       q(0),
       ],
    q(yogad) => [
@@ -57006,7 +57056,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yoidik) => [
-      q(7619),
+      q(7618),
       q(0),
       ],
    q(yoke) => [
@@ -57022,15 +57072,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yolnu sign language) => [
-      q(7638),
+      q(7637),
       q(0),
       ],
    q(yoloxochitl mixtec) => [
-      q(7527),
+      q(7526),
       q(0),
       ],
    q(yom) => [
-      q(5458),
+      q(5457),
       q(0),
       ],
    q(yombe) => [
@@ -57062,7 +57112,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yora) => [
-      q(4572),
+      q(4571),
       q(0),
       ],
    q(yoron) => [
@@ -57070,7 +57120,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yorta yorta) => [
-      q(7570),
+      q(7569),
       q(0),
       ],
    q(yoruba) => [
@@ -57078,7 +57128,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yosondua mixtec) => [
-      q(4466),
+      q(4465),
       q(0),
       ],
    q(yotti) => [
@@ -57090,7 +57140,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(youle jinuo) => [
-      q(3104),
+      q(3103),
       q(0),
       ],
    q(younuo bunu) => [
@@ -57106,7 +57156,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yuanga) => [
-      q(5103),
+      q(5102),
       q(0),
       ],
    q(yucatec maya) => [
@@ -57114,7 +57164,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(yucatec maya sign language) => [
-      q(4532),
+      q(4531),
       q(0),
       ],
    q(yucateco) => [
@@ -57126,11 +57176,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yucuane mixtec) => [
-      q(4605),
+      q(4604),
       q(0),
       ],
    q(yucuna) => [
-      q(7613),
+      q(7612),
       q(0),
       ],
    q(yue chinese) => [
@@ -57150,11 +57200,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yugul) => [
-      q(7639),
+      q(7638),
       q(0),
       ],
    q(yuhup) => [
-      q(7575),
+      q(7574),
       q(0),
       ],
    q(yuki) => [
@@ -57166,7 +57216,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yukuben) => [
-      q(7605),
+      q(7604),
       q(0),
       ],
    q(yulu) => [
@@ -57186,7 +57236,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yurats) => [
-      q(5859),
+      q(5858),
       q(0),
       ],
    q(yurok) => [
@@ -57194,7 +57244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yuru) => [
-      q(3937),
+      q(3936),
       q(0),
       ],
    q(yuruti) => [
@@ -57202,11 +57252,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yutanduchi mixtec) => [
-      q(4115),
+      q(4114),
       q(0),
       ],
    q(yuwana) => [
-      q(7592),
+      q(7591),
       q(0),
       ],
    q(yuyu) => [
@@ -57218,7 +57268,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zabana) => [
-      q(3385),
+      q(3384),
       q(0),
       ],
    q(zacatepec chatino) => [
@@ -57226,7 +57276,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zacatlan-ahuacatlan-tepetzintla nahuatl) => [
-      q(4867),
+      q(4866),
       q(0),
       ],
    q(zaghawa) => [
@@ -57306,7 +57356,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zayein karen) => [
-      q(3725),
+      q(3724),
       q(0),
       ],
    q(zayse-zergulla) => [
@@ -57326,7 +57376,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(5),
       ],
    q(zazao) => [
-      q(3047),
+      q(3046),
       q(0),
       ],
    q(zeem) => [
@@ -57342,11 +57392,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zeme naga) => [
-      q(5179),
+      q(5178),
       q(0),
       ],
    q(zemgalian) => [
-      q(7572),
+      q(7571),
       q(0),
       ],
    q(zenag) => [
@@ -57370,7 +57420,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zhang-zhung) => [
-      q(7571),
+      q(7570),
       q(0),
       ],
    q(zhire) => [
@@ -57414,7 +57464,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zire) => [
-      q(6038),
+      q(6037),
       q(0),
       ],
    q(ziriya) => [
@@ -57426,7 +57476,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zo'e) => [
-      q(5631),
+      q(5630),
       q(0),
       ],
    q(zokhuo) => [
@@ -57442,7 +57492,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zorop) => [
-      q(7114),
+      q(7113),
       q(1),
       ],
    q(zotung chin) => [
@@ -57466,7 +57516,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zumbun) => [
-      q(3117),
+      q(3116),
       q(0),
       ],
    q(zuni) => [
@@ -67108,55 +67158,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gnq) => [
-         q(2579),
-         q(0),
+         q(2574),
+         q(1),
          ],
       q(gnr) => [
-         q(2580),
+         q(2579),
          q(0),
          ],
       q(gnt) => [
-         q(2581),
+         q(2580),
          q(0),
          ],
       q(gnu) => [
-         q(2582),
+         q(2581),
          q(0),
          ],
       q(gnw) => [
-         q(2583),
+         q(2582),
          q(0),
          ],
       q(gnz) => [
-         q(2584),
+         q(2583),
          q(0),
          ],
       q(goa) => [
-         q(2585),
+         q(2584),
          q(0),
          ],
       q(gob) => [
-         q(2586),
+         q(2585),
          q(0),
          ],
       q(goc) => [
-         q(2587),
+         q(2586),
          q(0),
          ],
       q(god) => [
-         q(2588),
+         q(2587),
          q(0),
          ],
       q(goe) => [
-         q(2589),
+         q(2588),
          q(0),
          ],
       q(gof) => [
-         q(2590),
+         q(2589),
          q(0),
          ],
       q(gog) => [
-         q(2591),
+         q(2590),
          q(0),
          ],
       q(goh) => [
@@ -67164,23 +67214,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(goi) => [
-         q(2592),
+         q(2591),
          q(0),
          ],
       q(goj) => [
-         q(2593),
+         q(2592),
          q(0),
          ],
       q(gok) => [
-         q(2594),
+         q(2593),
          q(0),
          ],
       q(gol) => [
-         q(2595),
+         q(2594),
          q(0),
          ],
       q(gom) => [
-         q(2596),
+         q(2595),
          q(0),
          ],
       q(gon) => [
@@ -67188,15 +67238,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(goo) => [
-         q(2597),
+         q(2596),
          q(0),
          ],
       q(gop) => [
-         q(2598),
+         q(2597),
          q(0),
          ],
       q(goq) => [
-         q(2599),
+         q(2598),
          q(0),
          ],
       q(gor) => [
@@ -67204,7 +67254,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gos) => [
-         q(2600),
+         q(2599),
          q(0),
          ],
       q(got) => [
@@ -67212,59 +67262,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gou) => [
-         q(2601),
+         q(2600),
          q(0),
          ],
       q(gow) => [
-         q(2602),
+         q(2601),
          q(0),
          ],
       q(gox) => [
-         q(2603),
+         q(2602),
          q(0),
          ],
       q(goy) => [
-         q(2604),
+         q(2603),
          q(0),
          ],
       q(goz) => [
-         q(2605),
+         q(2604),
          q(0),
          ],
       q(gpa) => [
-         q(2606),
+         q(2605),
          q(0),
          ],
       q(gpe) => [
-         q(2607),
+         q(2606),
          q(0),
          ],
       q(gpn) => [
-         q(2608),
+         q(2607),
          q(0),
          ],
       q(gqa) => [
-         q(2609),
+         q(2608),
          q(0),
          ],
       q(gqi) => [
-         q(2610),
+         q(2609),
          q(0),
          ],
       q(gqn) => [
-         q(2611),
+         q(2610),
          q(0),
          ],
       q(gqr) => [
-         q(2612),
+         q(2611),
          q(0),
          ],
       q(gqu) => [
-         q(2613),
+         q(2612),
          q(0),
          ],
       q(gra) => [
-         q(2614),
+         q(2613),
          q(0),
          ],
       q(grb) => [
@@ -67276,7 +67326,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(grd) => [
-         q(2615),
+         q(2614),
          q(0),
          ],
       q(gre) => [
@@ -67284,19 +67334,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(grg) => [
-         q(2616),
+         q(2615),
          q(0),
          ],
       q(grh) => [
-         q(2617),
+         q(2616),
          q(0),
          ],
       q(gri) => [
-         q(2618),
+         q(2617),
          q(0),
          ],
       q(grj) => [
-         q(2619),
+         q(2618),
          q(0),
          ],
       q(grk) => [
@@ -67304,7 +67354,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(grm) => [
-         q(2620),
+         q(2619),
          q(0),
          ],
       q(grn) => [
@@ -67312,79 +67362,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gro) => [
-         q(2621),
+         q(2620),
          q(0),
          ],
       q(grq) => [
-         q(2622),
+         q(2621),
          q(0),
          ],
       q(grr) => [
-         q(2623),
+         q(2622),
          q(0),
          ],
       q(grs) => [
-         q(2624),
+         q(2623),
          q(0),
          ],
       q(grt) => [
-         q(2625),
+         q(2624),
          q(0),
          ],
       q(gru) => [
-         q(2626),
+         q(2625),
          q(0),
          ],
       q(grv) => [
-         q(2627),
+         q(2626),
          q(0),
          ],
       q(grw) => [
-         q(2628),
+         q(2627),
          q(0),
          ],
       q(grx) => [
-         q(2629),
+         q(2628),
          q(0),
          ],
       q(gry) => [
-         q(2630),
+         q(2629),
          q(0),
          ],
       q(grz) => [
-         q(2631),
+         q(2630),
          q(0),
          ],
       q(gse) => [
-         q(2632),
+         q(2631),
          q(0),
          ],
       q(gsg) => [
-         q(2633),
+         q(2632),
          q(0),
          ],
       q(gsl) => [
-         q(2634),
+         q(2633),
          q(0),
          ],
       q(gsm) => [
-         q(2635),
+         q(2634),
          q(0),
          ],
       q(gsn) => [
-         q(2636),
+         q(2635),
          q(0),
          ],
       q(gso) => [
-         q(2637),
+         q(2636),
          q(0),
          ],
       q(gsp) => [
-         q(2638),
+         q(2637),
          q(0),
          ],
       q(gss) => [
-         q(2639),
+         q(2638),
          q(0),
          ],
       q(gsw) => [
@@ -67392,47 +67442,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gta) => [
-         q(2640),
+         q(2639),
          q(0),
          ],
       q(gtu) => [
-         q(2641),
+         q(2640),
          q(0),
          ],
       q(gua) => [
-         q(2642),
+         q(2641),
          q(0),
          ],
       q(gub) => [
-         q(2643),
+         q(2642),
          q(0),
          ],
       q(guc) => [
-         q(2644),
+         q(2643),
          q(0),
          ],
       q(gud) => [
-         q(2645),
+         q(2644),
          q(0),
          ],
       q(gue) => [
-         q(2646),
+         q(2645),
          q(0),
          ],
       q(guf) => [
-         q(2647),
+         q(2646),
          q(0),
          ],
       q(gug) => [
-         q(2648),
+         q(2647),
          q(0),
          ],
       q(guh) => [
-         q(2649),
+         q(2648),
          q(0),
          ],
       q(gui) => [
-         q(2650),
+         q(2649),
          q(0),
          ],
       q(guj) => [
@@ -67440,143 +67490,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(guk) => [
-         q(2651),
+         q(2650),
          q(0),
          ],
       q(gul) => [
-         q(2652),
+         q(2651),
          q(0),
          ],
       q(gum) => [
-         q(2653),
+         q(2652),
          q(0),
          ],
       q(gun) => [
-         q(2654),
+         q(2653),
          q(0),
          ],
       q(guo) => [
-         q(2655),
+         q(2654),
          q(0),
          ],
       q(gup) => [
-         q(2656),
+         q(2655),
          q(0),
          ],
       q(guq) => [
-         q(2657),
+         q(2656),
          q(0),
          ],
       q(gur) => [
-         q(2658),
+         q(2657),
          q(0),
          ],
       q(gus) => [
-         q(2659),
+         q(2658),
          q(0),
          ],
       q(gut) => [
-         q(2660),
+         q(2659),
          q(0),
          ],
       q(guu) => [
-         q(2661),
+         q(2660),
          q(0),
          ],
       q(guv) => [
-         q(2662),
+         q(2661),
          q(0),
          ],
       q(guw) => [
-         q(2663),
+         q(2662),
          q(0),
          ],
       q(gux) => [
-         q(2664),
+         q(2663),
          q(0),
          ],
       q(guz) => [
-         q(2665),
+         q(2664),
          q(0),
          ],
       q(gva) => [
-         q(2666),
+         q(2665),
          q(0),
          ],
       q(gvc) => [
-         q(2667),
+         q(2666),
          q(0),
          ],
       q(gve) => [
-         q(2668),
+         q(2667),
          q(0),
          ],
       q(gvf) => [
-         q(2669),
+         q(2668),
          q(0),
          ],
       q(gvj) => [
-         q(2670),
+         q(2669),
          q(0),
          ],
       q(gvl) => [
-         q(2671),
+         q(2670),
          q(0),
          ],
       q(gvm) => [
-         q(2672),
+         q(2671),
          q(0),
          ],
       q(gvn) => [
-         q(2673),
+         q(2672),
          q(0),
          ],
       q(gvo) => [
-         q(2674),
+         q(2673),
          q(0),
          ],
       q(gvp) => [
-         q(2675),
+         q(2674),
          q(0),
          ],
       q(gvr) => [
-         q(2676),
+         q(2675),
          q(0),
          ],
       q(gvs) => [
-         q(2677),
+         q(2676),
          q(0),
          ],
       q(gvy) => [
-         q(2678),
+         q(2677),
          q(0),
          ],
       q(gwa) => [
-         q(2679),
+         q(2678),
          q(0),
          ],
       q(gwb) => [
-         q(2680),
+         q(2679),
          q(0),
          ],
       q(gwc) => [
-         q(2681),
+         q(2680),
          q(0),
          ],
       q(gwd) => [
-         q(2682),
+         q(2681),
          q(0),
          ],
       q(gwe) => [
-         q(2683),
+         q(2682),
          q(0),
          ],
       q(gwf) => [
-         q(2684),
+         q(2683),
          q(0),
          ],
       q(gwg) => [
-         q(2685),
+         q(2684),
          q(0),
          ],
       q(gwi) => [
@@ -67584,131 +67634,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gwj) => [
-         q(2686),
+         q(2685),
          q(0),
          ],
       q(gwm) => [
-         q(2687),
+         q(2686),
          q(0),
          ],
       q(gwn) => [
-         q(2688),
+         q(2687),
          q(0),
          ],
       q(gwr) => [
-         q(2689),
+         q(2688),
          q(0),
          ],
       q(gwt) => [
-         q(2690),
+         q(2689),
          q(0),
          ],
       q(gwu) => [
-         q(2691),
+         q(2690),
          q(0),
          ],
       q(gww) => [
-         q(2692),
+         q(2691),
          q(0),
          ],
       q(gwx) => [
-         q(2693),
+         q(2692),
          q(0),
          ],
       q(gxx) => [
-         q(2694),
+         q(2693),
          q(0),
          ],
       q(gya) => [
-         q(2695),
+         q(2694),
          q(0),
          ],
       q(gyb) => [
-         q(2696),
+         q(2695),
          q(0),
          ],
       q(gyd) => [
-         q(2697),
+         q(2696),
          q(0),
          ],
       q(gye) => [
-         q(2698),
+         q(2697),
          q(0),
          ],
       q(gyf) => [
-         q(2699),
+         q(2698),
          q(0),
          ],
       q(gyg) => [
-         q(2700),
+         q(2699),
          q(0),
          ],
       q(gyi) => [
-         q(2701),
+         q(2700),
          q(0),
          ],
       q(gyl) => [
-         q(2702),
+         q(2701),
          q(0),
          ],
       q(gym) => [
-         q(2703),
+         q(2702),
          q(0),
          ],
       q(gyn) => [
-         q(2704),
+         q(2703),
          q(0),
          ],
       q(gyr) => [
-         q(2705),
+         q(2704),
          q(0),
          ],
       q(gyy) => [
-         q(2706),
+         q(2705),
          q(0),
          ],
       q(gza) => [
-         q(2707),
+         q(2706),
          q(0),
          ],
       q(gzi) => [
-         q(2708),
+         q(2707),
          q(0),
          ],
       q(gzn) => [
-         q(2709),
+         q(2708),
          q(0),
          ],
       q(haa) => [
-         q(2710),
+         q(2709),
          q(0),
          ],
       q(hab) => [
-         q(2711),
+         q(2710),
          q(0),
          ],
       q(hac) => [
-         q(2712),
+         q(2711),
          q(0),
          ],
       q(had) => [
-         q(2713),
+         q(2712),
          q(0),
          ],
       q(hae) => [
-         q(2714),
+         q(2713),
          q(0),
          ],
       q(haf) => [
-         q(2715),
+         q(2714),
          q(0),
          ],
       q(hag) => [
-         q(2716),
+         q(2715),
          q(0),
          ],
       q(hah) => [
-         q(2717),
+         q(2716),
          q(0),
          ],
       q(hai) => [
@@ -67716,43 +67766,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(haj) => [
-         q(2718),
+         q(2717),
          q(0),
          ],
       q(hak) => [
-         q(2719),
+         q(2718),
          q(0),
          ],
       q(hal) => [
-         q(2720),
+         q(2719),
          q(0),
          ],
       q(ham) => [
-         q(2721),
+         q(2720),
          q(0),
          ],
       q(han) => [
-         q(2722),
+         q(2721),
          q(0),
          ],
       q(hao) => [
-         q(2723),
+         q(2722),
          q(0),
          ],
       q(hap) => [
-         q(2724),
+         q(2723),
          q(0),
          ],
       q(haq) => [
-         q(2725),
+         q(2724),
          q(0),
          ],
       q(har) => [
-         q(2726),
+         q(2725),
          q(0),
          ],
       q(has) => [
-         q(2727),
+         q(2726),
          q(0),
          ],
       q(hat) => [
@@ -67764,7 +67814,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hav) => [
-         q(2728),
+         q(2727),
          q(0),
          ],
       q(haw) => [
@@ -67772,59 +67822,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hax) => [
-         q(2729),
+         q(2728),
          q(0),
          ],
       q(hay) => [
-         q(2730),
+         q(2729),
          q(0),
          ],
       q(haz) => [
-         q(2731),
+         q(2730),
          q(0),
          ],
       q(hba) => [
-         q(2732),
+         q(2731),
          q(0),
          ],
       q(hbb) => [
-         q(2733),
+         q(2732),
          q(0),
          ],
       q(hbn) => [
-         q(2734),
+         q(2733),
          q(0),
          ],
       q(hbo) => [
-         q(2735),
+         q(2734),
          q(0),
          ],
       q(hbu) => [
-         q(2736),
+         q(2735),
          q(0),
          ],
       q(hca) => [
-         q(2737),
+         q(2736),
          q(0),
          ],
       q(hch) => [
-         q(2738),
+         q(2737),
          q(0),
          ],
       q(hdn) => [
-         q(2739),
+         q(2738),
          q(0),
          ],
       q(hds) => [
-         q(2740),
+         q(2739),
          q(0),
          ],
       q(hdy) => [
-         q(2741),
+         q(2740),
          q(0),
          ],
       q(hea) => [
-         q(2742),
+         q(2741),
          q(0),
          ],
       q(heb) => [
@@ -67832,23 +67882,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hed) => [
-         q(2743),
+         q(2742),
          q(0),
          ],
       q(heg) => [
-         q(2744),
+         q(2743),
          q(0),
          ],
       q(heh) => [
-         q(2745),
+         q(2744),
          q(0),
          ],
       q(hei) => [
-         q(2746),
+         q(2745),
          q(0),
          ],
       q(hem) => [
-         q(2747),
+         q(2746),
          q(0),
          ],
       q(her) => [
@@ -67856,59 +67906,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hgm) => [
-         q(2748),
+         q(2747),
          q(0),
          ],
       q(hgw) => [
-         q(2749),
+         q(2748),
          q(0),
          ],
       q(hhi) => [
-         q(2750),
+         q(2749),
          q(0),
          ],
       q(hhr) => [
-         q(2751),
+         q(2750),
          q(0),
          ],
       q(hhy) => [
-         q(2752),
+         q(2751),
          q(0),
          ],
       q(hia) => [
-         q(2753),
+         q(2752),
          q(0),
          ],
       q(hib) => [
-         q(2754),
+         q(2753),
          q(0),
          ],
       q(hid) => [
-         q(2755),
+         q(2754),
          q(0),
          ],
       q(hif) => [
-         q(2756),
+         q(2755),
          q(0),
          ],
       q(hig) => [
-         q(2757),
+         q(2756),
          q(0),
          ],
       q(hih) => [
-         q(2758),
+         q(2757),
          q(0),
          ],
       q(hii) => [
-         q(2759),
+         q(2758),
          q(0),
          ],
       q(hij) => [
-         q(2760),
+         q(2759),
          q(0),
          ],
       q(hik) => [
-         q(2761),
+         q(2760),
          q(0),
          ],
       q(hil) => [
@@ -67924,11 +67974,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hio) => [
-         q(2762),
+         q(2761),
          q(0),
          ],
       q(hir) => [
-         q(2763),
+         q(2762),
          q(0),
          ],
       q(hit) => [
@@ -67936,107 +67986,107 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hiw) => [
-         q(2764),
+         q(2763),
          q(0),
          ],
       q(hix) => [
-         q(2765),
+         q(2764),
          q(0),
          ],
       q(hji) => [
-         q(2766),
+         q(2765),
          q(0),
          ],
       q(hka) => [
-         q(2767),
+         q(2766),
          q(0),
          ],
       q(hke) => [
-         q(2768),
+         q(2767),
          q(0),
          ],
       q(hkk) => [
-         q(2769),
+         q(2768),
          q(0),
          ],
       q(hks) => [
-         q(2770),
+         q(2769),
          q(0),
          ],
       q(hla) => [
-         q(2771),
+         q(2770),
          q(0),
          ],
       q(hlb) => [
-         q(2772),
+         q(2771),
          q(0),
          ],
       q(hld) => [
-         q(2773),
+         q(2772),
          q(0),
          ],
       q(hle) => [
-         q(2774),
+         q(2773),
          q(0),
          ],
       q(hlt) => [
-         q(2775),
+         q(2774),
          q(0),
          ],
       q(hlu) => [
-         q(2776),
+         q(2775),
          q(0),
          ],
       q(hma) => [
-         q(2777),
+         q(2776),
          q(0),
          ],
       q(hmb) => [
-         q(2778),
+         q(2777),
          q(0),
          ],
       q(hmc) => [
-         q(2779),
+         q(2778),
          q(0),
          ],
       q(hmd) => [
-         q(2780),
+         q(2779),
          q(0),
          ],
       q(hme) => [
-         q(2781),
+         q(2780),
          q(0),
          ],
       q(hmf) => [
-         q(2782),
+         q(2781),
          q(0),
          ],
       q(hmg) => [
-         q(2783),
+         q(2782),
          q(0),
          ],
       q(hmh) => [
-         q(2784),
+         q(2783),
          q(0),
          ],
       q(hmi) => [
-         q(2785),
+         q(2784),
          q(0),
          ],
       q(hmj) => [
-         q(2786),
+         q(2785),
          q(0),
          ],
       q(hmk) => [
-         q(2787),
+         q(2786),
          q(0),
          ],
       q(hml) => [
-         q(2788),
+         q(2787),
          q(0),
          ],
       q(hmm) => [
-         q(2789),
+         q(2788),
          q(0),
          ],
       q(hmn) => [
@@ -68048,35 +68098,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hmp) => [
-         q(2790),
+         q(2789),
          q(0),
          ],
       q(hmq) => [
-         q(2791),
+         q(2790),
          q(0),
          ],
       q(hmr) => [
-         q(2792),
+         q(2791),
          q(0),
          ],
       q(hms) => [
-         q(2793),
+         q(2792),
          q(0),
          ],
       q(hmt) => [
-         q(2794),
+         q(2793),
          q(0),
          ],
       q(hmu) => [
-         q(2795),
+         q(2794),
          q(0),
          ],
       q(hmv) => [
-         q(2796),
+         q(2795),
          q(0),
          ],
       q(hmw) => [
-         q(2797),
+         q(2796),
          q(0),
          ],
       q(hmx) => [
@@ -68084,83 +68134,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hmy) => [
-         q(2798),
+         q(2797),
          q(0),
          ],
       q(hmz) => [
-         q(2799),
+         q(2798),
          q(0),
          ],
       q(hna) => [
-         q(2800),
+         q(2799),
          q(0),
          ],
       q(hnd) => [
-         q(2801),
+         q(2800),
          q(0),
          ],
       q(hne) => [
-         q(2802),
+         q(2801),
          q(0),
          ],
       q(hnh) => [
-         q(2803),
+         q(2802),
          q(0),
          ],
       q(hni) => [
-         q(2804),
+         q(2803),
          q(0),
          ],
       q(hnj) => [
-         q(2805),
+         q(2804),
          q(0),
          ],
       q(hnn) => [
-         q(2806),
+         q(2805),
          q(0),
          ],
       q(hno) => [
-         q(2807),
+         q(2806),
          q(0),
          ],
       q(hns) => [
-         q(2808),
+         q(2807),
          q(0),
          ],
       q(hnu) => [
-         q(2809),
+         q(2808),
          q(0),
          ],
       q(hoa) => [
-         q(2810),
+         q(2809),
          q(0),
          ],
       q(hob) => [
-         q(2811),
+         q(2810),
          q(0),
          ],
       q(hoc) => [
-         q(2812),
+         q(2811),
          q(0),
          ],
       q(hod) => [
-         q(2813),
+         q(2812),
          q(0),
          ],
       q(hoe) => [
-         q(2814),
+         q(2813),
          q(0),
          ],
       q(hoh) => [
-         q(2815),
+         q(2814),
          q(0),
          ],
       q(hoi) => [
-         q(2816),
+         q(2815),
          q(0),
          ],
       q(hoj) => [
-         q(2817),
+         q(2816),
          q(0),
          ],
       q(hok) => [
@@ -68168,91 +68218,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hol) => [
-         q(2818),
+         q(2817),
          q(0),
          ],
       q(hom) => [
-         q(2819),
+         q(2818),
          q(0),
          ],
       q(hoo) => [
-         q(2820),
+         q(2819),
          q(0),
          ],
       q(hop) => [
-         q(2821),
+         q(2820),
          q(0),
          ],
       q(hor) => [
-         q(2822),
+         q(2821),
          q(0),
          ],
       q(hos) => [
-         q(2823),
+         q(2822),
          q(0),
          ],
       q(hot) => [
-         q(2824),
+         q(2823),
          q(0),
          ],
       q(hov) => [
-         q(2825),
+         q(2824),
          q(0),
          ],
       q(how) => [
-         q(2826),
+         q(2825),
          q(0),
          ],
       q(hoy) => [
-         q(2827),
+         q(2826),
          q(0),
          ],
       q(hoz) => [
-         q(2828),
+         q(2827),
          q(0),
          ],
       q(hpo) => [
-         q(2829),
+         q(2828),
          q(0),
          ],
       q(hps) => [
-         q(2830),
+         q(2829),
          q(0),
          ],
       q(hra) => [
-         q(2831),
+         q(2830),
          q(0),
          ],
       q(hrc) => [
-         q(2832),
+         q(2831),
          q(0),
          ],
       q(hre) => [
-         q(2833),
+         q(2832),
          q(0),
          ],
       q(hrk) => [
-         q(2834),
+         q(2833),
          q(0),
          ],
       q(hrm) => [
-         q(2835),
+         q(2834),
          q(0),
          ],
       q(hro) => [
-         q(2836),
+         q(2835),
          q(0),
          ],
       q(hrp) => [
-         q(2837),
+         q(2836),
          q(0),
          ],
       q(hrt) => [
-         q(2838),
+         q(2837),
          q(0),
          ],
       q(hru) => [
-         q(2839),
+         q(2838),
          q(0),
          ],
       q(hrv) => [
@@ -68260,15 +68310,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hrw) => [
-         q(2840),
+         q(2839),
          q(0),
          ],
       q(hrx) => [
-         q(2841),
+         q(2840),
          q(0),
          ],
       q(hrz) => [
-         q(2842),
+         q(2841),
          q(0),
          ],
       q(hsb) => [
@@ -68276,87 +68326,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hsh) => [
-         q(2843),
+         q(2842),
          q(0),
          ],
       q(hsl) => [
-         q(2844),
+         q(2843),
          q(0),
          ],
       q(hsn) => [
-         q(2845),
+         q(2844),
          q(0),
          ],
       q(hss) => [
-         q(2846),
+         q(2845),
          q(0),
          ],
       q(hti) => [
-         q(2847),
+         q(2846),
          q(0),
          ],
       q(hto) => [
-         q(2848),
+         q(2847),
          q(0),
          ],
       q(hts) => [
-         q(2849),
+         q(2848),
          q(0),
          ],
       q(htu) => [
-         q(2850),
+         q(2849),
          q(0),
          ],
       q(htx) => [
-         q(2851),
+         q(2850),
          q(0),
          ],
       q(hub) => [
-         q(2852),
+         q(2851),
          q(0),
          ],
       q(huc) => [
-         q(2853),
+         q(2852),
          q(0),
          ],
       q(hud) => [
-         q(2854),
+         q(2853),
          q(0),
          ],
       q(hue) => [
-         q(2855),
+         q(2854),
          q(0),
          ],
       q(huf) => [
-         q(2856),
+         q(2855),
          q(0),
          ],
       q(hug) => [
-         q(2857),
+         q(2856),
          q(0),
          ],
       q(huh) => [
-         q(2858),
+         q(2857),
          q(0),
          ],
       q(hui) => [
-         q(2859),
+         q(2858),
          q(0),
          ],
       q(huj) => [
-         q(2860),
+         q(2859),
          q(0),
          ],
       q(huk) => [
-         q(2861),
+         q(2860),
          q(0),
          ],
       q(hul) => [
-         q(2862),
+         q(2861),
          q(0),
          ],
       q(hum) => [
-         q(2863),
+         q(2862),
          q(0),
          ],
       q(hun) => [
@@ -68364,7 +68414,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(huo) => [
-         q(2864),
+         q(2863),
          q(0),
          ],
       q(hup) => [
@@ -68372,79 +68422,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(huq) => [
-         q(2865),
+         q(2864),
          q(0),
          ],
       q(hur) => [
-         q(2866),
+         q(2865),
          q(0),
          ],
       q(hus) => [
-         q(2867),
+         q(2866),
          q(0),
          ],
       q(hut) => [
-         q(2868),
+         q(2867),
          q(0),
          ],
       q(huu) => [
-         q(2869),
+         q(2868),
          q(0),
          ],
       q(huv) => [
-         q(2870),
+         q(2869),
          q(0),
          ],
       q(huw) => [
-         q(2871),
+         q(2870),
          q(0),
          ],
       q(hux) => [
-         q(2872),
+         q(2871),
          q(0),
          ],
       q(huy) => [
-         q(2873),
+         q(2872),
          q(0),
          ],
       q(huz) => [
-         q(2874),
+         q(2873),
          q(0),
          ],
       q(hvc) => [
-         q(2875),
+         q(2874),
          q(0),
          ],
       q(hve) => [
-         q(2876),
+         q(2875),
          q(0),
          ],
       q(hvk) => [
-         q(2877),
+         q(2876),
          q(0),
          ],
       q(hvn) => [
-         q(2878),
+         q(2877),
          q(0),
          ],
       q(hvv) => [
-         q(2879),
+         q(2878),
          q(0),
          ],
       q(hwa) => [
-         q(2880),
+         q(2879),
          q(0),
          ],
       q(hwc) => [
-         q(2881),
+         q(2880),
          q(0),
          ],
       q(hwo) => [
-         q(2882),
+         q(2881),
          q(0),
          ],
       q(hya) => [
-         q(2883),
+         q(2882),
          q(0),
          ],
       q(hyx) => [
@@ -68452,19 +68502,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(iai) => [
-         q(2884),
+         q(2883),
          q(0),
          ],
       q(ian) => [
-         q(2885),
+         q(2884),
          q(0),
          ],
       q(iap) => [
-         q(2886),
+         q(2885),
          q(0),
          ],
       q(iar) => [
-         q(2887),
+         q(2886),
          q(0),
          ],
       q(iba) => [
@@ -68472,31 +68522,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ibb) => [
-         q(2888),
+         q(2887),
          q(0),
          ],
       q(ibd) => [
-         q(2889),
+         q(2888),
          q(0),
          ],
       q(ibe) => [
-         q(2890),
+         q(2889),
          q(0),
          ],
       q(ibg) => [
-         q(2891),
+         q(2890),
          q(0),
          ],
       q(ibl) => [
-         q(2892),
+         q(2891),
          q(0),
          ],
       q(ibm) => [
-         q(2893),
+         q(2892),
          q(0),
          ],
       q(ibn) => [
-         q(2894),
+         q(2893),
          q(0),
          ],
       q(ibo) => [
@@ -68504,19 +68554,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ibr) => [
-         q(2895),
+         q(2894),
          q(0),
          ],
       q(ibu) => [
-         q(2896),
+         q(2895),
          q(0),
          ],
       q(iby) => [
-         q(2897),
+         q(2896),
          q(0),
          ],
       q(ica) => [
-         q(2898),
+         q(2897),
          q(0),
          ],
       q(ice) => [
@@ -68524,39 +68574,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ich) => [
-         q(2899),
+         q(2898),
          q(0),
          ],
       q(icl) => [
-         q(2900),
+         q(2899),
          q(0),
          ],
       q(icr) => [
-         q(2901),
+         q(2900),
          q(0),
          ],
       q(ida) => [
-         q(2902),
+         q(2901),
          q(0),
          ],
       q(idb) => [
-         q(2903),
+         q(2902),
          q(0),
          ],
       q(idc) => [
-         q(2904),
+         q(2903),
          q(0),
          ],
       q(idd) => [
-         q(2905),
+         q(2904),
          q(0),
          ],
       q(ide) => [
-         q(2906),
+         q(2905),
          q(0),
          ],
       q(idi) => [
-         q(2907),
+         q(2906),
          q(0),
          ],
       q(ido) => [
@@ -68564,103 +68614,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(idr) => [
-         q(2908),
+         q(2907),
          q(0),
          ],
       q(ids) => [
-         q(2909),
+         q(2908),
          q(0),
          ],
       q(idt) => [
-         q(2910),
+         q(2909),
          q(0),
          ],
       q(idu) => [
-         q(2911),
+         q(2910),
          q(0),
          ],
       q(ifa) => [
-         q(2912),
+         q(2911),
          q(0),
          ],
       q(ifb) => [
-         q(2913),
+         q(2912),
          q(0),
          ],
       q(ife) => [
-         q(2914),
+         q(2913),
          q(0),
          ],
       q(iff) => [
-         q(2915),
+         q(2914),
          q(0),
          ],
       q(ifk) => [
-         q(2916),
+         q(2915),
          q(0),
          ],
       q(ifm) => [
-         q(2917),
+         q(2916),
          q(0),
          ],
       q(ifu) => [
-         q(2918),
+         q(2917),
          q(0),
          ],
       q(ify) => [
-         q(2919),
+         q(2918),
          q(0),
          ],
       q(igb) => [
-         q(2920),
+         q(2919),
          q(0),
          ],
       q(ige) => [
-         q(2921),
+         q(2920),
          q(0),
          ],
       q(igg) => [
-         q(2922),
+         q(2921),
          q(0),
          ],
       q(igl) => [
-         q(2923),
+         q(2922),
          q(0),
          ],
       q(igm) => [
-         q(2924),
+         q(2923),
          q(0),
          ],
       q(ign) => [
-         q(2925),
+         q(2924),
          q(0),
          ],
       q(igo) => [
-         q(2926),
+         q(2925),
          q(0),
          ],
       q(igs) => [
-         q(2927),
+         q(2926),
          q(0),
          ],
       q(igw) => [
-         q(2928),
+         q(2927),
          q(0),
          ],
       q(ihb) => [
-         q(2929),
+         q(2928),
          q(0),
          ],
       q(ihi) => [
-         q(2930),
+         q(2929),
          q(0),
          ],
       q(ihp) => [
-         q(2931),
+         q(2930),
          q(0),
          ],
       q(ihw) => [
-         q(2932),
+         q(2931),
          q(0),
          ],
       q(iii) => [
@@ -68668,7 +68718,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(iin) => [
-         q(2933),
+         q(2932),
          q(0),
          ],
       q(iir) => [
@@ -68676,19 +68726,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ijc) => [
-         q(2934),
+         q(2933),
          q(0),
          ],
       q(ije) => [
-         q(2935),
+         q(2934),
          q(0),
          ],
       q(ijj) => [
-         q(2936),
+         q(2935),
          q(0),
          ],
       q(ijn) => [
-         q(2937),
+         q(2936),
          q(0),
          ],
       q(ijo) => [
@@ -68696,43 +68746,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ijs) => [
-         q(2938),
+         q(2937),
          q(0),
          ],
       q(ike) => [
-         q(2939),
+         q(2938),
          q(0),
          ],
       q(iki) => [
-         q(2940),
+         q(2939),
          q(0),
          ],
       q(ikk) => [
-         q(2941),
+         q(2940),
          q(0),
          ],
       q(ikl) => [
-         q(2942),
+         q(2941),
          q(0),
          ],
       q(iko) => [
-         q(2943),
+         q(2942),
          q(0),
          ],
       q(ikp) => [
-         q(2944),
+         q(2943),
          q(0),
          ],
       q(ikr) => [
-         q(2945),
+         q(2944),
          q(0),
          ],
       q(iks) => [
-         q(2946),
+         q(2945),
          q(0),
          ],
       q(ikt) => [
-         q(2947),
+         q(2946),
          q(0),
          ],
       q(iku) => [
@@ -68740,27 +68790,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ikv) => [
-         q(2948),
+         q(2947),
          q(0),
          ],
       q(ikw) => [
-         q(2949),
+         q(2948),
          q(0),
          ],
       q(ikx) => [
-         q(2950),
+         q(2949),
          q(0),
          ],
       q(ikz) => [
-         q(2951),
+         q(2950),
          q(0),
          ],
       q(ila) => [
-         q(2952),
+         q(2951),
          q(0),
          ],
       q(ilb) => [
-         q(2953),
+         q(2952),
          q(0),
          ],
       q(ile) => [
@@ -68768,19 +68818,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ilg) => [
-         q(2954),
+         q(2953),
          q(0),
          ],
       q(ili) => [
-         q(2955),
+         q(2954),
          q(0),
          ],
       q(ilk) => [
-         q(2956),
+         q(2955),
          q(0),
          ],
       q(ill) => [
-         q(2957),
+         q(2956),
          q(0),
          ],
       q(ilo) => [
@@ -68788,47 +68838,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ils) => [
-         q(2958),
+         q(2957),
          q(0),
          ],
       q(ilu) => [
-         q(2959),
+         q(2958),
          q(0),
          ],
       q(ilv) => [
-         q(2960),
+         q(2959),
          q(0),
          ],
       q(ima) => [
-         q(2961),
+         q(2960),
          q(0),
          ],
       q(imi) => [
-         q(2962),
+         q(2961),
          q(0),
          ],
       q(iml) => [
-         q(2963),
+         q(2962),
          q(0),
          ],
       q(imn) => [
-         q(2964),
+         q(2963),
          q(0),
          ],
       q(imo) => [
-         q(2965),
+         q(2964),
          q(0),
          ],
       q(imr) => [
-         q(2966),
+         q(2965),
          q(0),
          ],
       q(ims) => [
-         q(2967),
+         q(2966),
          q(0),
          ],
       q(imy) => [
-         q(2968),
+         q(2967),
          q(0),
          ],
       q(ina) => [
@@ -68836,7 +68886,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(inb) => [
-         q(2969),
+         q(2968),
          q(0),
          ],
       q(inc) => [
@@ -68852,7 +68902,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ing) => [
-         q(2970),
+         q(2969),
          q(0),
          ],
       q(inh) => [
@@ -68860,55 +68910,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(inj) => [
-         q(2971),
+         q(2970),
          q(0),
          ],
       q(inl) => [
-         q(2972),
+         q(2971),
          q(0),
          ],
       q(inm) => [
-         q(2973),
+         q(2972),
          q(0),
          ],
       q(inn) => [
-         q(2974),
+         q(2973),
          q(0),
          ],
       q(ino) => [
-         q(2975),
+         q(2974),
          q(0),
          ],
       q(inp) => [
-         q(2976),
+         q(2975),
          q(0),
          ],
       q(ins) => [
-         q(2977),
+         q(2976),
          q(0),
          ],
       q(int) => [
-         q(2978),
+         q(2977),
          q(0),
          ],
       q(inz) => [
-         q(2979),
+         q(2978),
          q(0),
          ],
       q(ior) => [
-         q(2980),
+         q(2979),
          q(0),
          ],
       q(iou) => [
-         q(2981),
+         q(2980),
          q(0),
          ],
       q(iow) => [
-         q(2982),
+         q(2981),
          q(0),
          ],
       q(ipi) => [
-         q(2983),
+         q(2982),
          q(0),
          ],
       q(ipk) => [
@@ -68916,15 +68966,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ipo) => [
-         q(2984),
+         q(2983),
          q(0),
          ],
       q(iqu) => [
-         q(2985),
+         q(2984),
          q(0),
          ],
       q(iqw) => [
-         q(2986),
+         q(2985),
          q(0),
          ],
       q(ira) => [
@@ -68932,23 +68982,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ire) => [
-         q(2987),
+         q(2986),
          q(0),
          ],
       q(irh) => [
-         q(2988),
+         q(2987),
          q(0),
          ],
       q(iri) => [
-         q(2989),
+         q(2988),
          q(0),
          ],
       q(irk) => [
-         q(2990),
+         q(2989),
          q(0),
          ],
       q(irn) => [
-         q(2991),
+         q(2990),
          q(0),
          ],
       q(iro) => [
@@ -68956,75 +69006,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(irr) => [
-         q(2992),
+         q(2991),
          q(0),
          ],
       q(iru) => [
-         q(2993),
+         q(2992),
          q(0),
          ],
       q(irx) => [
-         q(2994),
+         q(2993),
          q(0),
          ],
       q(iry) => [
-         q(2995),
+         q(2994),
          q(0),
          ],
       q(isa) => [
-         q(2996),
+         q(2995),
          q(0),
          ],
       q(isc) => [
-         q(2997),
+         q(2996),
          q(0),
          ],
       q(isd) => [
-         q(2998),
+         q(2997),
          q(0),
          ],
       q(ise) => [
-         q(2999),
+         q(2998),
          q(0),
          ],
       q(isg) => [
-         q(3000),
+         q(2999),
          q(0),
          ],
       q(ish) => [
-         q(3001),
+         q(3000),
          q(0),
          ],
       q(isi) => [
-         q(3002),
+         q(3001),
          q(0),
          ],
       q(isk) => [
-         q(3003),
+         q(3002),
          q(0),
          ],
       q(ism) => [
-         q(3004),
+         q(3003),
          q(0),
          ],
       q(isn) => [
-         q(3005),
+         q(3004),
          q(0),
          ],
       q(iso) => [
-         q(3006),
+         q(3005),
          q(0),
          ],
       q(isr) => [
-         q(3007),
+         q(3006),
          q(0),
          ],
       q(ist) => [
-         q(3008),
+         q(3007),
          q(0),
          ],
       q(isu) => [
-         q(3009),
+         q(3008),
          q(0),
          ],
       q(ita) => [
@@ -69032,7 +69082,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(itb) => [
-         q(3010),
+         q(3009),
          q(0),
          ],
       q(itc) => [
@@ -69040,187 +69090,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ite) => [
-         q(3011),
+         q(3010),
          q(0),
          ],
       q(iti) => [
-         q(3012),
+         q(3011),
          q(0),
          ],
       q(itk) => [
-         q(3013),
+         q(3012),
          q(0),
          ],
       q(itl) => [
-         q(3014),
+         q(3013),
          q(0),
          ],
       q(itm) => [
-         q(3015),
+         q(3014),
          q(0),
          ],
       q(ito) => [
-         q(3016),
+         q(3015),
          q(0),
          ],
       q(itr) => [
-         q(3017),
+         q(3016),
          q(0),
          ],
       q(its) => [
-         q(3018),
+         q(3017),
          q(0),
          ],
       q(itt) => [
-         q(3019),
+         q(3018),
          q(0),
          ],
       q(itv) => [
-         q(3020),
+         q(3019),
          q(0),
          ],
       q(itw) => [
-         q(3021),
+         q(3020),
          q(0),
          ],
       q(itx) => [
-         q(3022),
+         q(3021),
          q(0),
          ],
       q(ity) => [
-         q(3023),
+         q(3022),
          q(0),
          ],
       q(itz) => [
-         q(3024),
+         q(3023),
          q(0),
          ],
       q(ium) => [
-         q(3025),
+         q(3024),
          q(0),
          ],
       q(ivb) => [
-         q(3026),
+         q(3025),
          q(0),
          ],
       q(ivv) => [
-         q(3027),
+         q(3026),
          q(0),
          ],
       q(iwk) => [
-         q(3028),
+         q(3027),
          q(0),
          ],
       q(iwm) => [
-         q(3029),
+         q(3028),
          q(0),
          ],
       q(iwo) => [
-         q(3030),
+         q(3029),
          q(0),
          ],
       q(iws) => [
-         q(3031),
+         q(3030),
          q(0),
          ],
       q(ixc) => [
-         q(3032),
+         q(3031),
          q(0),
          ],
       q(ixl) => [
-         q(3033),
+         q(3032),
          q(0),
          ],
       q(iya) => [
-         q(3034),
+         q(3033),
          q(0),
          ],
       q(iyo) => [
-         q(3035),
+         q(3034),
          q(0),
          ],
       q(iyx) => [
-         q(3036),
+         q(3035),
          q(0),
          ],
       q(izh) => [
-         q(3037),
+         q(3036),
          q(0),
          ],
       q(izr) => [
-         q(3038),
+         q(3037),
          q(0),
          ],
       q(izz) => [
-         q(3039),
+         q(3038),
          q(0),
          ],
       q(jaa) => [
-         q(3040),
+         q(3039),
          q(0),
          ],
       q(jab) => [
-         q(3041),
+         q(3040),
          q(0),
          ],
       q(jac) => [
-         q(3042),
+         q(3041),
          q(0),
          ],
       q(jad) => [
-         q(3043),
+         q(3042),
          q(0),
          ],
       q(jae) => [
-         q(3044),
+         q(3043),
          q(0),
          ],
       q(jaf) => [
-         q(3045),
+         q(3044),
          q(0),
          ],
       q(jah) => [
-         q(3046),
+         q(3045),
          q(0),
          ],
       q(jaj) => [
-         q(3047),
+         q(3046),
          q(0),
          ],
       q(jak) => [
-         q(3048),
+         q(3047),
          q(0),
          ],
       q(jal) => [
-         q(3049),
+         q(3048),
          q(0),
          ],
       q(jam) => [
-         q(3050),
+         q(3049),
          q(0),
          ],
       q(jan) => [
-         q(3051),
+         q(3050),
          q(0),
          ],
       q(jao) => [
-         q(3052),
+         q(3051),
          q(0),
          ],
       q(jaq) => [
-         q(3053),
+         q(3052),
          q(0),
          ],
       q(jas) => [
-         q(3054),
+         q(3053),
          q(0),
          ],
       q(jat) => [
-         q(3055),
+         q(3054),
          q(0),
          ],
       q(jau) => [
-         q(3056),
+         q(3055),
          q(0),
          ],
       q(jav) => [
@@ -69228,35 +69278,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(jax) => [
-         q(3057),
+         q(3056),
          q(0),
          ],
       q(jay) => [
-         q(3058),
+         q(3057),
          q(0),
          ],
       q(jaz) => [
-         q(3059),
+         q(3058),
          q(0),
          ],
       q(jbe) => [
-         q(3060),
+         q(3059),
          q(0),
          ],
       q(jbi) => [
-         q(3061),
+         q(3060),
          q(0),
          ],
       q(jbj) => [
-         q(3062),
+         q(3061),
          q(0),
          ],
       q(jbk) => [
-         q(3063),
+         q(3062),
          q(0),
          ],
       q(jbn) => [
-         q(3064),
+         q(3063),
          q(0),
          ],
       q(jbo) => [
@@ -69264,303 +69314,303 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(jbr) => [
-         q(3065),
+         q(3064),
          q(0),
          ],
       q(jbt) => [
-         q(3066),
+         q(3065),
          q(0),
          ],
       q(jbu) => [
-         q(3067),
+         q(3066),
          q(0),
          ],
       q(jbw) => [
-         q(3068),
+         q(3067),
          q(0),
          ],
       q(jcs) => [
-         q(3069),
+         q(3068),
          q(0),
          ],
       q(jct) => [
-         q(3070),
+         q(3069),
          q(0),
          ],
       q(jda) => [
-         q(3071),
+         q(3070),
          q(0),
          ],
       q(jdg) => [
-         q(3072),
+         q(3071),
          q(0),
          ],
       q(jdt) => [
-         q(3073),
+         q(3072),
          q(0),
          ],
       q(jeb) => [
-         q(3074),
+         q(3073),
          q(0),
          ],
       q(jee) => [
-         q(3075),
+         q(3074),
          q(0),
          ],
       q(jeg) => [
-         q(3076),
+         q(3075),
          q(0),
          ],
       q(jeh) => [
-         q(3077),
+         q(3076),
          q(0),
          ],
       q(jei) => [
-         q(3078),
+         q(3077),
          q(0),
          ],
       q(jek) => [
-         q(3079),
+         q(3078),
          q(0),
          ],
       q(jel) => [
-         q(3080),
+         q(3079),
          q(0),
          ],
       q(jen) => [
-         q(3081),
+         q(3080),
          q(0),
          ],
       q(jer) => [
-         q(3082),
+         q(3081),
          q(0),
          ],
       q(jet) => [
-         q(3083),
+         q(3082),
          q(0),
          ],
       q(jeu) => [
-         q(3084),
+         q(3083),
          q(0),
          ],
       q(jgb) => [
-         q(3085),
+         q(3084),
          q(0),
          ],
       q(jge) => [
-         q(3086),
+         q(3085),
          q(0),
          ],
       q(jgk) => [
-         q(3087),
+         q(3086),
          q(0),
          ],
       q(jgo) => [
-         q(3088),
+         q(3087),
          q(0),
          ],
       q(jhi) => [
-         q(3089),
+         q(3088),
          q(0),
          ],
       q(jhs) => [
-         q(3090),
+         q(3089),
          q(0),
          ],
       q(jia) => [
-         q(3091),
+         q(3090),
          q(0),
          ],
       q(jib) => [
-         q(3092),
+         q(3091),
          q(0),
          ],
       q(jic) => [
-         q(3093),
+         q(3092),
          q(0),
          ],
       q(jid) => [
-         q(3094),
+         q(3093),
          q(0),
          ],
       q(jie) => [
-         q(3095),
+         q(3094),
          q(0),
          ],
       q(jig) => [
-         q(3096),
+         q(3095),
          q(0),
          ],
       q(jih) => [
-         q(3097),
+         q(3096),
          q(0),
          ],
       q(jii) => [
-         q(3098),
+         q(3097),
          q(0),
          ],
       q(jil) => [
-         q(3099),
+         q(3098),
          q(0),
          ],
       q(jim) => [
-         q(3100),
+         q(3099),
          q(0),
          ],
       q(jio) => [
-         q(3101),
+         q(3100),
          q(0),
          ],
       q(jiq) => [
-         q(3102),
+         q(3101),
          q(0),
          ],
       q(jit) => [
-         q(3103),
+         q(3102),
          q(0),
          ],
       q(jiu) => [
-         q(3104),
+         q(3103),
          q(0),
          ],
       q(jiv) => [
-         q(3105),
+         q(3104),
          q(0),
          ],
       q(jiy) => [
-         q(3106),
+         q(3105),
          q(0),
          ],
       q(jje) => [
-         q(3107),
+         q(3106),
          q(0),
          ],
       q(jjr) => [
-         q(3108),
+         q(3107),
          q(0),
          ],
       q(jkm) => [
-         q(3109),
+         q(3108),
          q(0),
          ],
       q(jko) => [
-         q(3110),
+         q(3109),
          q(0),
          ],
       q(jkp) => [
-         q(3111),
+         q(3110),
          q(0),
          ],
       q(jkr) => [
-         q(3112),
+         q(3111),
          q(0),
          ],
       q(jku) => [
-         q(3113),
+         q(3112),
          q(0),
          ],
       q(jle) => [
-         q(3114),
+         q(3113),
          q(0),
          ],
       q(jls) => [
-         q(3115),
+         q(3114),
          q(0),
          ],
       q(jma) => [
-         q(3116),
+         q(3115),
          q(0),
          ],
       q(jmb) => [
-         q(3117),
+         q(3116),
          q(0),
          ],
       q(jmc) => [
-         q(3118),
+         q(3117),
          q(0),
          ],
       q(jmd) => [
-         q(3119),
+         q(3118),
          q(0),
          ],
       q(jmi) => [
-         q(3120),
+         q(3119),
          q(0),
          ],
       q(jml) => [
-         q(3121),
+         q(3120),
          q(0),
          ],
       q(jmn) => [
-         q(3122),
+         q(3121),
          q(0),
          ],
       q(jmr) => [
-         q(3123),
+         q(3122),
          q(0),
          ],
       q(jms) => [
-         q(3124),
+         q(3123),
          q(0),
          ],
       q(jmw) => [
-         q(3125),
+         q(3124),
          q(0),
          ],
       q(jmx) => [
-         q(3126),
+         q(3125),
          q(0),
          ],
       q(jna) => [
-         q(3127),
+         q(3126),
          q(0),
          ],
       q(jnd) => [
-         q(3128),
+         q(3127),
          q(0),
          ],
       q(jng) => [
-         q(3129),
+         q(3128),
          q(0),
          ],
       q(jni) => [
-         q(3130),
+         q(3129),
          q(0),
          ],
       q(jnj) => [
-         q(3131),
+         q(3130),
          q(0),
          ],
       q(jnl) => [
-         q(3132),
+         q(3131),
          q(0),
          ],
       q(jns) => [
-         q(3133),
+         q(3132),
          q(0),
          ],
       q(job) => [
-         q(3134),
+         q(3133),
          q(0),
          ],
       q(jod) => [
-         q(3135),
+         q(3134),
          q(0),
          ],
       q(jor) => [
-         q(3136),
+         q(3135),
          q(0),
          ],
       q(jos) => [
-         q(3137),
+         q(3136),
          q(0),
          ],
       q(jow) => [
-         q(3138),
+         q(3137),
          q(0),
          ],
       q(jpa) => [
-         q(3139),
+         q(3138),
          q(0),
          ],
       q(jpn) => [
@@ -69576,11 +69626,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(jqr) => [
-         q(3140),
+         q(3139),
          q(0),
          ],
       q(jra) => [
-         q(3141),
+         q(3140),
          q(0),
          ],
       q(jrb) => [
@@ -69588,115 +69638,115 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(jrr) => [
-         q(3142),
+         q(3141),
          q(0),
          ],
       q(jrt) => [
-         q(3143),
+         q(3142),
          q(0),
          ],
       q(jru) => [
-         q(3144),
+         q(3143),
          q(0),
          ],
       q(jsl) => [
-         q(3145),
+         q(3144),
          q(0),
          ],
       q(jua) => [
-         q(3146),
+         q(3145),
          q(0),
          ],
       q(jub) => [
-         q(3147),
+         q(3146),
          q(0),
          ],
       q(juc) => [
-         q(3148),
+         q(3147),
          q(0),
          ],
       q(jud) => [
-         q(3149),
+         q(3148),
          q(0),
          ],
       q(juh) => [
-         q(3150),
+         q(3149),
          q(0),
          ],
       q(jui) => [
-         q(3151),
+         q(3150),
          q(0),
          ],
       q(juk) => [
-         q(3152),
+         q(3151),
          q(0),
          ],
       q(jul) => [
-         q(3153),
+         q(3152),
          q(0),
          ],
       q(jum) => [
-         q(3154),
+         q(3153),
          q(0),
          ],
       q(jun) => [
-         q(3155),
+         q(3154),
          q(0),
          ],
       q(juo) => [
-         q(3156),
+         q(3155),
          q(0),
          ],
       q(jup) => [
-         q(3157),
+         q(3156),
          q(0),
          ],
       q(jur) => [
-         q(3158),
+         q(3157),
          q(0),
          ],
       q(jus) => [
-         q(3159),
+         q(3158),
          q(0),
          ],
       q(jut) => [
-         q(3160),
+         q(3159),
          q(0),
          ],
       q(juu) => [
-         q(3161),
+         q(3160),
          q(0),
          ],
       q(juw) => [
-         q(3162),
+         q(3161),
          q(0),
          ],
       q(juy) => [
-         q(3163),
+         q(3162),
          q(0),
          ],
       q(jvd) => [
-         q(3164),
+         q(3163),
          q(0),
          ],
       q(jvn) => [
-         q(3165),
+         q(3164),
          q(0),
          ],
       q(jwi) => [
-         q(3166),
+         q(3165),
          q(0),
          ],
       q(jya) => [
-         q(3167),
+         q(3166),
          q(0),
          ],
       q(jye) => [
-         q(3168),
+         q(3167),
          q(0),
          ],
       q(jyy) => [
-         q(3169),
+         q(3168),
          q(0),
          ],
       q(kaa) => [
@@ -69712,35 +69762,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kad) => [
-         q(3170),
+         q(3169),
          q(0),
          ],
       q(kae) => [
-         q(3171),
+         q(3170),
          q(0),
          ],
       q(kaf) => [
-         q(3172),
+         q(3171),
          q(0),
          ],
       q(kag) => [
-         q(3173),
+         q(3172),
          q(0),
          ],
       q(kah) => [
-         q(3174),
+         q(3173),
          q(0),
          ],
       q(kai) => [
-         q(3175),
+         q(3174),
          q(0),
          ],
       q(kaj) => [
-         q(3176),
+         q(3175),
          q(0),
          ],
       q(kak) => [
-         q(3177),
+         q(3176),
          q(0),
          ],
       q(kal) => [
@@ -69756,15 +69806,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kao) => [
-         q(3178),
+         q(3177),
          q(0),
          ],
       q(kap) => [
-         q(3179),
+         q(3178),
          q(0),
          ],
       q(kaq) => [
-         q(3180),
+         q(3179),
          q(0),
          ],
       q(kar) => [
@@ -69780,7 +69830,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kav) => [
-         q(3181),
+         q(3180),
          q(0),
          ],
       q(kaw) => [
@@ -69788,11 +69838,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kax) => [
-         q(3182),
+         q(3181),
          q(0),
          ],
       q(kay) => [
-         q(3183),
+         q(3182),
          q(0),
          ],
       q(kaz) => [
@@ -69800,15 +69850,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kba) => [
-         q(3184),
+         q(3183),
          q(0),
          ],
       q(kbb) => [
-         q(3185),
+         q(3184),
          q(0),
          ],
       q(kbc) => [
-         q(3186),
+         q(3185),
          q(0),
          ],
       q(kbd) => [
@@ -69816,243 +69866,243 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kbe) => [
-         q(3187),
+         q(3186),
          q(0),
          ],
       q(kbg) => [
-         q(3188),
+         q(3187),
          q(0),
          ],
       q(kbh) => [
-         q(3189),
+         q(3188),
          q(0),
          ],
       q(kbi) => [
-         q(3190),
+         q(3189),
          q(0),
          ],
       q(kbj) => [
-         q(3191),
+         q(3190),
          q(0),
          ],
       q(kbk) => [
-         q(3192),
+         q(3191),
          q(0),
          ],
       q(kbl) => [
-         q(3193),
+         q(3192),
          q(0),
          ],
       q(kbm) => [
-         q(3194),
+         q(3193),
          q(0),
          ],
       q(kbn) => [
-         q(3195),
+         q(3194),
          q(0),
          ],
       q(kbo) => [
-         q(3196),
+         q(3195),
          q(0),
          ],
       q(kbp) => [
-         q(3197),
+         q(3196),
          q(0),
          ],
       q(kbq) => [
-         q(3198),
+         q(3197),
          q(0),
          ],
       q(kbr) => [
-         q(3199),
+         q(3198),
          q(0),
          ],
       q(kbs) => [
-         q(3200),
+         q(3199),
          q(0),
          ],
       q(kbt) => [
-         q(3201),
+         q(3200),
          q(0),
          ],
       q(kbu) => [
-         q(3202),
+         q(3201),
          q(0),
          ],
       q(kbv) => [
-         q(3203),
+         q(3202),
          q(0),
          ],
       q(kbw) => [
-         q(3204),
+         q(3203),
          q(0),
          ],
       q(kbx) => [
-         q(3205),
+         q(3204),
          q(0),
          ],
       q(kby) => [
-         q(3206),
+         q(3205),
          q(0),
          ],
       q(kbz) => [
-         q(3207),
+         q(3206),
          q(0),
          ],
       q(kca) => [
-         q(3208),
+         q(3207),
          q(0),
          ],
       q(kcb) => [
-         q(3209),
+         q(3208),
          q(0),
          ],
       q(kcc) => [
-         q(3210),
+         q(3209),
          q(0),
          ],
       q(kcd) => [
-         q(3211),
+         q(3210),
          q(0),
          ],
       q(kce) => [
-         q(3212),
+         q(3211),
          q(0),
          ],
       q(kcf) => [
-         q(3213),
+         q(3212),
          q(0),
          ],
       q(kcg) => [
-         q(3214),
+         q(3213),
          q(0),
          ],
       q(kch) => [
-         q(3215),
+         q(3214),
          q(0),
          ],
       q(kci) => [
-         q(3216),
+         q(3215),
          q(0),
          ],
       q(kcj) => [
-         q(3217),
+         q(3216),
          q(0),
          ],
       q(kck) => [
-         q(3218),
+         q(3217),
          q(0),
          ],
       q(kcl) => [
-         q(3219),
+         q(3218),
          q(0),
          ],
       q(kcm) => [
-         q(3220),
+         q(3219),
          q(0),
          ],
       q(kcn) => [
-         q(3221),
+         q(3220),
          q(0),
          ],
       q(kco) => [
-         q(3222),
+         q(3221),
          q(0),
          ],
       q(kcp) => [
-         q(3223),
+         q(3222),
          q(0),
          ],
       q(kcq) => [
-         q(3224),
+         q(3223),
          q(0),
          ],
       q(kcr) => [
-         q(3225),
+         q(3224),
          q(0),
          ],
       q(kcs) => [
-         q(3226),
+         q(3225),
          q(0),
          ],
       q(kct) => [
-         q(3227),
+         q(3226),
          q(0),
          ],
       q(kcu) => [
-         q(3228),
+         q(3227),
          q(0),
          ],
       q(kcv) => [
-         q(3229),
+         q(3228),
          q(0),
          ],
       q(kcw) => [
-         q(3230),
+         q(3229),
          q(0),
          ],
       q(kcx) => [
-         q(3231),
+         q(3230),
          q(0),
          ],
       q(kcy) => [
-         q(3232),
+         q(3231),
          q(0),
          ],
       q(kcz) => [
-         q(3233),
+         q(3232),
          q(0),
          ],
       q(kda) => [
-         q(3234),
+         q(3233),
          q(0),
          ],
       q(kdc) => [
-         q(3235),
+         q(3234),
          q(0),
          ],
       q(kdd) => [
-         q(3236),
+         q(3235),
          q(0),
          ],
       q(kde) => [
-         q(3237),
+         q(3236),
          q(0),
          ],
       q(kdf) => [
-         q(3238),
+         q(3237),
          q(0),
          ],
       q(kdg) => [
-         q(3239),
+         q(3238),
          q(0),
          ],
       q(kdh) => [
-         q(3240),
+         q(3239),
          q(0),
          ],
       q(kdi) => [
-         q(3241),
+         q(3240),
          q(0),
          ],
       q(kdj) => [
-         q(3242),
+         q(3241),
          q(0),
          ],
       q(kdk) => [
-         q(3243),
+         q(3242),
          q(0),
          ],
       q(kdl) => [
-         q(3244),
+         q(3243),
          q(0),
          ],
       q(kdm) => [
-         q(3245),
+         q(3244),
          q(0),
          ],
       q(kdn) => [
-         q(3246),
+         q(3245),
          q(0),
          ],
       q(kdo) => [
@@ -70060,343 +70110,343 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kdp) => [
-         q(3247),
+         q(3246),
          q(0),
          ],
       q(kdq) => [
-         q(3248),
+         q(3247),
          q(0),
          ],
       q(kdr) => [
-         q(3249),
+         q(3248),
          q(0),
          ],
       q(kdt) => [
-         q(3250),
+         q(3249),
          q(0),
          ],
       q(kdu) => [
-         q(3251),
+         q(3250),
          q(0),
          ],
       q(kdw) => [
-         q(3252),
+         q(3251),
          q(0),
          ],
       q(kdx) => [
-         q(3253),
+         q(3252),
          q(0),
          ],
       q(kdy) => [
-         q(3254),
+         q(3253),
          q(0),
          ],
       q(kdz) => [
-         q(3255),
+         q(3254),
          q(0),
          ],
       q(kea) => [
-         q(3256),
+         q(3255),
          q(0),
          ],
       q(keb) => [
-         q(3257),
+         q(3256),
          q(0),
          ],
       q(kec) => [
-         q(3258),
+         q(3257),
          q(0),
          ],
       q(ked) => [
-         q(3259),
+         q(3258),
          q(0),
          ],
       q(kee) => [
-         q(3260),
+         q(3259),
          q(0),
          ],
       q(kef) => [
-         q(3261),
+         q(3260),
          q(0),
          ],
       q(keg) => [
-         q(3262),
+         q(3261),
          q(0),
          ],
       q(keh) => [
-         q(3263),
+         q(3262),
          q(0),
          ],
       q(kei) => [
-         q(3264),
+         q(3263),
          q(0),
          ],
       q(kej) => [
-         q(3265),
+         q(3264),
          q(0),
          ],
       q(kek) => [
-         q(3266),
+         q(3265),
          q(0),
          ],
       q(kel) => [
-         q(3267),
+         q(3266),
          q(0),
          ],
       q(kem) => [
-         q(3268),
+         q(3267),
          q(0),
          ],
       q(ken) => [
-         q(3269),
+         q(3268),
          q(0),
          ],
       q(keo) => [
-         q(3270),
+         q(3269),
          q(0),
          ],
       q(kep) => [
-         q(3271),
+         q(3270),
          q(0),
          ],
       q(keq) => [
-         q(3272),
+         q(3271),
          q(0),
          ],
       q(ker) => [
-         q(3273),
+         q(3272),
          q(0),
          ],
       q(kes) => [
-         q(3274),
+         q(3273),
          q(0),
          ],
       q(ket) => [
-         q(3275),
+         q(3274),
          q(0),
          ],
       q(keu) => [
-         q(3276),
+         q(3275),
          q(0),
          ],
       q(kev) => [
-         q(3277),
+         q(3276),
          q(0),
          ],
       q(kew) => [
-         q(3278),
+         q(3277),
          q(0),
          ],
       q(kex) => [
-         q(3279),
+         q(3278),
          q(0),
          ],
       q(key) => [
-         q(3280),
+         q(3279),
          q(0),
          ],
       q(kez) => [
-         q(3281),
+         q(3280),
          q(0),
          ],
       q(kfa) => [
-         q(3282),
+         q(3281),
          q(0),
          ],
       q(kfb) => [
-         q(3283),
+         q(3282),
          q(0),
          ],
       q(kfc) => [
-         q(3284),
+         q(3283),
          q(0),
          ],
       q(kfd) => [
-         q(3285),
+         q(3284),
          q(0),
          ],
       q(kfe) => [
-         q(3286),
+         q(3285),
          q(0),
          ],
       q(kff) => [
-         q(3287),
+         q(3286),
          q(0),
          ],
       q(kfg) => [
-         q(3288),
+         q(3287),
          q(0),
          ],
       q(kfh) => [
-         q(3289),
+         q(3288),
          q(0),
          ],
       q(kfi) => [
-         q(3290),
+         q(3289),
          q(0),
          ],
       q(kfj) => [
-         q(3291),
+         q(3290),
          q(0),
          ],
       q(kfk) => [
-         q(3292),
+         q(3291),
          q(0),
          ],
       q(kfl) => [
-         q(3293),
+         q(3292),
          q(0),
          ],
       q(kfm) => [
-         q(3294),
+         q(3293),
          q(0),
          ],
       q(kfn) => [
-         q(3295),
+         q(3294),
          q(0),
          ],
       q(kfo) => [
-         q(3296),
+         q(3295),
          q(0),
          ],
       q(kfp) => [
-         q(3297),
+         q(3296),
          q(0),
          ],
       q(kfq) => [
-         q(3298),
+         q(3297),
          q(0),
          ],
       q(kfr) => [
-         q(3299),
+         q(3298),
          q(0),
          ],
       q(kfs) => [
-         q(3300),
+         q(3299),
          q(0),
          ],
       q(kft) => [
-         q(3301),
+         q(3300),
          q(0),
          ],
       q(kfu) => [
-         q(3302),
+         q(3301),
          q(0),
          ],
       q(kfv) => [
-         q(3303),
+         q(3302),
          q(0),
          ],
       q(kfw) => [
-         q(3304),
+         q(3303),
          q(0),
          ],
       q(kfx) => [
-         q(3305),
+         q(3304),
          q(0),
          ],
       q(kfy) => [
-         q(3306),
+         q(3305),
          q(0),
          ],
       q(kfz) => [
-         q(3307),
+         q(3306),
          q(0),
          ],
       q(kga) => [
-         q(3308),
+         q(3307),
          q(0),
          ],
       q(kgb) => [
-         q(3309),
+         q(3308),
          q(0),
          ],
       q(kgc) => [
-         q(3310),
+         q(3309),
          q(0),
          ],
       q(kgd) => [
-         q(3311),
+         q(3310),
          q(0),
          ],
       q(kge) => [
-         q(3312),
+         q(3311),
          q(0),
          ],
       q(kgf) => [
-         q(3313),
+         q(3312),
          q(0),
          ],
       q(kgg) => [
-         q(3314),
+         q(3313),
          q(0),
          ],
       q(kgi) => [
-         q(3315),
+         q(3314),
          q(0),
          ],
       q(kgj) => [
-         q(3316),
+         q(3315),
          q(0),
          ],
       q(kgk) => [
-         q(3317),
+         q(3316),
          q(0),
          ],
       q(kgl) => [
-         q(3318),
+         q(3317),
          q(0),
          ],
       q(kgm) => [
-         q(3319),
+         q(3318),
          q(0),
          ],
       q(kgn) => [
-         q(3320),
+         q(3319),
          q(0),
          ],
       q(kgo) => [
-         q(3321),
+         q(3320),
          q(0),
          ],
       q(kgp) => [
-         q(3322),
+         q(3321),
          q(0),
          ],
       q(kgq) => [
-         q(3323),
+         q(3322),
          q(0),
          ],
       q(kgr) => [
-         q(3324),
+         q(3323),
          q(0),
          ],
       q(kgs) => [
-         q(3325),
+         q(3324),
          q(0),
          ],
       q(kgt) => [
-         q(3326),
+         q(3325),
          q(0),
          ],
       q(kgu) => [
-         q(3327),
+         q(3326),
          q(0),
          ],
       q(kgv) => [
-         q(3328),
+         q(3327),
          q(0),
          ],
       q(kgw) => [
-         q(3329),
+         q(3328),
          q(0),
          ],
       q(kgx) => [
-         q(3330),
+         q(3329),
          q(0),
          ],
       q(kgy) => [
-         q(3331),
+         q(3330),
          q(0),
          ],
       q(kha) => [
@@ -70404,31 +70454,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(khb) => [
-         q(3332),
+         q(3331),
          q(0),
          ],
       q(khc) => [
-         q(3333),
+         q(3332),
          q(0),
          ],
       q(khd) => [
-         q(3334),
+         q(3333),
          q(0),
          ],
       q(khe) => [
-         q(3335),
+         q(3334),
          q(0),
          ],
       q(khf) => [
-         q(3336),
+         q(3335),
          q(0),
          ],
       q(khg) => [
-         q(3337),
+         q(3336),
          q(0),
          ],
       q(khh) => [
-         q(3338),
+         q(3337),
          q(0),
          ],
       q(khi) => [
@@ -70436,15 +70486,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(khj) => [
-         q(3339),
+         q(3338),
          q(0),
          ],
       q(khk) => [
-         q(3340),
+         q(3339),
          q(0),
          ],
       q(khl) => [
-         q(3341),
+         q(3340),
          q(0),
          ],
       q(khm) => [
@@ -70452,7 +70502,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(khn) => [
-         q(3342),
+         q(3341),
          q(0),
          ],
       q(kho) => [
@@ -70460,87 +70510,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(khp) => [
-         q(3343),
+         q(3342),
          q(0),
          ],
       q(khq) => [
-         q(3344),
+         q(3343),
          q(0),
          ],
       q(khr) => [
-         q(3345),
+         q(3344),
          q(0),
          ],
       q(khs) => [
-         q(3346),
+         q(3345),
          q(0),
          ],
       q(kht) => [
-         q(3347),
+         q(3346),
          q(0),
          ],
       q(khu) => [
-         q(3348),
+         q(3347),
          q(0),
          ],
       q(khv) => [
-         q(3349),
+         q(3348),
          q(0),
          ],
       q(khw) => [
-         q(3350),
+         q(3349),
          q(0),
          ],
       q(khx) => [
-         q(3351),
+         q(3350),
          q(0),
          ],
       q(khy) => [
-         q(3352),
+         q(3351),
          q(0),
          ],
       q(khz) => [
-         q(3353),
+         q(3352),
          q(0),
          ],
       q(kia) => [
-         q(3354),
+         q(3353),
          q(0),
          ],
       q(kib) => [
-         q(3355),
+         q(3354),
          q(0),
          ],
       q(kic) => [
-         q(3356),
+         q(3355),
          q(0),
          ],
       q(kid) => [
-         q(3357),
+         q(3356),
          q(0),
          ],
       q(kie) => [
-         q(3358),
+         q(3357),
          q(0),
          ],
       q(kif) => [
-         q(3359),
+         q(3358),
          q(0),
          ],
       q(kig) => [
-         q(3360),
+         q(3359),
          q(0),
          ],
       q(kih) => [
-         q(3361),
+         q(3360),
          q(0),
          ],
       q(kii) => [
-         q(3362),
+         q(3361),
          q(0),
          ],
       q(kij) => [
-         q(3363),
+         q(3362),
          q(0),
          ],
       q(kik) => [
@@ -70548,11 +70598,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kil) => [
-         q(3364),
+         q(3363),
          q(0),
          ],
       q(kim) => [
-         q(3365),
+         q(3364),
          q(0),
          ],
       q(kin) => [
@@ -70560,15 +70610,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kio) => [
-         q(3366),
+         q(3365),
          q(0),
          ],
       q(kip) => [
-         q(3367),
+         q(3366),
          q(0),
          ],
       q(kiq) => [
-         q(3368),
+         q(3367),
          q(0),
          ],
       q(kir) => [
@@ -70576,347 +70626,347 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kis) => [
-         q(3369),
+         q(3368),
          q(0),
          ],
       q(kit) => [
-         q(3370),
+         q(3369),
          q(0),
          ],
       q(kiu) => [
-         q(3371),
+         q(3370),
          q(0),
          ],
       q(kiv) => [
-         q(3372),
+         q(3371),
          q(0),
          ],
       q(kiw) => [
-         q(3373),
+         q(3372),
          q(0),
          ],
       q(kix) => [
-         q(3374),
+         q(3373),
          q(0),
          ],
       q(kiy) => [
-         q(3375),
+         q(3374),
          q(0),
          ],
       q(kiz) => [
-         q(3376),
+         q(3375),
          q(0),
          ],
       q(kja) => [
-         q(3377),
+         q(3376),
          q(0),
          ],
       q(kjb) => [
-         q(3378),
+         q(3377),
          q(0),
          ],
       q(kjc) => [
-         q(3379),
+         q(3378),
          q(0),
          ],
       q(kjd) => [
-         q(3380),
+         q(3379),
          q(0),
          ],
       q(kje) => [
-         q(3381),
+         q(3380),
          q(0),
          ],
       q(kjf) => [
-         q(3382),
+         q(3381),
          q(0),
          ],
       q(kjg) => [
-         q(3383),
+         q(3382),
          q(0),
          ],
       q(kjh) => [
-         q(3384),
+         q(3383),
          q(0),
          ],
       q(kji) => [
-         q(3385),
+         q(3384),
          q(0),
          ],
       q(kjj) => [
-         q(3386),
+         q(3385),
          q(0),
          ],
       q(kjk) => [
-         q(3387),
+         q(3386),
          q(0),
          ],
       q(kjl) => [
-         q(3388),
+         q(3387),
          q(0),
          ],
       q(kjm) => [
-         q(3389),
+         q(3388),
          q(0),
          ],
       q(kjn) => [
-         q(3390),
+         q(3389),
          q(0),
          ],
       q(kjo) => [
-         q(3391),
+         q(3390),
          q(0),
          ],
       q(kjp) => [
-         q(3392),
+         q(3391),
          q(0),
          ],
       q(kjq) => [
-         q(3393),
+         q(3392),
          q(0),
          ],
       q(kjr) => [
-         q(3394),
+         q(3393),
          q(0),
          ],
       q(kjs) => [
-         q(3395),
+         q(3394),
          q(0),
          ],
       q(kjt) => [
-         q(3396),
+         q(3395),
          q(0),
          ],
       q(kju) => [
-         q(3397),
+         q(3396),
          q(0),
          ],
       q(kjv) => [
-         q(3398),
+         q(3397),
          q(0),
          ],
       q(kjx) => [
-         q(3399),
+         q(3398),
          q(0),
          ],
       q(kjy) => [
-         q(3400),
+         q(3399),
          q(0),
          ],
       q(kjz) => [
-         q(3401),
+         q(3400),
          q(0),
          ],
       q(kka) => [
-         q(3402),
+         q(3401),
          q(0),
          ],
       q(kkb) => [
-         q(3403),
+         q(3402),
          q(0),
          ],
       q(kkc) => [
-         q(3404),
+         q(3403),
          q(0),
          ],
       q(kkd) => [
-         q(3405),
+         q(3404),
          q(0),
          ],
       q(kke) => [
-         q(3406),
+         q(3405),
          q(0),
          ],
       q(kkf) => [
-         q(3407),
+         q(3406),
          q(0),
          ],
       q(kkg) => [
-         q(3408),
+         q(3407),
          q(0),
          ],
       q(kkh) => [
-         q(3409),
+         q(3408),
          q(0),
          ],
       q(kki) => [
-         q(3410),
+         q(3409),
          q(0),
          ],
       q(kkj) => [
-         q(3411),
+         q(3410),
          q(0),
          ],
       q(kkk) => [
-         q(3412),
+         q(3411),
          q(0),
          ],
       q(kkl) => [
-         q(3413),
+         q(3412),
          q(0),
          ],
       q(kkm) => [
-         q(3414),
+         q(3413),
          q(0),
          ],
       q(kkn) => [
-         q(3415),
+         q(3414),
          q(0),
          ],
       q(kko) => [
-         q(3416),
+         q(3415),
          q(0),
          ],
       q(kkp) => [
-         q(3417),
+         q(3416),
          q(0),
          ],
       q(kkq) => [
-         q(3418),
+         q(3417),
          q(0),
          ],
       q(kkr) => [
-         q(3419),
+         q(3418),
          q(0),
          ],
       q(kks) => [
-         q(3420),
+         q(3419),
          q(0),
          ],
       q(kkt) => [
-         q(3421),
+         q(3420),
          q(0),
          ],
       q(kku) => [
-         q(3422),
+         q(3421),
          q(0),
          ],
       q(kkv) => [
-         q(3423),
+         q(3422),
          q(0),
          ],
       q(kkw) => [
-         q(3424),
+         q(3423),
          q(0),
          ],
       q(kkx) => [
-         q(3425),
+         q(3424),
          q(0),
          ],
       q(kky) => [
-         q(3426),
+         q(3425),
          q(0),
          ],
       q(kkz) => [
-         q(3427),
+         q(3426),
          q(0),
          ],
       q(kla) => [
-         q(3428),
+         q(3427),
          q(0),
          ],
       q(klb) => [
-         q(3429),
+         q(3428),
          q(0),
          ],
       q(klc) => [
-         q(3430),
+         q(3429),
          q(0),
          ],
       q(kld) => [
-         q(3431),
+         q(3430),
          q(0),
          ],
       q(kle) => [
-         q(3432),
+         q(3431),
          q(0),
          ],
       q(klf) => [
-         q(3433),
+         q(3432),
          q(0),
          ],
       q(klg) => [
-         q(3434),
+         q(3433),
          q(0),
          ],
       q(klh) => [
-         q(3435),
+         q(3434),
          q(0),
          ],
       q(kli) => [
-         q(3436),
+         q(3435),
          q(0),
          ],
       q(klj) => [
-         q(3437),
+         q(3436),
          q(0),
          ],
       q(klk) => [
-         q(3438),
+         q(3437),
          q(0),
          ],
       q(kll) => [
-         q(3439),
+         q(3438),
          q(0),
          ],
       q(klm) => [
-         q(3440),
+         q(3439),
          q(0),
          ],
       q(kln) => [
-         q(3441),
+         q(3440),
          q(0),
          ],
       q(klo) => [
-         q(3442),
+         q(3441),
          q(0),
          ],
       q(klp) => [
-         q(3443),
+         q(3442),
          q(0),
          ],
       q(klq) => [
-         q(3444),
+         q(3443),
          q(0),
          ],
       q(klr) => [
-         q(3445),
+         q(3444),
          q(0),
          ],
       q(kls) => [
-         q(3446),
+         q(3445),
          q(0),
          ],
       q(klt) => [
-         q(3447),
+         q(3446),
          q(0),
          ],
       q(klu) => [
-         q(3448),
+         q(3447),
          q(0),
          ],
       q(klv) => [
-         q(3449),
+         q(3448),
          q(0),
          ],
       q(klw) => [
-         q(3450),
+         q(3449),
          q(0),
          ],
       q(klx) => [
-         q(3451),
+         q(3450),
          q(0),
          ],
       q(kly) => [
-         q(3452),
+         q(3451),
          q(0),
          ],
       q(klz) => [
-         q(3453),
+         q(3452),
          q(0),
          ],
       q(kma) => [
-         q(3454),
+         q(3453),
          q(0),
          ],
       q(kmb) => [
@@ -70924,231 +70974,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kmc) => [
-         q(3455),
+         q(3454),
          q(0),
          ],
       q(kmd) => [
-         q(3456),
+         q(3455),
          q(0),
          ],
       q(kme) => [
-         q(3457),
+         q(3456),
          q(0),
          ],
       q(kmf) => [
-         q(3458),
+         q(3457),
          q(0),
          ],
       q(kmg) => [
-         q(3459),
+         q(3458),
          q(0),
          ],
       q(kmh) => [
-         q(3460),
+         q(3459),
          q(0),
          ],
       q(kmi) => [
-         q(3461),
+         q(3460),
          q(0),
          ],
       q(kmj) => [
-         q(3462),
+         q(3461),
          q(0),
          ],
       q(kmk) => [
-         q(3463),
+         q(3462),
          q(0),
          ],
       q(kml) => [
-         q(3464),
+         q(3463),
          q(0),
          ],
       q(kmm) => [
-         q(3465),
+         q(3464),
          q(0),
          ],
       q(kmn) => [
-         q(3466),
+         q(3465),
          q(0),
          ],
       q(kmo) => [
-         q(3467),
+         q(3466),
          q(0),
          ],
       q(kmp) => [
-         q(3468),
+         q(3467),
          q(0),
          ],
       q(kmq) => [
-         q(3469),
+         q(3468),
          q(0),
          ],
       q(kmr) => [
-         q(3470),
+         q(3469),
          q(0),
          ],
       q(kms) => [
-         q(3471),
+         q(3470),
          q(0),
          ],
       q(kmt) => [
-         q(3472),
+         q(3471),
          q(0),
          ],
       q(kmu) => [
-         q(3473),
+         q(3472),
          q(0),
          ],
       q(kmv) => [
-         q(3474),
+         q(3473),
          q(0),
          ],
       q(kmw) => [
-         q(3475),
+         q(3474),
          q(0),
          ],
       q(kmx) => [
-         q(3476),
+         q(3475),
          q(0),
          ],
       q(kmy) => [
-         q(3477),
+         q(3476),
          q(0),
          ],
       q(kmz) => [
-         q(3478),
+         q(3477),
          q(0),
          ],
       q(kna) => [
-         q(3479),
+         q(3478),
          q(0),
          ],
       q(knb) => [
-         q(3480),
+         q(3479),
          q(0),
          ],
       q(knc) => [
-         q(3481),
+         q(3480),
          q(0),
          ],
       q(knd) => [
-         q(3482),
+         q(3481),
          q(0),
          ],
       q(kne) => [
-         q(3483),
+         q(3482),
          q(0),
          ],
       q(knf) => [
-         q(3484),
+         q(3483),
          q(0),
          ],
       q(kng) => [
-         q(3485),
+         q(3484),
          q(0),
          ],
       q(kni) => [
-         q(3486),
+         q(3485),
          q(0),
          ],
       q(knj) => [
-         q(3487),
+         q(3486),
          q(0),
          ],
       q(knk) => [
-         q(3488),
+         q(3487),
          q(0),
          ],
       q(knl) => [
-         q(3489),
+         q(3488),
          q(0),
          ],
       q(knm) => [
-         q(3490),
+         q(3489),
          q(0),
          ],
       q(knn) => [
-         q(3491),
+         q(3490),
          q(0),
          ],
       q(kno) => [
-         q(3492),
+         q(3491),
          q(0),
          ],
       q(knp) => [
-         q(3493),
+         q(3492),
          q(0),
          ],
       q(knq) => [
-         q(3494),
+         q(3493),
          q(0),
          ],
       q(knr) => [
-         q(3495),
+         q(3494),
          q(0),
          ],
       q(kns) => [
-         q(3496),
+         q(3495),
          q(0),
          ],
       q(knt) => [
-         q(3497),
+         q(3496),
          q(0),
          ],
       q(knu) => [
-         q(3498),
+         q(3497),
          q(0),
          ],
       q(knv) => [
-         q(3499),
+         q(3498),
          q(0),
          ],
       q(knw) => [
-         q(3500),
+         q(3499),
          q(0),
          ],
       q(knx) => [
-         q(3501),
+         q(3500),
          q(0),
          ],
       q(kny) => [
-         q(3502),
+         q(3501),
          q(0),
          ],
       q(knz) => [
-         q(3503),
+         q(3502),
          q(0),
          ],
       q(koa) => [
-         q(3504),
+         q(3503),
          q(0),
          ],
       q(koc) => [
-         q(3505),
+         q(3504),
          q(0),
          ],
       q(kod) => [
-         q(3506),
+         q(3505),
          q(0),
          ],
       q(koe) => [
-         q(3507),
+         q(3506),
          q(0),
          ],
       q(kof) => [
-         q(3508),
+         q(3507),
          q(0),
          ],
       q(kog) => [
-         q(3509),
+         q(3508),
          q(0),
          ],
       q(koh) => [
-         q(3510),
+         q(3509),
          q(0),
          ],
       q(koi) => [
-         q(3511),
+         q(3510),
          q(0),
          ],
       q(kok) => [
@@ -71156,7 +71206,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(kol) => [
-         q(3512),
+         q(3511),
          q(0),
          ],
       q(kom) => [
@@ -71168,15 +71218,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(koo) => [
-         q(3513),
+         q(3512),
          q(0),
          ],
       q(kop) => [
-         q(3514),
+         q(3513),
          q(0),
          ],
       q(koq) => [
-         q(3515),
+         q(3514),
          q(0),
          ],
       q(kor) => [
@@ -71188,47 +71238,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kot) => [
-         q(3516),
+         q(3515),
          q(0),
          ],
       q(kou) => [
-         q(3517),
+         q(3516),
          q(0),
          ],
       q(kov) => [
-         q(3518),
+         q(3517),
          q(0),
          ],
       q(kow) => [
-         q(3519),
+         q(3518),
          q(0),
          ],
       q(kox) => [
-         q(3520),
+         q(3519),
          q(0),
          ],
       q(koy) => [
-         q(3521),
+         q(3520),
          q(0),
          ],
       q(koz) => [
-         q(3522),
+         q(3521),
          q(0),
          ],
       q(kpa) => [
-         q(3523),
+         q(3522),
          q(0),
          ],
       q(kpb) => [
-         q(3524),
+         q(3523),
          q(0),
          ],
       q(kpc) => [
-         q(3525),
+         q(3524),
          q(0),
          ],
       q(kpd) => [
-         q(3526),
+         q(3525),
          q(0),
          ],
       q(kpe) => [
@@ -71236,195 +71286,195 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kpf) => [
-         q(3527),
+         q(3526),
          q(0),
          ],
       q(kpg) => [
-         q(3528),
+         q(3527),
          q(0),
          ],
       q(kph) => [
-         q(3529),
+         q(3528),
          q(0),
          ],
       q(kpi) => [
-         q(3530),
+         q(3529),
          q(0),
          ],
       q(kpj) => [
-         q(3531),
+         q(3530),
          q(0),
          ],
       q(kpk) => [
-         q(3532),
+         q(3531),
          q(0),
          ],
       q(kpl) => [
-         q(3533),
+         q(3532),
          q(0),
          ],
       q(kpm) => [
-         q(3534),
+         q(3533),
          q(0),
          ],
       q(kpn) => [
-         q(3535),
+         q(3534),
          q(0),
          ],
       q(kpo) => [
-         q(3536),
+         q(3535),
          q(0),
          ],
       q(kpq) => [
-         q(3537),
+         q(3536),
          q(0),
          ],
       q(kpr) => [
-         q(3538),
+         q(3537),
          q(0),
          ],
       q(kps) => [
-         q(3539),
+         q(3538),
          q(0),
          ],
       q(kpt) => [
-         q(3540),
+         q(3539),
          q(0),
          ],
       q(kpu) => [
-         q(3541),
+         q(3540),
          q(0),
          ],
       q(kpv) => [
-         q(3542),
+         q(3541),
          q(0),
          ],
       q(kpw) => [
-         q(3543),
+         q(3542),
          q(0),
          ],
       q(kpx) => [
-         q(3544),
+         q(3543),
          q(0),
          ],
       q(kpy) => [
-         q(3545),
+         q(3544),
          q(0),
          ],
       q(kpz) => [
-         q(3546),
+         q(3545),
          q(0),
          ],
       q(kqa) => [
-         q(3547),
+         q(3546),
          q(0),
          ],
       q(kqb) => [
-         q(3548),
+         q(3547),
          q(0),
          ],
       q(kqc) => [
-         q(3549),
+         q(3548),
          q(0),
          ],
       q(kqd) => [
-         q(3550),
+         q(3549),
          q(0),
          ],
       q(kqe) => [
-         q(3551),
+         q(3550),
          q(0),
          ],
       q(kqf) => [
-         q(3552),
+         q(3551),
          q(0),
          ],
       q(kqg) => [
-         q(3553),
+         q(3552),
          q(0),
          ],
       q(kqh) => [
-         q(3554),
+         q(3553),
          q(0),
          ],
       q(kqi) => [
-         q(3555),
+         q(3554),
          q(0),
          ],
       q(kqj) => [
-         q(3556),
+         q(3555),
          q(0),
          ],
       q(kqk) => [
-         q(3557),
+         q(3556),
          q(0),
          ],
       q(kql) => [
-         q(3558),
+         q(3557),
          q(0),
          ],
       q(kqm) => [
-         q(3559),
+         q(3558),
          q(0),
          ],
       q(kqn) => [
-         q(3560),
+         q(3559),
          q(0),
          ],
       q(kqo) => [
-         q(3561),
+         q(3560),
          q(0),
          ],
       q(kqp) => [
-         q(3562),
+         q(3561),
          q(0),
          ],
       q(kqq) => [
-         q(3563),
+         q(3562),
          q(0),
          ],
       q(kqr) => [
-         q(3564),
+         q(3563),
          q(0),
          ],
       q(kqs) => [
-         q(3565),
+         q(3564),
          q(0),
          ],
       q(kqt) => [
-         q(3566),
+         q(3565),
          q(0),
          ],
       q(kqu) => [
-         q(3567),
+         q(3566),
          q(0),
          ],
       q(kqv) => [
-         q(3568),
+         q(3567),
          q(0),
          ],
       q(kqw) => [
-         q(3569),
+         q(3568),
          q(0),
          ],
       q(kqx) => [
-         q(3570),
+         q(3569),
          q(0),
          ],
       q(kqy) => [
-         q(3571),
+         q(3570),
          q(0),
          ],
       q(kqz) => [
-         q(3572),
+         q(3571),
          q(0),
          ],
       q(kra) => [
-         q(3573),
+         q(3572),
          q(0),
          ],
       q(krb) => [
-         q(3574),
+         q(3573),
          q(0),
          ],
       q(krc) => [
@@ -71432,31 +71482,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(krd) => [
-         q(3575),
+         q(3574),
          q(0),
          ],
       q(kre) => [
-         q(3576),
+         q(3575),
          q(0),
          ],
       q(krf) => [
-         q(3577),
+         q(3576),
          q(0),
          ],
       q(krh) => [
-         q(3578),
+         q(3577),
          q(0),
          ],
       q(kri) => [
-         q(3579),
+         q(3578),
          q(0),
          ],
       q(krj) => [
-         q(3580),
+         q(3579),
          q(0),
          ],
       q(krk) => [
-         q(3581),
+         q(3580),
          q(0),
          ],
       q(krl) => [
@@ -71464,11 +71514,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(krm) => [
-         q(3582),
+         q(3581),
          q(0),
          ],
       q(krn) => [
-         q(3583),
+         q(3582),
          q(0),
          ],
       q(kro) => [
@@ -71476,19 +71526,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(krp) => [
-         q(3584),
+         q(3583),
          q(0),
          ],
       q(krr) => [
-         q(3585),
+         q(3584),
          q(0),
          ],
       q(krs) => [
-         q(3586),
+         q(3585),
          q(0),
          ],
       q(krt) => [
-         q(3587),
+         q(3586),
          q(0),
          ],
       q(kru) => [
@@ -71496,231 +71546,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(krv) => [
-         q(3588),
+         q(3587),
          q(0),
          ],
       q(krw) => [
-         q(3589),
+         q(3588),
          q(0),
          ],
       q(krx) => [
-         q(3590),
+         q(3589),
          q(0),
          ],
       q(kry) => [
-         q(3591),
+         q(3590),
          q(0),
          ],
       q(krz) => [
-         q(3592),
+         q(3591),
          q(0),
          ],
       q(ksa) => [
-         q(3593),
+         q(3592),
          q(0),
          ],
       q(ksb) => [
-         q(3594),
+         q(3593),
          q(0),
          ],
       q(ksc) => [
-         q(3595),
+         q(3594),
          q(0),
          ],
       q(ksd) => [
-         q(3596),
+         q(3595),
          q(0),
          ],
       q(kse) => [
-         q(3597),
+         q(3596),
          q(0),
          ],
       q(ksf) => [
-         q(3598),
+         q(3597),
          q(0),
          ],
       q(ksg) => [
-         q(3599),
+         q(3598),
          q(0),
          ],
       q(ksh) => [
-         q(3600),
+         q(3599),
          q(0),
          ],
       q(ksi) => [
-         q(3601),
+         q(3600),
          q(0),
          ],
       q(ksj) => [
-         q(3602),
+         q(3601),
          q(0),
          ],
       q(ksk) => [
-         q(3603),
+         q(3602),
          q(0),
          ],
       q(ksl) => [
-         q(3604),
+         q(3603),
          q(0),
          ],
       q(ksm) => [
-         q(3605),
+         q(3604),
          q(0),
          ],
       q(ksn) => [
-         q(3606),
+         q(3605),
          q(0),
          ],
       q(kso) => [
-         q(3607),
+         q(3606),
          q(0),
          ],
       q(ksp) => [
-         q(3608),
+         q(3607),
          q(0),
          ],
       q(ksq) => [
-         q(3609),
+         q(3608),
          q(0),
          ],
       q(ksr) => [
-         q(3610),
+         q(3609),
          q(0),
          ],
       q(kss) => [
-         q(3611),
+         q(3610),
          q(0),
          ],
       q(kst) => [
-         q(3612),
+         q(3611),
          q(0),
          ],
       q(ksu) => [
-         q(3613),
+         q(3612),
          q(0),
          ],
       q(ksv) => [
-         q(3614),
+         q(3613),
          q(0),
          ],
       q(ksw) => [
-         q(3615),
+         q(3614),
          q(0),
          ],
       q(ksx) => [
-         q(3616),
+         q(3615),
          q(0),
          ],
       q(ksy) => [
-         q(3617),
+         q(3616),
          q(0),
          ],
       q(ksz) => [
-         q(3618),
+         q(3617),
          q(0),
          ],
       q(kta) => [
-         q(3619),
+         q(3618),
          q(0),
          ],
       q(ktb) => [
-         q(3620),
+         q(3619),
          q(0),
          ],
       q(ktc) => [
-         q(3621),
+         q(3620),
          q(0),
          ],
       q(ktd) => [
-         q(3622),
+         q(3621),
          q(0),
          ],
       q(kte) => [
-         q(3623),
+         q(3622),
          q(0),
          ],
       q(ktf) => [
-         q(3624),
+         q(3623),
          q(0),
          ],
       q(ktg) => [
-         q(3625),
+         q(3624),
          q(0),
          ],
       q(kth) => [
-         q(3626),
+         q(3625),
          q(0),
          ],
       q(kti) => [
-         q(3627),
+         q(3626),
          q(0),
          ],
       q(ktj) => [
-         q(3628),
+         q(3627),
          q(0),
          ],
       q(ktk) => [
-         q(3629),
+         q(3628),
          q(0),
          ],
       q(ktl) => [
-         q(3630),
+         q(3629),
          q(0),
          ],
       q(ktm) => [
-         q(3631),
+         q(3630),
          q(0),
          ],
       q(ktn) => [
-         q(3632),
+         q(3631),
          q(0),
          ],
       q(kto) => [
-         q(3633),
+         q(3632),
          q(0),
          ],
       q(ktp) => [
-         q(3634),
+         q(3633),
          q(0),
          ],
       q(ktq) => [
-         q(3635),
+         q(3634),
          q(0),
          ],
       q(ktr) => [
-         q(3636),
+         q(3635),
          q(0),
          ],
       q(kts) => [
-         q(3637),
+         q(3636),
          q(0),
          ],
       q(ktt) => [
-         q(3638),
+         q(3637),
          q(0),
          ],
       q(ktu) => [
-         q(3639),
+         q(3638),
          q(0),
          ],
       q(ktv) => [
-         q(3640),
+         q(3639),
          q(0),
          ],
       q(ktw) => [
-         q(3641),
+         q(3640),
          q(0),
          ],
       q(ktx) => [
-         q(3642),
+         q(3641),
          q(0),
          ],
       q(kty) => [
-         q(3643),
+         q(3642),
          q(0),
          ],
       q(ktz) => [
-         q(3644),
+         q(3643),
          q(0),
          ],
       q(kua) => [
@@ -71728,47 +71778,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kub) => [
-         q(3645),
+         q(3644),
          q(0),
          ],
       q(kuc) => [
-         q(3646),
+         q(3645),
          q(0),
          ],
       q(kud) => [
-         q(3647),
+         q(3646),
          q(0),
          ],
       q(kue) => [
-         q(3648),
+         q(3647),
          q(0),
          ],
       q(kuf) => [
-         q(3649),
+         q(3648),
          q(0),
          ],
       q(kug) => [
-         q(3650),
+         q(3649),
          q(0),
          ],
       q(kuh) => [
-         q(3651),
+         q(3650),
          q(0),
          ],
       q(kui) => [
-         q(3652),
+         q(3651),
          q(0),
          ],
       q(kuj) => [
-         q(3653),
+         q(3652),
          q(0),
          ],
       q(kuk) => [
-         q(3654),
+         q(3653),
          q(0),
          ],
       q(kul) => [
-         q(3655),
+         q(3654),
          q(0),
          ],
       q(kum) => [
@@ -71776,19 +71826,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kun) => [
-         q(3656),
+         q(3655),
          q(0),
          ],
       q(kuo) => [
-         q(3657),
+         q(3656),
          q(0),
          ],
       q(kup) => [
-         q(3658),
+         q(3657),
          q(0),
          ],
       q(kuq) => [
-         q(3319),
+         q(3318),
          q(0),
          ],
       q(kur) => [
@@ -71796,7 +71846,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kus) => [
-         q(3659),
+         q(3658),
          q(0),
          ],
       q(kut) => [
@@ -71804,543 +71854,543 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kuu) => [
-         q(3660),
+         q(3659),
          q(0),
          ],
       q(kuv) => [
-         q(3661),
+         q(3660),
          q(0),
          ],
       q(kuw) => [
-         q(3662),
+         q(3661),
          q(0),
          ],
       q(kux) => [
-         q(3663),
+         q(3662),
          q(0),
          ],
       q(kuy) => [
-         q(3664),
+         q(3663),
          q(0),
          ],
       q(kuz) => [
-         q(3665),
+         q(3664),
          q(0),
          ],
       q(kva) => [
-         q(3666),
+         q(3665),
          q(0),
          ],
       q(kvb) => [
-         q(3667),
+         q(3666),
          q(0),
          ],
       q(kvc) => [
-         q(3668),
+         q(3667),
          q(0),
          ],
       q(kvd) => [
-         q(3669),
+         q(3668),
          q(0),
          ],
       q(kve) => [
-         q(3670),
+         q(3669),
          q(0),
          ],
       q(kvf) => [
-         q(3671),
+         q(3670),
          q(0),
          ],
       q(kvg) => [
-         q(3672),
+         q(3671),
          q(0),
          ],
       q(kvh) => [
-         q(3673),
+         q(3672),
          q(0),
          ],
       q(kvi) => [
-         q(3674),
+         q(3673),
          q(0),
          ],
       q(kvj) => [
-         q(3675),
+         q(3674),
          q(0),
          ],
       q(kvk) => [
-         q(3676),
+         q(3675),
          q(0),
          ],
       q(kvl) => [
-         q(3677),
+         q(3676),
          q(0),
          ],
       q(kvm) => [
-         q(3678),
+         q(3677),
          q(0),
          ],
       q(kvn) => [
-         q(3679),
+         q(3678),
          q(0),
          ],
       q(kvo) => [
-         q(3680),
+         q(3679),
          q(0),
          ],
       q(kvp) => [
-         q(3681),
+         q(3680),
          q(0),
          ],
       q(kvq) => [
-         q(3682),
+         q(3681),
          q(0),
          ],
       q(kvr) => [
-         q(3683),
+         q(3682),
          q(0),
          ],
       q(kvs) => [
-         q(3684),
+         q(3683),
          q(0),
          ],
       q(kvt) => [
-         q(3685),
+         q(3684),
          q(0),
          ],
       q(kvu) => [
-         q(3686),
+         q(3685),
          q(0),
          ],
       q(kvv) => [
-         q(3687),
+         q(3686),
          q(0),
          ],
       q(kvw) => [
-         q(3688),
+         q(3687),
          q(0),
          ],
       q(kvx) => [
-         q(3689),
+         q(3688),
          q(0),
          ],
       q(kvy) => [
-         q(3690),
+         q(3689),
          q(0),
          ],
       q(kvz) => [
-         q(3691),
+         q(3690),
          q(0),
          ],
       q(kwa) => [
-         q(3692),
+         q(3691),
          q(0),
          ],
       q(kwb) => [
-         q(3693),
+         q(3692),
          q(0),
          ],
       q(kwc) => [
-         q(3694),
+         q(3693),
          q(0),
          ],
       q(kwd) => [
-         q(3695),
+         q(3694),
          q(0),
          ],
       q(kwe) => [
-         q(3696),
+         q(3695),
          q(0),
          ],
       q(kwf) => [
-         q(3697),
+         q(3696),
          q(0),
          ],
       q(kwg) => [
-         q(3698),
+         q(3697),
          q(0),
          ],
       q(kwh) => [
-         q(3699),
+         q(3698),
          q(0),
          ],
       q(kwi) => [
-         q(3700),
+         q(3699),
          q(0),
          ],
       q(kwj) => [
-         q(3701),
+         q(3700),
          q(0),
          ],
       q(kwk) => [
-         q(3702),
+         q(3701),
          q(0),
          ],
       q(kwl) => [
-         q(3703),
+         q(3702),
          q(0),
          ],
       q(kwm) => [
-         q(3704),
+         q(3703),
          q(0),
          ],
       q(kwn) => [
-         q(3705),
+         q(3704),
          q(0),
          ],
       q(kwo) => [
-         q(3706),
+         q(3705),
          q(0),
          ],
       q(kwp) => [
-         q(3707),
+         q(3706),
          q(0),
          ],
       q(kwr) => [
-         q(3708),
+         q(3707),
          q(0),
          ],
       q(kws) => [
-         q(3709),
+         q(3708),
          q(0),
          ],
       q(kwt) => [
-         q(3710),
+         q(3709),
          q(0),
          ],
       q(kwu) => [
-         q(3711),
+         q(3710),
          q(0),
          ],
       q(kwv) => [
-         q(3712),
+         q(3711),
          q(0),
          ],
       q(kww) => [
-         q(3713),
+         q(3712),
          q(0),
          ],
       q(kwx) => [
-         q(3714),
+         q(3713),
          q(0),
          ],
       q(kwy) => [
-         q(3715),
+         q(3714),
          q(0),
          ],
       q(kwz) => [
-         q(3716),
+         q(3715),
          q(0),
          ],
       q(kxa) => [
-         q(3717),
+         q(3716),
          q(0),
          ],
       q(kxb) => [
-         q(3718),
+         q(3717),
          q(0),
          ],
       q(kxc) => [
-         q(3719),
+         q(3718),
          q(0),
          ],
       q(kxd) => [
-         q(3720),
+         q(3719),
          q(0),
          ],
       q(kxf) => [
-         q(3721),
+         q(3720),
          q(0),
          ],
       q(kxh) => [
-         q(3722),
+         q(3721),
          q(0),
          ],
       q(kxi) => [
-         q(3723),
+         q(3722),
          q(0),
          ],
       q(kxj) => [
-         q(3724),
+         q(3723),
          q(0),
          ],
       q(kxk) => [
-         q(3725),
+         q(3724),
          q(0),
          ],
       q(kxl) => [
-         q(3726),
+         q(3725),
          q(0),
          ],
       q(kxm) => [
-         q(3727),
+         q(3726),
          q(0),
          ],
       q(kxn) => [
-         q(3728),
+         q(3727),
          q(0),
          ],
       q(kxo) => [
-         q(3729),
+         q(3728),
          q(0),
          ],
       q(kxp) => [
-         q(3730),
+         q(3729),
          q(0),
          ],
       q(kxq) => [
-         q(3731),
+         q(3730),
          q(0),
          ],
       q(kxr) => [
-         q(3732),
+         q(3731),
          q(0),
          ],
       q(kxs) => [
-         q(3733),
+         q(3732),
          q(0),
          ],
       q(kxt) => [
-         q(3734),
+         q(3733),
          q(0),
          ],
       q(kxu) => [
-         q(3735),
+         q(3734),
          q(0),
          ],
       q(kxv) => [
-         q(3736),
+         q(3735),
          q(0),
          ],
       q(kxw) => [
-         q(3737),
+         q(3736),
          q(0),
          ],
       q(kxx) => [
-         q(3738),
+         q(3737),
          q(0),
          ],
       q(kxy) => [
-         q(3739),
+         q(3738),
          q(0),
          ],
       q(kxz) => [
-         q(3740),
+         q(3739),
          q(0),
          ],
       q(kya) => [
-         q(3741),
+         q(3740),
          q(0),
          ],
       q(kyb) => [
-         q(3742),
+         q(3741),
          q(0),
          ],
       q(kyc) => [
-         q(3743),
+         q(3742),
          q(0),
          ],
       q(kyd) => [
-         q(3744),
+         q(3743),
          q(0),
          ],
       q(kye) => [
-         q(3745),
+         q(3744),
          q(0),
          ],
       q(kyf) => [
-         q(3746),
+         q(3745),
          q(0),
          ],
       q(kyg) => [
-         q(3747),
+         q(3746),
          q(0),
          ],
       q(kyh) => [
-         q(3748),
+         q(3747),
          q(0),
          ],
       q(kyi) => [
-         q(3749),
+         q(3748),
          q(0),
          ],
       q(kyj) => [
-         q(3750),
+         q(3749),
          q(0),
          ],
       q(kyk) => [
-         q(3751),
+         q(3750),
          q(0),
          ],
       q(kyl) => [
-         q(3752),
+         q(3751),
          q(0),
          ],
       q(kym) => [
-         q(3753),
+         q(3752),
          q(0),
          ],
       q(kyn) => [
-         q(3754),
+         q(3753),
          q(0),
          ],
       q(kyo) => [
-         q(3755),
+         q(3754),
          q(0),
          ],
       q(kyp) => [
-         q(3756),
+         q(3755),
          q(0),
          ],
       q(kyq) => [
-         q(3757),
+         q(3756),
          q(0),
          ],
       q(kyr) => [
-         q(3758),
+         q(3757),
          q(0),
          ],
       q(kys) => [
-         q(3759),
+         q(3758),
          q(0),
          ],
       q(kyt) => [
-         q(3760),
+         q(3759),
          q(0),
          ],
       q(kyu) => [
-         q(3761),
+         q(3760),
          q(0),
          ],
       q(kyv) => [
-         q(3762),
+         q(3761),
          q(0),
          ],
       q(kyw) => [
-         q(3763),
+         q(3762),
          q(0),
          ],
       q(kyx) => [
-         q(3764),
+         q(3763),
          q(0),
          ],
       q(kyy) => [
-         q(3765),
+         q(3764),
          q(0),
          ],
       q(kyz) => [
-         q(3766),
+         q(3765),
          q(0),
          ],
       q(kza) => [
-         q(3767),
+         q(3766),
          q(0),
          ],
       q(kzb) => [
-         q(3768),
+         q(3767),
          q(0),
          ],
       q(kzc) => [
-         q(3769),
+         q(3768),
          q(0),
          ],
       q(kzd) => [
-         q(3770),
+         q(3769),
          q(0),
          ],
       q(kze) => [
-         q(3771),
+         q(3770),
          q(0),
          ],
       q(kzf) => [
-         q(3772),
+         q(3771),
          q(0),
          ],
       q(kzg) => [
-         q(3773),
+         q(3772),
          q(0),
          ],
       q(kzi) => [
-         q(3774),
+         q(3773),
          q(0),
          ],
       q(kzj) => [
-         q(3775),
+         q(3774),
          q(0),
          ],
       q(kzk) => [
-         q(3776),
+         q(3775),
          q(0),
          ],
       q(kzl) => [
-         q(3777),
+         q(3776),
          q(0),
          ],
       q(kzm) => [
-         q(3778),
+         q(3777),
          q(0),
          ],
       q(kzn) => [
-         q(3779),
+         q(3778),
          q(0),
          ],
       q(kzo) => [
-         q(3780),
+         q(3779),
          q(0),
          ],
       q(kzp) => [
-         q(3781),
+         q(3780),
          q(0),
          ],
       q(kzq) => [
-         q(3782),
+         q(3781),
          q(0),
          ],
       q(kzr) => [
-         q(3783),
+         q(3782),
          q(0),
          ],
       q(kzs) => [
-         q(3784),
+         q(3783),
          q(0),
          ],
       q(kzt) => [
-         q(3785),
+         q(3784),
          q(0),
          ],
       q(kzu) => [
-         q(3786),
+         q(3785),
          q(0),
          ],
       q(kzv) => [
-         q(3787),
+         q(3786),
          q(0),
          ],
       q(kzw) => [
-         q(3788),
+         q(3787),
          q(0),
          ],
       q(kzx) => [
-         q(3789),
+         q(3788),
          q(0),
          ],
       q(kzy) => [
-         q(3790),
+         q(3789),
          q(0),
          ],
       q(kzz) => [
-         q(3791),
+         q(3790),
          q(0),
          ],
       q(laa) => [
-         q(3792),
+         q(3791),
          q(0),
          ],
       q(lab) => [
-         q(3793),
+         q(3792),
          q(0),
          ],
       q(lac) => [
-         q(3794),
+         q(3793),
          q(0),
          ],
       q(lad) => [
@@ -72348,15 +72398,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lae) => [
-         q(3795),
+         q(3794),
          q(0),
          ],
       q(laf) => [
-         q(3796),
+         q(3795),
          q(0),
          ],
       q(lag) => [
-         q(3797),
+         q(3796),
          q(0),
          ],
       q(lah) => [
@@ -72364,19 +72414,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lai) => [
-         q(3798),
+         q(3797),
          q(0),
          ],
       q(laj) => [
-         q(3799),
+         q(3798),
          q(0),
          ],
       q(lak) => [
-         q(3800),
+         q(3799),
          q(0),
          ],
       q(lal) => [
-         q(3801),
+         q(3800),
          q(0),
          ],
       q(lam) => [
@@ -72384,7 +72434,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lan) => [
-         q(3802),
+         q(3801),
          q(0),
          ],
       q(lao) => [
@@ -72392,19 +72442,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lap) => [
-         q(3803),
+         q(3802),
          q(0),
          ],
       q(laq) => [
-         q(3804),
+         q(3803),
          q(0),
          ],
       q(lar) => [
-         q(3805),
+         q(3804),
          q(0),
          ],
       q(las) => [
-         q(3806),
+         q(3805),
          q(0),
          ],
       q(lat) => [
@@ -72412,7 +72462,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lau) => [
-         q(3807),
+         q(3806),
          q(0),
          ],
       q(lav) => [
@@ -72420,303 +72470,303 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(law) => [
-         q(3808),
+         q(3807),
          q(0),
          ],
       q(lax) => [
-         q(3809),
+         q(3808),
          q(0),
          ],
       q(lay) => [
-         q(3810),
+         q(3809),
          q(0),
          ],
       q(laz) => [
-         q(3811),
+         q(3810),
          q(0),
          ],
       q(lba) => [
-         q(3812),
+         q(3811),
          q(0),
          ],
       q(lbb) => [
-         q(3813),
+         q(3812),
          q(0),
          ],
       q(lbc) => [
-         q(3814),
+         q(3813),
          q(0),
          ],
       q(lbe) => [
-         q(3815),
+         q(3814),
          q(0),
          ],
       q(lbf) => [
-         q(3816),
+         q(3815),
          q(0),
          ],
       q(lbg) => [
-         q(3817),
+         q(3816),
          q(0),
          ],
       q(lbi) => [
-         q(3818),
+         q(3817),
          q(0),
          ],
       q(lbj) => [
-         q(3819),
+         q(3818),
          q(0),
          ],
       q(lbk) => [
-         q(3820),
+         q(3819),
          q(0),
          ],
       q(lbl) => [
-         q(3821),
+         q(3820),
          q(0),
          ],
       q(lbm) => [
-         q(3822),
+         q(3821),
          q(0),
          ],
       q(lbn) => [
-         q(3823),
+         q(3822),
          q(0),
          ],
       q(lbo) => [
-         q(3824),
+         q(3823),
          q(0),
          ],
       q(lbq) => [
-         q(3825),
+         q(3824),
          q(0),
          ],
       q(lbr) => [
-         q(3826),
+         q(3825),
          q(0),
          ],
       q(lbs) => [
-         q(3827),
+         q(3826),
          q(0),
          ],
       q(lbt) => [
-         q(3828),
+         q(3827),
          q(0),
          ],
       q(lbu) => [
-         q(3829),
+         q(3828),
          q(0),
          ],
       q(lbv) => [
-         q(3830),
+         q(3829),
          q(0),
          ],
       q(lbw) => [
-         q(3831),
+         q(3830),
          q(0),
          ],
       q(lbx) => [
-         q(3832),
+         q(3831),
          q(0),
          ],
       q(lby) => [
-         q(3833),
+         q(3832),
          q(0),
          ],
       q(lbz) => [
-         q(3834),
+         q(3833),
          q(0),
          ],
       q(lcc) => [
-         q(3835),
+         q(3834),
          q(0),
          ],
       q(lcd) => [
-         q(3836),
+         q(3835),
          q(0),
          ],
       q(lce) => [
-         q(3837),
+         q(3836),
          q(0),
          ],
       q(lcf) => [
-         q(3838),
+         q(3837),
          q(0),
          ],
       q(lch) => [
-         q(3839),
+         q(3838),
          q(0),
          ],
       q(lcl) => [
-         q(3840),
+         q(3839),
          q(0),
          ],
       q(lcm) => [
-         q(3841),
+         q(3840),
          q(0),
          ],
       q(lcp) => [
-         q(3842),
+         q(3841),
          q(0),
          ],
       q(lcq) => [
-         q(3843),
+         q(3842),
          q(0),
          ],
       q(lcs) => [
-         q(3844),
+         q(3843),
          q(0),
          ],
       q(lda) => [
-         q(3845),
+         q(3844),
          q(0),
          ],
       q(ldb) => [
-         q(3846),
+         q(3845),
          q(0),
          ],
       q(ldd) => [
-         q(3847),
+         q(3846),
          q(0),
          ],
       q(ldg) => [
-         q(3848),
+         q(3847),
          q(0),
          ],
       q(ldh) => [
-         q(3849),
+         q(3848),
          q(0),
          ],
       q(ldi) => [
-         q(3850),
+         q(3849),
          q(0),
          ],
       q(ldj) => [
-         q(3851),
+         q(3850),
          q(0),
          ],
       q(ldk) => [
-         q(3852),
+         q(3851),
          q(0),
          ],
       q(ldl) => [
-         q(3853),
+         q(3852),
          q(0),
          ],
       q(ldm) => [
-         q(3854),
+         q(3853),
          q(0),
          ],
       q(ldn) => [
-         q(3855),
+         q(3854),
          q(0),
          ],
       q(ldo) => [
-         q(3856),
+         q(3855),
          q(0),
          ],
       q(ldp) => [
-         q(3857),
+         q(3856),
          q(0),
          ],
       q(ldq) => [
-         q(3858),
+         q(3857),
          q(0),
          ],
       q(lea) => [
-         q(3859),
+         q(3858),
          q(0),
          ],
       q(leb) => [
-         q(3860),
+         q(3859),
          q(0),
          ],
       q(lec) => [
-         q(3861),
+         q(3860),
          q(0),
          ],
       q(led) => [
-         q(3862),
+         q(3861),
          q(0),
          ],
       q(lee) => [
-         q(3863),
+         q(3862),
          q(0),
          ],
       q(lef) => [
-         q(3864),
+         q(3863),
          q(0),
          ],
       q(leh) => [
-         q(3865),
+         q(3864),
          q(0),
          ],
       q(lei) => [
-         q(3866),
+         q(3865),
          q(0),
          ],
       q(lej) => [
-         q(3867),
+         q(3866),
          q(0),
          ],
       q(lek) => [
-         q(3868),
+         q(3867),
          q(0),
          ],
       q(lel) => [
-         q(3869),
+         q(3868),
          q(0),
          ],
       q(lem) => [
-         q(3870),
+         q(3869),
          q(0),
          ],
       q(len) => [
-         q(3871),
+         q(3870),
          q(0),
          ],
       q(leo) => [
-         q(3872),
+         q(3871),
          q(0),
          ],
       q(lep) => [
-         q(3873),
+         q(3872),
          q(0),
          ],
       q(leq) => [
-         q(3874),
+         q(3873),
          q(0),
          ],
       q(ler) => [
-         q(3875),
+         q(3874),
          q(0),
          ],
       q(les) => [
-         q(3876),
+         q(3875),
          q(0),
          ],
       q(let) => [
-         q(3877),
+         q(3876),
          q(0),
          ],
       q(leu) => [
-         q(3878),
+         q(3877),
          q(0),
          ],
       q(lev) => [
-         q(3879),
+         q(3878),
          q(0),
          ],
       q(lew) => [
-         q(3880),
+         q(3879),
          q(0),
          ],
       q(lex) => [
-         q(3881),
+         q(3880),
          q(0),
          ],
       q(ley) => [
-         q(3882),
+         q(3881),
          q(0),
          ],
       q(lez) => [
@@ -72724,151 +72774,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lfa) => [
-         q(3883),
+         q(3882),
          q(0),
          ],
       q(lfn) => [
-         q(3884),
+         q(3883),
          q(0),
          ],
       q(lga) => [
-         q(3885),
+         q(3884),
          q(0),
          ],
       q(lgb) => [
-         q(3886),
+         q(3885),
          q(0),
          ],
       q(lgg) => [
-         q(3887),
+         q(3886),
          q(0),
          ],
       q(lgh) => [
-         q(3888),
+         q(3887),
          q(0),
          ],
       q(lgi) => [
-         q(3889),
+         q(3888),
          q(0),
          ],
       q(lgk) => [
-         q(3890),
+         q(3889),
          q(0),
          ],
       q(lgl) => [
-         q(3891),
+         q(3890),
          q(0),
          ],
       q(lgm) => [
-         q(3892),
+         q(3891),
          q(0),
          ],
       q(lgn) => [
-         q(3893),
+         q(3892),
          q(0),
          ],
       q(lgq) => [
-         q(3894),
+         q(3893),
          q(0),
          ],
       q(lgr) => [
-         q(3895),
+         q(3894),
          q(0),
          ],
       q(lgt) => [
-         q(3896),
+         q(3895),
          q(0),
          ],
       q(lgu) => [
-         q(3897),
+         q(3896),
          q(0),
          ],
       q(lgz) => [
-         q(3898),
+         q(3897),
          q(0),
          ],
       q(lha) => [
-         q(3899),
+         q(3898),
          q(0),
          ],
       q(lhh) => [
-         q(3900),
+         q(3899),
          q(0),
          ],
       q(lhi) => [
-         q(3901),
+         q(3900),
          q(0),
          ],
       q(lhl) => [
-         q(3902),
+         q(3901),
          q(0),
          ],
       q(lhm) => [
-         q(3903),
+         q(3902),
          q(0),
          ],
       q(lhn) => [
-         q(3904),
+         q(3903),
          q(0),
          ],
       q(lhp) => [
-         q(3905),
+         q(3904),
          q(0),
          ],
       q(lhs) => [
-         q(3906),
+         q(3905),
          q(0),
          ],
       q(lht) => [
-         q(3907),
+         q(3906),
          q(0),
          ],
       q(lhu) => [
-         q(3908),
+         q(3907),
          q(0),
          ],
       q(lia) => [
-         q(3909),
+         q(3908),
          q(0),
          ],
       q(lib) => [
-         q(3910),
+         q(3909),
          q(0),
          ],
       q(lic) => [
-         q(3911),
+         q(3910),
          q(0),
          ],
       q(lid) => [
-         q(3912),
+         q(3911),
          q(0),
          ],
       q(lie) => [
-         q(3913),
+         q(3912),
          q(0),
          ],
       q(lif) => [
-         q(3914),
+         q(3913),
          q(0),
          ],
       q(lig) => [
-         q(3915),
+         q(3914),
          q(0),
          ],
       q(lih) => [
-         q(3916),
+         q(3915),
          q(0),
          ],
       q(lij) => [
-         q(3917),
+         q(3916),
          q(0),
          ],
       q(lik) => [
-         q(3918),
+         q(3917),
          q(0),
          ],
       q(lil) => [
-         q(3919),
+         q(3918),
          q(0),
          ],
       q(lim) => [
@@ -72880,23 +72930,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lio) => [
-         q(3920),
+         q(3919),
          q(0),
          ],
       q(lip) => [
-         q(3921),
+         q(3920),
          q(0),
          ],
       q(liq) => [
-         q(3922),
+         q(3921),
          q(0),
          ],
       q(lir) => [
-         q(3923),
+         q(3922),
          q(0),
          ],
       q(lis) => [
-         q(3924),
+         q(3923),
          q(0),
          ],
       q(lit) => [
@@ -72904,395 +72954,395 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(liu) => [
-         q(3925),
+         q(3924),
          q(0),
          ],
       q(liv) => [
-         q(3926),
+         q(3925),
          q(0),
          ],
       q(liw) => [
-         q(3927),
+         q(3926),
          q(0),
          ],
       q(lix) => [
-         q(3928),
+         q(3927),
          q(0),
          ],
       q(liy) => [
-         q(3929),
+         q(3928),
          q(0),
          ],
       q(liz) => [
-         q(3930),
+         q(3929),
          q(0),
          ],
       q(lja) => [
-         q(3931),
+         q(3930),
          q(0),
          ],
       q(lje) => [
-         q(3932),
+         q(3931),
          q(0),
          ],
       q(lji) => [
-         q(3933),
+         q(3932),
          q(0),
          ],
       q(ljl) => [
-         q(3934),
+         q(3933),
          q(0),
          ],
       q(ljp) => [
-         q(3935),
+         q(3934),
          q(0),
          ],
       q(ljw) => [
-         q(3936),
+         q(3935),
          q(0),
          ],
       q(ljx) => [
-         q(3937),
+         q(3936),
          q(0),
          ],
       q(lka) => [
-         q(3938),
+         q(3937),
          q(0),
          ],
       q(lkb) => [
-         q(3939),
+         q(3938),
          q(0),
          ],
       q(lkc) => [
-         q(3940),
+         q(3939),
          q(0),
          ],
       q(lkd) => [
-         q(3941),
+         q(3940),
          q(0),
          ],
       q(lke) => [
-         q(3942),
+         q(3941),
          q(0),
          ],
       q(lkh) => [
-         q(3943),
+         q(3942),
          q(0),
          ],
       q(lki) => [
-         q(3944),
+         q(3943),
          q(0),
          ],
       q(lkj) => [
-         q(3945),
+         q(3944),
          q(0),
          ],
       q(lkl) => [
-         q(3946),
+         q(3945),
          q(0),
          ],
       q(lkm) => [
-         q(3947),
+         q(3946),
          q(0),
          ],
       q(lkn) => [
-         q(3948),
+         q(3947),
          q(0),
          ],
       q(lko) => [
-         q(3949),
+         q(3948),
          q(0),
          ],
       q(lkr) => [
-         q(3950),
+         q(3949),
          q(0),
          ],
       q(lks) => [
-         q(3951),
+         q(3950),
          q(0),
          ],
       q(lkt) => [
-         q(3952),
+         q(3951),
          q(0),
          ],
       q(lku) => [
-         q(3953),
+         q(3952),
          q(0),
          ],
       q(lky) => [
-         q(3954),
+         q(3953),
          q(0),
          ],
       q(lla) => [
-         q(3955),
+         q(3954),
          q(0),
          ],
       q(llb) => [
-         q(3956),
+         q(3955),
          q(0),
          ],
       q(llc) => [
-         q(3957),
+         q(3956),
          q(0),
          ],
       q(lld) => [
-         q(3958),
+         q(3957),
          q(0),
          ],
       q(lle) => [
-         q(3959),
+         q(3958),
          q(0),
          ],
       q(llf) => [
-         q(3960),
+         q(3959),
          q(0),
          ],
       q(llg) => [
-         q(3961),
+         q(3960),
          q(0),
          ],
       q(llh) => [
-         q(3962),
+         q(3961),
          q(0),
          ],
       q(lli) => [
-         q(3963),
+         q(3962),
          q(0),
          ],
       q(llj) => [
-         q(3964),
+         q(3963),
          q(0),
          ],
       q(llk) => [
-         q(3965),
+         q(3964),
          q(0),
          ],
       q(lll) => [
-         q(3966),
+         q(3965),
          q(0),
          ],
       q(llm) => [
-         q(3967),
+         q(3966),
          q(0),
          ],
       q(lln) => [
-         q(3968),
+         q(3967),
          q(0),
          ],
       q(llo) => [
-         q(3969),
+         q(3968),
          q(0),
          ],
       q(llp) => [
-         q(3970),
+         q(3969),
          q(0),
          ],
       q(llq) => [
-         q(3971),
+         q(3970),
          q(0),
          ],
       q(lls) => [
-         q(3972),
+         q(3971),
          q(0),
          ],
       q(llu) => [
-         q(3973),
+         q(3972),
          q(0),
          ],
       q(llx) => [
-         q(3974),
+         q(3973),
          q(0),
          ],
       q(lma) => [
-         q(3975),
+         q(3974),
          q(0),
          ],
       q(lmb) => [
-         q(3976),
+         q(3975),
          q(0),
          ],
       q(lmc) => [
-         q(3977),
+         q(3976),
          q(0),
          ],
       q(lmd) => [
-         q(3978),
+         q(3977),
          q(0),
          ],
       q(lme) => [
-         q(3979),
+         q(3978),
          q(0),
          ],
       q(lmf) => [
-         q(3980),
+         q(3979),
          q(0),
          ],
       q(lmg) => [
-         q(3981),
+         q(3980),
          q(0),
          ],
       q(lmh) => [
-         q(3982),
+         q(3981),
          q(0),
          ],
       q(lmi) => [
-         q(3983),
+         q(3982),
          q(0),
          ],
       q(lmj) => [
-         q(3984),
+         q(3983),
          q(0),
          ],
       q(lmk) => [
-         q(3985),
+         q(3984),
          q(0),
          ],
       q(lml) => [
-         q(3986),
+         q(3985),
          q(0),
          ],
       q(lmn) => [
-         q(3987),
+         q(3986),
          q(0),
          ],
       q(lmo) => [
-         q(3988),
+         q(3987),
          q(0),
          ],
       q(lmp) => [
-         q(3989),
+         q(3988),
          q(0),
          ],
       q(lmq) => [
-         q(3990),
+         q(3989),
          q(0),
          ],
       q(lmr) => [
-         q(3991),
+         q(3990),
          q(0),
          ],
       q(lmu) => [
-         q(3992),
+         q(3991),
          q(0),
          ],
       q(lmv) => [
-         q(3993),
+         q(3992),
          q(0),
          ],
       q(lmw) => [
-         q(3994),
+         q(3993),
          q(0),
          ],
       q(lmx) => [
-         q(3995),
+         q(3994),
          q(0),
          ],
       q(lmy) => [
-         q(3996),
+         q(3995),
          q(0),
          ],
       q(lmz) => [
-         q(3997),
+         q(3996),
          q(0),
          ],
       q(lna) => [
-         q(3998),
+         q(3997),
          q(0),
          ],
       q(lnb) => [
-         q(3999),
+         q(3998),
          q(0),
          ],
       q(lnd) => [
-         q(4000),
+         q(3999),
          q(0),
          ],
       q(lng) => [
-         q(4001),
+         q(4000),
          q(0),
          ],
       q(lnh) => [
-         q(4002),
+         q(4001),
          q(0),
          ],
       q(lni) => [
-         q(4003),
+         q(4002),
          q(0),
          ],
       q(lnj) => [
-         q(4004),
+         q(4003),
          q(0),
          ],
       q(lnl) => [
-         q(4005),
+         q(4004),
          q(0),
          ],
       q(lnm) => [
-         q(4006),
+         q(4005),
          q(0),
          ],
       q(lnn) => [
-         q(4007),
+         q(4006),
          q(0),
          ],
       q(lno) => [
-         q(4008),
+         q(4007),
          q(0),
          ],
       q(lns) => [
-         q(4009),
+         q(4008),
          q(0),
          ],
       q(lnu) => [
-         q(4010),
+         q(4009),
          q(0),
          ],
       q(lnw) => [
-         q(4011),
+         q(4010),
          q(0),
          ],
       q(lnz) => [
-         q(4012),
+         q(4011),
          q(0),
          ],
       q(loa) => [
-         q(4013),
+         q(4012),
          q(0),
          ],
       q(lob) => [
-         q(4014),
+         q(4013),
          q(0),
          ],
       q(loc) => [
-         q(4015),
+         q(4014),
          q(0),
          ],
       q(loe) => [
-         q(4016),
+         q(4015),
          q(0),
          ],
       q(lof) => [
-         q(4017),
+         q(4016),
          q(0),
          ],
       q(log) => [
-         q(4018),
+         q(4017),
          q(0),
          ],
       q(loh) => [
-         q(4019),
+         q(4018),
          q(0),
          ],
       q(loi) => [
-         q(4020),
+         q(4019),
          q(0),
          ],
       q(loj) => [
-         q(4021),
+         q(4020),
          q(0),
          ],
       q(lok) => [
-         q(4022),
+         q(4021),
          q(0),
          ],
       q(lol) => [
@@ -73300,55 +73350,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lom) => [
-         q(4023),
+         q(4022),
          q(0),
          ],
       q(lon) => [
-         q(4024),
+         q(4023),
          q(0),
          ],
       q(loo) => [
-         q(4025),
+         q(4024),
          q(0),
          ],
       q(lop) => [
-         q(4026),
+         q(4025),
          q(0),
          ],
       q(loq) => [
-         q(4027),
+         q(4026),
          q(0),
          ],
       q(lor) => [
-         q(4028),
+         q(4027),
          q(0),
          ],
       q(los) => [
-         q(4029),
+         q(4028),
          q(0),
          ],
       q(lot) => [
-         q(4030),
+         q(4029),
          q(0),
          ],
       q(lou) => [
-         q(4031),
+         q(4030),
          q(0),
          ],
       q(lov) => [
-         q(4032),
+         q(4031),
          q(0),
          ],
       q(low) => [
-         q(4033),
+         q(4032),
          q(0),
          ],
       q(lox) => [
-         q(4034),
+         q(4033),
          q(0),
          ],
       q(loy) => [
-         q(4035),
+         q(4034),
          q(0),
          ],
       q(loz) => [
@@ -73356,163 +73406,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lpa) => [
-         q(4036),
+         q(4035),
          q(0),
          ],
       q(lpe) => [
-         q(4037),
+         q(4036),
          q(0),
          ],
       q(lpn) => [
-         q(4038),
+         q(4037),
          q(0),
          ],
       q(lpo) => [
-         q(4039),
+         q(4038),
          q(0),
          ],
       q(lpx) => [
-         q(4040),
+         q(4039),
          q(0),
          ],
       q(lra) => [
-         q(4041),
+         q(4040),
          q(0),
          ],
       q(lrc) => [
-         q(4042),
+         q(4041),
          q(0),
          ],
       q(lre) => [
-         q(4043),
+         q(4042),
          q(0),
          ],
       q(lrg) => [
-         q(4044),
+         q(4043),
          q(0),
          ],
       q(lri) => [
-         q(4045),
+         q(4044),
          q(0),
          ],
       q(lrk) => [
-         q(4046),
+         q(4045),
          q(0),
          ],
       q(lrl) => [
-         q(4047),
+         q(4046),
          q(0),
          ],
       q(lrm) => [
-         q(4048),
+         q(4047),
          q(0),
          ],
       q(lrn) => [
-         q(4049),
+         q(4048),
          q(0),
          ],
       q(lro) => [
-         q(4050),
+         q(4049),
          q(0),
          ],
       q(lrr) => [
-         q(4051),
+         q(4050),
          q(0),
          ],
       q(lrt) => [
-         q(4052),
+         q(4051),
          q(0),
          ],
       q(lrv) => [
-         q(4053),
+         q(4052),
          q(0),
          ],
       q(lrz) => [
-         q(4054),
+         q(4053),
          q(0),
          ],
       q(lsa) => [
-         q(4055),
+         q(4054),
          q(0),
          ],
       q(lsd) => [
-         q(4056),
+         q(4055),
          q(0),
          ],
       q(lse) => [
-         q(4057),
+         q(4056),
          q(0),
          ],
       q(lsg) => [
-         q(4058),
+         q(4057),
          q(0),
          ],
       q(lsh) => [
-         q(4059),
+         q(4058),
          q(0),
          ],
       q(lsi) => [
-         q(4060),
+         q(4059),
          q(0),
          ],
       q(lsl) => [
-         q(4061),
+         q(4060),
          q(0),
          ],
       q(lsm) => [
-         q(4062),
+         q(4061),
          q(0),
          ],
       q(lso) => [
-         q(4063),
+         q(4062),
          q(0),
          ],
       q(lsp) => [
-         q(4064),
+         q(4063),
          q(0),
          ],
       q(lsr) => [
-         q(4065),
+         q(4064),
          q(0),
          ],
       q(lss) => [
-         q(4066),
+         q(4065),
          q(0),
          ],
       q(lst) => [
-         q(4067),
+         q(4066),
          q(0),
          ],
       q(lsy) => [
-         q(4068),
+         q(4067),
          q(0),
          ],
       q(ltc) => [
-         q(4069),
+         q(4068),
          q(0),
          ],
       q(ltg) => [
-         q(4070),
+         q(4069),
          q(0),
          ],
       q(lti) => [
-         q(4071),
+         q(4070),
          q(0),
          ],
       q(ltn) => [
-         q(4072),
+         q(4071),
          q(0),
          ],
       q(lto) => [
-         q(4073),
+         q(4072),
          q(0),
          ],
       q(lts) => [
-         q(4074),
+         q(4073),
          q(0),
          ],
       q(ltu) => [
-         q(4075),
+         q(4074),
          q(0),
          ],
       q(ltz) => [
@@ -73528,19 +73578,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(luc) => [
-         q(4076),
+         q(4075),
          q(0),
          ],
       q(lud) => [
-         q(4077),
+         q(4076),
          q(0),
          ],
       q(lue) => [
-         q(4078),
+         q(4077),
          q(0),
          ],
       q(luf) => [
-         q(4079),
+         q(4078),
          q(0),
          ],
       q(lug) => [
@@ -73552,19 +73602,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(luj) => [
-         q(4080),
+         q(4079),
          q(0),
          ],
       q(luk) => [
-         q(4081),
+         q(4080),
          q(0),
          ],
       q(lul) => [
-         q(4082),
+         q(4081),
          q(0),
          ],
       q(lum) => [
-         q(4083),
+         q(4082),
          q(0),
          ],
       q(lun) => [
@@ -73576,15 +73626,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lup) => [
-         q(4084),
+         q(4083),
          q(0),
          ],
       q(luq) => [
-         q(4085),
+         q(4084),
          q(0),
          ],
       q(lur) => [
-         q(4086),
+         q(4085),
          q(0),
          ],
       q(lus) => [
@@ -73592,119 +73642,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lut) => [
-         q(4087),
+         q(4086),
          q(0),
          ],
       q(luu) => [
-         q(4088),
+         q(4087),
          q(0),
          ],
       q(luv) => [
-         q(4089),
+         q(4088),
          q(0),
          ],
       q(luw) => [
-         q(4090),
+         q(4089),
          q(0),
          ],
       q(luy) => [
-         q(4091),
+         q(4090),
          q(0),
          ],
       q(luz) => [
-         q(4092),
+         q(4091),
          q(0),
          ],
       q(lva) => [
-         q(4093),
+         q(4092),
          q(0),
          ],
       q(lvk) => [
-         q(4094),
+         q(4093),
          q(0),
          ],
       q(lvs) => [
-         q(4095),
+         q(4094),
          q(0),
          ],
       q(lvu) => [
-         q(4096),
+         q(4095),
          q(0),
          ],
       q(lwa) => [
-         q(4097),
+         q(4096),
          q(0),
          ],
       q(lwe) => [
-         q(4098),
+         q(4097),
          q(0),
          ],
       q(lwg) => [
-         q(4099),
+         q(4098),
          q(0),
          ],
       q(lwh) => [
-         q(4100),
+         q(4099),
          q(0),
          ],
       q(lwl) => [
-         q(4101),
+         q(4100),
          q(0),
          ],
       q(lwm) => [
-         q(4102),
+         q(4101),
          q(0),
          ],
       q(lwo) => [
-         q(4103),
+         q(4102),
          q(0),
          ],
       q(lwt) => [
-         q(4104),
+         q(4103),
          q(0),
          ],
       q(lwu) => [
-         q(4105),
+         q(4104),
          q(0),
          ],
       q(lww) => [
-         q(4106),
+         q(4105),
          q(0),
          ],
       q(lya) => [
-         q(4107),
+         q(4106),
          q(0),
          ],
       q(lyg) => [
-         q(4108),
+         q(4107),
          q(0),
          ],
       q(lyn) => [
-         q(4109),
+         q(4108),
          q(0),
          ],
       q(lzh) => [
-         q(4110),
+         q(4109),
          q(0),
          ],
       q(lzl) => [
-         q(4111),
+         q(4110),
          q(0),
          ],
       q(lzn) => [
-         q(4112),
+         q(4111),
          q(0),
          ],
       q(lzz) => [
-         q(4113),
+         q(4112),
          q(0),
          ],
       q(maa) => [
-         q(4114),
+         q(4113),
          q(0),
          ],
       q(mab) => [
-         q(4115),
+         q(4114),
          q(0),
          ],
       q(mac) => [
@@ -73716,11 +73766,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mae) => [
-         q(4116),
+         q(4115),
          q(0),
          ],
       q(maf) => [
-         q(4117),
+         q(4116),
          q(0),
          ],
       q(mag) => [
@@ -73736,7 +73786,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(maj) => [
-         q(4118),
+         q(4117),
          q(0),
          ],
       q(mak) => [
@@ -73748,7 +73798,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mam) => [
-         q(4119),
+         q(4118),
          q(0),
          ],
       q(man) => [
@@ -73764,7 +73814,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(maq) => [
-         q(4120),
+         q(4119),
          q(0),
          ],
       q(mar) => [
@@ -73776,23 +73826,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mat) => [
-         q(4121),
+         q(4120),
          q(0),
          ],
       q(mau) => [
-         q(4122),
+         q(4121),
          q(0),
          ],
       q(mav) => [
-         q(4123),
+         q(4122),
          q(0),
          ],
       q(maw) => [
-         q(4124),
+         q(4123),
          q(0),
          ],
       q(max) => [
-         q(4125),
+         q(4124),
          q(0),
          ],
       q(may) => [
@@ -73800,231 +73850,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(maz) => [
-         q(4126),
+         q(4125),
          q(0),
          ],
       q(mba) => [
-         q(4127),
+         q(4126),
          q(0),
          ],
       q(mbb) => [
-         q(4128),
+         q(4127),
          q(0),
          ],
       q(mbc) => [
-         q(4129),
+         q(4128),
          q(0),
          ],
       q(mbd) => [
-         q(4130),
+         q(4129),
          q(0),
          ],
       q(mbe) => [
-         q(4131),
+         q(4130),
          q(0),
          ],
       q(mbf) => [
-         q(4132),
+         q(4131),
          q(0),
          ],
       q(mbh) => [
-         q(4133),
+         q(4132),
          q(0),
          ],
       q(mbi) => [
-         q(4134),
+         q(4133),
          q(0),
          ],
       q(mbj) => [
-         q(4135),
+         q(4134),
          q(0),
          ],
       q(mbk) => [
-         q(4136),
+         q(4135),
          q(0),
          ],
       q(mbl) => [
-         q(4137),
+         q(4136),
          q(0),
          ],
       q(mbm) => [
-         q(4138),
+         q(4137),
          q(0),
          ],
       q(mbn) => [
-         q(4139),
+         q(4138),
          q(0),
          ],
       q(mbo) => [
-         q(4140),
+         q(4139),
          q(0),
          ],
       q(mbp) => [
-         q(4141),
+         q(4140),
          q(0),
          ],
       q(mbq) => [
-         q(4142),
+         q(4141),
          q(0),
          ],
       q(mbr) => [
-         q(4143),
+         q(4142),
          q(0),
          ],
       q(mbs) => [
-         q(4144),
+         q(4143),
          q(0),
          ],
       q(mbt) => [
-         q(4145),
+         q(4144),
          q(0),
          ],
       q(mbu) => [
-         q(4146),
+         q(4145),
          q(0),
          ],
       q(mbv) => [
-         q(4147),
+         q(4146),
          q(0),
          ],
       q(mbw) => [
-         q(4148),
+         q(4147),
          q(0),
          ],
       q(mbx) => [
-         q(4149),
+         q(4148),
          q(0),
          ],
       q(mby) => [
-         q(4150),
+         q(4149),
          q(0),
          ],
       q(mbz) => [
-         q(4151),
+         q(4150),
          q(0),
          ],
       q(mca) => [
-         q(4152),
+         q(4151),
          q(0),
          ],
       q(mcb) => [
-         q(4153),
+         q(4152),
          q(0),
          ],
       q(mcc) => [
-         q(4154),
+         q(4153),
          q(0),
          ],
       q(mcd) => [
-         q(4155),
+         q(4154),
          q(0),
          ],
       q(mce) => [
-         q(4156),
+         q(4155),
          q(0),
          ],
       q(mcf) => [
-         q(4157),
+         q(4156),
          q(0),
          ],
       q(mcg) => [
-         q(4158),
+         q(4157),
          q(0),
          ],
       q(mch) => [
-         q(4159),
+         q(4158),
          q(0),
          ],
       q(mci) => [
-         q(4160),
+         q(4159),
          q(0),
          ],
       q(mcj) => [
-         q(4161),
+         q(4160),
          q(0),
          ],
       q(mck) => [
-         q(4162),
+         q(4161),
          q(0),
          ],
       q(mcl) => [
-         q(4163),
+         q(4162),
          q(0),
          ],
       q(mcm) => [
-         q(4164),
+         q(4163),
          q(0),
          ],
       q(mcn) => [
-         q(4165),
+         q(4164),
          q(0),
          ],
       q(mco) => [
-         q(4166),
+         q(4165),
          q(0),
          ],
       q(mcp) => [
-         q(4167),
+         q(4166),
          q(0),
          ],
       q(mcq) => [
-         q(4168),
+         q(4167),
          q(0),
          ],
       q(mcr) => [
-         q(4169),
+         q(4168),
          q(0),
          ],
       q(mcs) => [
-         q(4170),
+         q(4169),
          q(0),
          ],
       q(mct) => [
-         q(4171),
+         q(4170),
          q(0),
          ],
       q(mcu) => [
-         q(4172),
+         q(4171),
          q(0),
          ],
       q(mcv) => [
-         q(4173),
+         q(4172),
          q(0),
          ],
       q(mcw) => [
-         q(4174),
+         q(4173),
          q(0),
          ],
       q(mcx) => [
-         q(4175),
+         q(4174),
          q(0),
          ],
       q(mcy) => [
-         q(4176),
+         q(4175),
          q(0),
          ],
       q(mcz) => [
-         q(4177),
+         q(4176),
          q(0),
          ],
       q(mda) => [
-         q(4178),
+         q(4177),
          q(0),
          ],
       q(mdb) => [
-         q(4179),
+         q(4178),
          q(0),
          ],
       q(mdc) => [
-         q(4180),
+         q(4179),
          q(0),
          ],
       q(mdd) => [
-         q(4181),
+         q(4180),
          q(0),
          ],
       q(mde) => [
-         q(4182),
+         q(4181),
          q(0),
          ],
       q(mdf) => [
@@ -74032,43 +74082,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mdg) => [
-         q(4183),
+         q(4182),
          q(0),
          ],
       q(mdh) => [
-         q(4184),
+         q(4183),
          q(0),
          ],
       q(mdi) => [
-         q(4185),
+         q(4184),
          q(0),
          ],
       q(mdj) => [
-         q(4186),
+         q(4185),
          q(0),
          ],
       q(mdk) => [
-         q(4187),
+         q(4186),
          q(0),
          ],
       q(mdl) => [
-         q(4188),
+         q(4187),
          q(0),
          ],
       q(mdm) => [
-         q(4189),
+         q(4188),
          q(0),
          ],
       q(mdn) => [
-         q(4190),
+         q(4189),
          q(0),
          ],
       q(mdp) => [
-         q(4191),
+         q(4190),
          q(0),
          ],
       q(mdq) => [
-         q(4192),
+         q(4191),
          q(0),
          ],
       q(mdr) => [
@@ -74076,83 +74126,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mds) => [
-         q(4193),
+         q(4192),
          q(0),
          ],
       q(mdt) => [
-         q(4194),
+         q(4193),
          q(0),
          ],
       q(mdu) => [
-         q(4195),
+         q(4194),
          q(0),
          ],
       q(mdv) => [
-         q(4196),
+         q(4195),
          q(0),
          ],
       q(mdw) => [
-         q(4197),
+         q(4196),
          q(0),
          ],
       q(mdx) => [
-         q(4198),
+         q(4197),
          q(0),
          ],
       q(mdy) => [
-         q(4199),
+         q(4198),
          q(0),
          ],
       q(mdz) => [
-         q(4200),
+         q(4199),
          q(0),
          ],
       q(mea) => [
-         q(4201),
+         q(4200),
          q(0),
          ],
       q(meb) => [
-         q(4202),
+         q(4201),
          q(0),
          ],
       q(mec) => [
-         q(4203),
+         q(4202),
          q(0),
          ],
       q(med) => [
-         q(4204),
+         q(4203),
          q(0),
          ],
       q(mee) => [
-         q(4205),
+         q(4204),
          q(0),
          ],
       q(mef) => [
-         q(4206),
+         q(4205),
          q(0),
          ],
       q(meh) => [
-         q(4207),
+         q(4206),
          q(0),
          ],
       q(mei) => [
-         q(4208),
+         q(4207),
          q(0),
          ],
       q(mej) => [
-         q(4209),
+         q(4208),
          q(0),
          ],
       q(mek) => [
-         q(4210),
+         q(4209),
          q(0),
          ],
       q(mel) => [
-         q(4211),
+         q(4210),
          q(0),
          ],
       q(mem) => [
-         q(4212),
+         q(4211),
          q(0),
          ],
       q(men) => [
@@ -74160,151 +74210,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(meo) => [
-         q(4213),
+         q(4212),
          q(0),
          ],
       q(mep) => [
-         q(4214),
+         q(4213),
          q(0),
          ],
       q(meq) => [
-         q(4215),
+         q(4214),
          q(0),
          ],
       q(mer) => [
-         q(4216),
+         q(4215),
          q(0),
          ],
       q(mes) => [
-         q(4217),
+         q(4216),
          q(0),
          ],
       q(met) => [
-         q(4218),
+         q(4217),
          q(0),
          ],
       q(meu) => [
-         q(4219),
+         q(4218),
          q(0),
          ],
       q(mev) => [
-         q(4220),
+         q(4219),
          q(0),
          ],
       q(mew) => [
-         q(4221),
+         q(4220),
          q(0),
          ],
       q(mey) => [
-         q(4222),
+         q(4221),
          q(0),
          ],
       q(mez) => [
-         q(4223),
+         q(4222),
          q(0),
          ],
       q(mfa) => [
-         q(4224),
+         q(4223),
          q(0),
          ],
       q(mfb) => [
-         q(4225),
+         q(4224),
          q(0),
          ],
       q(mfc) => [
-         q(4226),
+         q(4225),
          q(0),
          ],
       q(mfd) => [
-         q(4227),
+         q(4226),
          q(0),
          ],
       q(mfe) => [
-         q(4228),
+         q(4227),
          q(0),
          ],
       q(mff) => [
-         q(4229),
+         q(4228),
          q(0),
          ],
       q(mfg) => [
-         q(4230),
+         q(4229),
          q(0),
          ],
       q(mfh) => [
-         q(4231),
+         q(4230),
          q(0),
          ],
       q(mfi) => [
-         q(4232),
+         q(4231),
          q(0),
          ],
       q(mfj) => [
-         q(4233),
+         q(4232),
          q(0),
          ],
       q(mfk) => [
-         q(4234),
+         q(4233),
          q(0),
          ],
       q(mfl) => [
-         q(4235),
+         q(4234),
          q(0),
          ],
       q(mfm) => [
-         q(4236),
+         q(4235),
          q(0),
          ],
       q(mfn) => [
-         q(4237),
+         q(4236),
          q(0),
          ],
       q(mfo) => [
-         q(4238),
+         q(4237),
          q(0),
          ],
       q(mfp) => [
-         q(4239),
+         q(4238),
          q(0),
          ],
       q(mfq) => [
-         q(4240),
+         q(4239),
          q(0),
          ],
       q(mfr) => [
-         q(4241),
+         q(4240),
          q(0),
          ],
       q(mfs) => [
-         q(4242),
+         q(4241),
          q(0),
          ],
       q(mft) => [
-         q(4243),
+         q(4242),
          q(0),
          ],
       q(mfu) => [
-         q(4244),
+         q(4243),
          q(0),
          ],
       q(mfv) => [
-         q(4245),
+         q(4244),
          q(0),
          ],
       q(mfw) => [
-         q(4246),
+         q(4245),
          q(0),
          ],
       q(mfx) => [
-         q(4247),
+         q(4246),
          q(0),
          ],
       q(mfy) => [
-         q(4248),
+         q(4247),
          q(0),
          ],
       q(mfz) => [
-         q(4249),
+         q(4248),
          q(0),
          ],
       q(mga) => [
@@ -74312,203 +74362,203 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(mgb) => [
-         q(4250),
+         q(4249),
          q(0),
          ],
       q(mgc) => [
-         q(4251),
+         q(4250),
          q(0),
          ],
       q(mgd) => [
-         q(4252),
+         q(4251),
          q(0),
          ],
       q(mge) => [
-         q(4253),
+         q(4252),
          q(0),
          ],
       q(mgf) => [
-         q(4254),
+         q(4253),
          q(0),
          ],
       q(mgg) => [
-         q(4255),
+         q(4254),
          q(0),
          ],
       q(mgh) => [
-         q(4256),
+         q(4255),
          q(0),
          ],
       q(mgi) => [
-         q(4257),
+         q(4256),
          q(0),
          ],
       q(mgj) => [
-         q(4258),
+         q(4257),
          q(0),
          ],
       q(mgk) => [
-         q(4259),
+         q(4258),
          q(0),
          ],
       q(mgl) => [
-         q(4260),
+         q(4259),
          q(0),
          ],
       q(mgm) => [
-         q(4261),
+         q(4260),
          q(0),
          ],
       q(mgn) => [
-         q(4262),
+         q(4261),
          q(0),
          ],
       q(mgo) => [
-         q(4263),
+         q(4262),
          q(0),
          ],
       q(mgp) => [
-         q(4264),
+         q(4263),
          q(0),
          ],
       q(mgq) => [
-         q(4265),
+         q(4264),
          q(0),
          ],
       q(mgr) => [
-         q(4266),
+         q(4265),
          q(0),
          ],
       q(mgs) => [
-         q(4267),
+         q(4266),
          q(0),
          ],
       q(mgt) => [
-         q(4268),
+         q(4267),
          q(0),
          ],
       q(mgu) => [
-         q(4269),
+         q(4268),
          q(0),
          ],
       q(mgv) => [
-         q(4270),
+         q(4269),
          q(0),
          ],
       q(mgw) => [
-         q(4271),
+         q(4270),
          q(0),
          ],
       q(mgy) => [
-         q(4272),
+         q(4271),
          q(0),
          ],
       q(mgz) => [
-         q(4273),
+         q(4272),
          q(0),
          ],
       q(mha) => [
-         q(4274),
+         q(4273),
          q(0),
          ],
       q(mhb) => [
-         q(4275),
+         q(4274),
          q(0),
          ],
       q(mhc) => [
-         q(4276),
+         q(4275),
          q(0),
          ],
       q(mhd) => [
-         q(4277),
+         q(4276),
          q(0),
          ],
       q(mhe) => [
-         q(4278),
+         q(4277),
          q(0),
          ],
       q(mhf) => [
-         q(4279),
+         q(4278),
          q(0),
          ],
       q(mhg) => [
-         q(4280),
+         q(4279),
          q(0),
          ],
       q(mhi) => [
-         q(4281),
+         q(4280),
          q(0),
          ],
       q(mhj) => [
-         q(4282),
+         q(4281),
          q(0),
          ],
       q(mhk) => [
-         q(4283),
+         q(4282),
          q(0),
          ],
       q(mhl) => [
-         q(4284),
+         q(4283),
          q(0),
          ],
       q(mhm) => [
-         q(4285),
+         q(4284),
          q(0),
          ],
       q(mhn) => [
-         q(4286),
+         q(4285),
          q(0),
          ],
       q(mho) => [
-         q(4287),
+         q(4286),
          q(0),
          ],
       q(mhp) => [
-         q(4288),
+         q(4287),
          q(0),
          ],
       q(mhq) => [
-         q(4289),
+         q(4288),
          q(0),
          ],
       q(mhr) => [
-         q(4290),
+         q(4289),
          q(0),
          ],
       q(mhs) => [
-         q(4291),
+         q(4290),
          q(0),
          ],
       q(mht) => [
-         q(4292),
+         q(4291),
          q(0),
          ],
       q(mhu) => [
-         q(4293),
+         q(4292),
          q(0),
          ],
       q(mhw) => [
-         q(4294),
+         q(4293),
          q(0),
          ],
       q(mhx) => [
-         q(4295),
+         q(4294),
          q(0),
          ],
       q(mhy) => [
-         q(4296),
+         q(4295),
          q(0),
          ],
       q(mhz) => [
-         q(4297),
+         q(4296),
          q(0),
          ],
       q(mia) => [
-         q(4298),
+         q(4297),
          q(0),
          ],
       q(mib) => [
-         q(4299),
+         q(4298),
          q(0),
          ],
       q(mic) => [
@@ -74516,43 +74566,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mid) => [
-         q(4300),
+         q(4299),
          q(0),
          ],
       q(mie) => [
-         q(4301),
+         q(4300),
          q(0),
          ],
       q(mif) => [
-         q(4302),
+         q(4301),
          q(0),
          ],
       q(mig) => [
-         q(4303),
+         q(4302),
          q(0),
          ],
       q(mih) => [
-         q(4304),
+         q(4303),
          q(0),
          ],
       q(mii) => [
-         q(4305),
+         q(4304),
          q(0),
          ],
       q(mij) => [
-         q(4306),
+         q(4305),
          q(0),
          ],
       q(mik) => [
-         q(4307),
+         q(4306),
          q(0),
          ],
       q(mil) => [
-         q(4308),
+         q(4307),
          q(0),
          ],
       q(mim) => [
-         q(4309),
+         q(4308),
          q(0),
          ],
       q(min) => [
@@ -74560,19 +74610,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mio) => [
-         q(4310),
+         q(4309),
          q(0),
          ],
       q(mip) => [
-         q(4311),
+         q(4310),
          q(0),
          ],
       q(miq) => [
-         q(4312),
+         q(4311),
          q(0),
          ],
       q(mir) => [
-         q(4313),
+         q(4312),
          q(0),
          ],
       q(mis) => [
@@ -74580,143 +74630,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mit) => [
-         q(4314),
+         q(4313),
          q(0),
          ],
       q(miu) => [
-         q(4315),
+         q(4314),
          q(0),
          ],
       q(miw) => [
-         q(4316),
+         q(4315),
          q(0),
          ],
       q(mix) => [
-         q(4317),
+         q(4316),
          q(0),
          ],
       q(miy) => [
-         q(4318),
+         q(4317),
          q(0),
          ],
       q(miz) => [
-         q(4319),
+         q(4318),
          q(0),
          ],
       q(mjc) => [
-         q(4320),
+         q(4319),
          q(0),
          ],
       q(mjd) => [
-         q(4321),
+         q(4320),
          q(0),
          ],
       q(mje) => [
-         q(4322),
+         q(4321),
          q(0),
          ],
       q(mjg) => [
-         q(4323),
+         q(4322),
          q(0),
          ],
       q(mjh) => [
-         q(4324),
+         q(4323),
          q(0),
          ],
       q(mji) => [
-         q(4325),
+         q(4324),
          q(0),
          ],
       q(mjj) => [
-         q(4326),
+         q(4325),
          q(0),
          ],
       q(mjk) => [
-         q(4327),
+         q(4326),
          q(0),
          ],
       q(mjl) => [
-         q(4328),
+         q(4327),
          q(0),
          ],
       q(mjm) => [
-         q(4329),
+         q(4328),
          q(0),
          ],
       q(mjn) => [
-         q(4330),
+         q(4329),
          q(0),
          ],
       q(mjo) => [
-         q(4331),
+         q(4330),
          q(0),
          ],
       q(mjp) => [
-         q(4332),
+         q(4331),
          q(0),
          ],
       q(mjq) => [
-         q(4333),
+         q(4332),
          q(0),
          ],
       q(mjr) => [
-         q(4334),
+         q(4333),
          q(0),
          ],
       q(mjs) => [
-         q(4335),
+         q(4334),
          q(0),
          ],
       q(mjt) => [
-         q(4336),
+         q(4335),
          q(0),
          ],
       q(mju) => [
-         q(4337),
+         q(4336),
          q(0),
          ],
       q(mjv) => [
-         q(4338),
+         q(4337),
          q(0),
          ],
       q(mjw) => [
-         q(4339),
+         q(4338),
          q(0),
          ],
       q(mjx) => [
-         q(4340),
+         q(4339),
          q(0),
          ],
       q(mjy) => [
-         q(4341),
+         q(4340),
          q(0),
          ],
       q(mjz) => [
-         q(4342),
+         q(4341),
          q(0),
          ],
       q(mka) => [
-         q(4343),
+         q(4342),
          q(0),
          ],
       q(mkb) => [
-         q(4344),
+         q(4343),
          q(0),
          ],
       q(mkc) => [
-         q(4345),
+         q(4344),
          q(0),
          ],
       q(mke) => [
-         q(4346),
+         q(4345),
          q(0),
          ],
       q(mkf) => [
-         q(4347),
+         q(4346),
          q(0),
          ],
       q(mkg) => [
-         q(4348),
+         q(4347),
          q(0),
          ],
       q(mkh) => [
@@ -74724,95 +74774,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mki) => [
-         q(4349),
+         q(4348),
          q(0),
          ],
       q(mkj) => [
-         q(4350),
+         q(4349),
          q(0),
          ],
       q(mkk) => [
-         q(4351),
+         q(4350),
          q(0),
          ],
       q(mkl) => [
-         q(4352),
+         q(4351),
          q(0),
          ],
       q(mkm) => [
-         q(4353),
+         q(4352),
          q(0),
          ],
       q(mkn) => [
-         q(4354),
+         q(4353),
          q(0),
          ],
       q(mko) => [
-         q(4355),
+         q(4354),
          q(0),
          ],
       q(mkp) => [
-         q(4356),
+         q(4355),
          q(0),
          ],
       q(mkq) => [
-         q(4357),
+         q(4356),
          q(0),
          ],
       q(mkr) => [
-         q(4358),
+         q(4357),
          q(0),
          ],
       q(mks) => [
-         q(4359),
+         q(4358),
          q(0),
          ],
       q(mkt) => [
-         q(4360),
+         q(4359),
          q(0),
          ],
       q(mku) => [
-         q(4361),
+         q(4360),
          q(0),
          ],
       q(mkv) => [
-         q(4362),
+         q(4361),
          q(0),
          ],
       q(mkw) => [
-         q(4363),
+         q(4362),
          q(0),
          ],
       q(mkx) => [
-         q(4364),
+         q(4363),
          q(0),
          ],
       q(mky) => [
-         q(4365),
+         q(4364),
          q(0),
          ],
       q(mkz) => [
-         q(4366),
+         q(4365),
          q(0),
          ],
       q(mla) => [
-         q(4367),
+         q(4366),
          q(0),
          ],
       q(mlb) => [
-         q(4368),
+         q(4367),
          q(0),
          ],
       q(mlc) => [
-         q(4369),
+         q(4368),
          q(0),
          ],
       q(mle) => [
-         q(4370),
+         q(4369),
          q(0),
          ],
       q(mlf) => [
-         q(4371),
+         q(4370),
          q(0),
          ],
       q(mlg) => [
@@ -74820,51 +74870,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mlh) => [
-         q(4372),
+         q(4371),
          q(0),
          ],
       q(mli) => [
-         q(4373),
+         q(4372),
          q(0),
          ],
       q(mlj) => [
-         q(4374),
+         q(4373),
          q(0),
          ],
       q(mlk) => [
-         q(4375),
+         q(4374),
          q(0),
          ],
       q(mll) => [
-         q(4376),
+         q(4375),
          q(0),
          ],
       q(mlm) => [
-         q(4377),
+         q(4376),
          q(0),
          ],
       q(mln) => [
-         q(4378),
+         q(4377),
          q(0),
          ],
       q(mlo) => [
-         q(4379),
+         q(4378),
          q(0),
          ],
       q(mlp) => [
-         q(4380),
+         q(4379),
          q(0),
          ],
       q(mlq) => [
-         q(4381),
+         q(4380),
          q(0),
          ],
       q(mlr) => [
-         q(4382),
+         q(4381),
          q(0),
          ],
       q(mls) => [
-         q(4383),
+         q(4382),
          q(0),
          ],
       q(mlt) => [
@@ -74872,131 +74922,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mlu) => [
-         q(4384),
+         q(4383),
          q(0),
          ],
       q(mlv) => [
-         q(4385),
+         q(4384),
          q(0),
          ],
       q(mlw) => [
-         q(4386),
+         q(4385),
          q(0),
          ],
       q(mlx) => [
-         q(4387),
+         q(4386),
          q(0),
          ],
       q(mlz) => [
-         q(4388),
+         q(4387),
          q(0),
          ],
       q(mma) => [
-         q(4389),
+         q(4388),
          q(0),
          ],
       q(mmb) => [
-         q(4390),
+         q(4389),
          q(0),
          ],
       q(mmc) => [
-         q(4391),
+         q(4390),
          q(0),
          ],
       q(mmd) => [
-         q(4392),
+         q(4391),
          q(0),
          ],
       q(mme) => [
-         q(4393),
+         q(4392),
          q(0),
          ],
       q(mmf) => [
-         q(4394),
+         q(4393),
          q(0),
          ],
       q(mmg) => [
-         q(4395),
+         q(4394),
          q(0),
          ],
       q(mmh) => [
-         q(4396),
+         q(4395),
          q(0),
          ],
       q(mmi) => [
-         q(4397),
+         q(4396),
          q(0),
          ],
       q(mmj) => [
-         q(4398),
+         q(4397),
          q(0),
          ],
       q(mmk) => [
-         q(4399),
+         q(4398),
          q(0),
          ],
       q(mml) => [
-         q(4400),
+         q(4399),
          q(0),
          ],
       q(mmm) => [
-         q(4401),
+         q(4400),
          q(0),
          ],
       q(mmn) => [
-         q(4402),
+         q(4401),
          q(0),
          ],
       q(mmo) => [
-         q(4403),
+         q(4402),
          q(0),
          ],
       q(mmp) => [
-         q(4404),
+         q(4403),
          q(0),
          ],
       q(mmq) => [
-         q(4405),
+         q(4404),
          q(0),
          ],
       q(mmr) => [
-         q(4406),
+         q(4405),
          q(0),
          ],
       q(mmt) => [
-         q(4407),
+         q(4406),
          q(0),
          ],
       q(mmu) => [
-         q(4408),
+         q(4407),
          q(0),
          ],
       q(mmv) => [
-         q(4409),
+         q(4408),
          q(0),
          ],
       q(mmw) => [
-         q(4410),
+         q(4409),
          q(0),
          ],
       q(mmx) => [
-         q(4411),
+         q(4410),
          q(0),
          ],
       q(mmy) => [
-         q(4412),
+         q(4411),
          q(0),
          ],
       q(mmz) => [
-         q(4413),
+         q(4412),
          q(0),
          ],
       q(mna) => [
-         q(4414),
+         q(4413),
          q(0),
          ],
       q(mnb) => [
-         q(4415),
+         q(4414),
          q(0),
          ],
       q(mnc) => [
@@ -75004,23 +75054,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mnd) => [
-         q(4416),
+         q(4415),
          q(0),
          ],
       q(mne) => [
-         q(4417),
+         q(4416),
          q(0),
          ],
       q(mnf) => [
-         q(4418),
+         q(4417),
          q(0),
          ],
       q(mng) => [
-         q(4419),
+         q(4418),
          q(0),
          ],
       q(mnh) => [
-         q(4420),
+         q(4419),
          q(0),
          ],
       q(mni) => [
@@ -75028,23 +75078,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mnj) => [
-         q(4421),
+         q(4420),
          q(0),
          ],
       q(mnk) => [
-         q(4422),
+         q(4421),
          q(0),
          ],
       q(mnl) => [
-         q(4423),
+         q(4422),
          q(0),
          ],
       q(mnm) => [
-         q(4424),
+         q(4423),
          q(0),
          ],
       q(mnn) => [
-         q(4425),
+         q(4424),
          q(0),
          ],
       q(mno) => [
@@ -75052,63 +75102,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mnp) => [
-         q(4426),
+         q(4425),
          q(0),
          ],
       q(mnq) => [
-         q(4427),
+         q(4426),
          q(0),
          ],
       q(mnr) => [
-         q(4428),
+         q(4427),
          q(0),
          ],
       q(mns) => [
-         q(4429),
+         q(4428),
          q(0),
          ],
       q(mnu) => [
-         q(4430),
+         q(4429),
          q(0),
          ],
       q(mnv) => [
-         q(4431),
+         q(4430),
          q(0),
          ],
       q(mnw) => [
-         q(4432),
+         q(4431),
          q(0),
          ],
       q(mnx) => [
-         q(4433),
+         q(4432),
          q(0),
          ],
       q(mny) => [
-         q(4434),
+         q(4433),
          q(0),
          ],
       q(mnz) => [
-         q(4435),
+         q(4434),
          q(0),
          ],
       q(moa) => [
-         q(4436),
+         q(4435),
          q(0),
          ],
       q(moc) => [
-         q(4437),
+         q(4436),
          q(0),
          ],
       q(mod) => [
-         q(4438),
+         q(4437),
          q(0),
          ],
       q(moe) => [
-         q(4439),
+         q(4438),
          q(0),
          ],
       q(mog) => [
-         q(4440),
+         q(4439),
          q(0),
          ],
       q(moh) => [
@@ -75116,19 +75166,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(moi) => [
-         q(4441),
+         q(4440),
          q(0),
          ],
       q(moj) => [
-         q(4442),
+         q(4441),
          q(0),
          ],
       q(mok) => [
-         q(4443),
+         q(4442),
          q(0),
          ],
       q(mom) => [
-         q(4444),
+         q(4443),
          q(0),
          ],
       q(mon) => [
@@ -75136,19 +75186,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(moo) => [
-         q(4445),
+         q(4444),
          q(0),
          ],
       q(mop) => [
-         q(4446),
+         q(4445),
          q(0),
          ],
       q(moq) => [
-         q(4447),
+         q(4446),
          q(0),
          ],
       q(mor) => [
-         q(4448),
+         q(4447),
          q(0),
          ],
       q(mos) => [
@@ -75160,563 +75210,563 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mou) => [
-         q(4449),
+         q(4448),
          q(0),
          ],
       q(mov) => [
-         q(4450),
+         q(4449),
          q(0),
          ],
       q(mow) => [
-         q(4451),
+         q(4450),
          q(0),
          ],
       q(mox) => [
-         q(4452),
+         q(4451),
          q(0),
          ],
       q(moy) => [
-         q(4453),
+         q(4452),
          q(0),
          ],
       q(moz) => [
-         q(4454),
+         q(4453),
          q(0),
          ],
       q(mpa) => [
-         q(4455),
+         q(4454),
          q(0),
          ],
       q(mpb) => [
-         q(4456),
+         q(4455),
          q(0),
          ],
       q(mpc) => [
-         q(4457),
+         q(4456),
          q(0),
          ],
       q(mpd) => [
-         q(4458),
+         q(4457),
          q(0),
          ],
       q(mpe) => [
-         q(4459),
+         q(4458),
          q(0),
          ],
       q(mpg) => [
-         q(4460),
+         q(4459),
          q(0),
          ],
       q(mph) => [
-         q(4461),
+         q(4460),
          q(0),
          ],
       q(mpi) => [
-         q(4462),
+         q(4461),
          q(0),
          ],
       q(mpj) => [
-         q(4463),
+         q(4462),
          q(0),
          ],
       q(mpk) => [
-         q(4464),
+         q(4463),
          q(0),
          ],
       q(mpl) => [
-         q(4465),
+         q(4464),
          q(0),
          ],
       q(mpm) => [
-         q(4466),
+         q(4465),
          q(0),
          ],
       q(mpn) => [
-         q(4467),
+         q(4466),
          q(0),
          ],
       q(mpo) => [
-         q(4468),
+         q(4467),
          q(0),
          ],
       q(mpp) => [
-         q(4469),
+         q(4468),
          q(0),
          ],
       q(mpq) => [
-         q(4470),
+         q(4469),
          q(0),
          ],
       q(mpr) => [
-         q(4471),
+         q(4470),
          q(0),
          ],
       q(mps) => [
-         q(4472),
+         q(4471),
          q(0),
          ],
       q(mpt) => [
-         q(4473),
+         q(4472),
          q(0),
          ],
       q(mpu) => [
-         q(4474),
+         q(4473),
          q(0),
          ],
       q(mpv) => [
-         q(4475),
+         q(4474),
          q(0),
          ],
       q(mpw) => [
-         q(4476),
+         q(4475),
          q(0),
          ],
       q(mpx) => [
-         q(4477),
+         q(4476),
          q(0),
          ],
       q(mpy) => [
-         q(4478),
+         q(4477),
          q(0),
          ],
       q(mpz) => [
-         q(4479),
+         q(4478),
          q(0),
          ],
       q(mqa) => [
-         q(4480),
+         q(4479),
          q(0),
          ],
       q(mqb) => [
-         q(4481),
+         q(4480),
          q(0),
          ],
       q(mqc) => [
-         q(4482),
+         q(4481),
          q(0),
          ],
       q(mqe) => [
-         q(4483),
+         q(4482),
          q(0),
          ],
       q(mqf) => [
-         q(4484),
+         q(4483),
          q(0),
          ],
       q(mqg) => [
-         q(4485),
+         q(4484),
          q(0),
          ],
       q(mqh) => [
-         q(4486),
+         q(4485),
          q(0),
          ],
       q(mqi) => [
-         q(4487),
+         q(4486),
          q(0),
          ],
       q(mqj) => [
-         q(4488),
+         q(4487),
          q(0),
          ],
       q(mqk) => [
-         q(4489),
+         q(4488),
          q(0),
          ],
       q(mql) => [
-         q(4490),
+         q(4489),
          q(0),
          ],
       q(mqm) => [
-         q(4491),
+         q(4490),
          q(0),
          ],
       q(mqn) => [
-         q(4492),
+         q(4491),
          q(0),
          ],
       q(mqo) => [
-         q(4493),
+         q(4492),
          q(0),
          ],
       q(mqp) => [
-         q(4494),
+         q(4493),
          q(0),
          ],
       q(mqq) => [
-         q(4495),
+         q(4494),
          q(0),
          ],
       q(mqr) => [
-         q(4496),
+         q(4495),
          q(0),
          ],
       q(mqs) => [
-         q(4497),
+         q(4496),
          q(0),
          ],
       q(mqt) => [
-         q(4498),
+         q(4497),
          q(0),
          ],
       q(mqu) => [
-         q(4499),
+         q(4498),
          q(0),
          ],
       q(mqv) => [
-         q(4500),
+         q(4499),
          q(0),
          ],
       q(mqw) => [
-         q(4501),
+         q(4500),
          q(0),
          ],
       q(mqx) => [
-         q(4502),
+         q(4501),
          q(0),
          ],
       q(mqy) => [
-         q(4503),
+         q(4502),
          q(0),
          ],
       q(mqz) => [
-         q(4504),
+         q(4503),
          q(0),
          ],
       q(mra) => [
-         q(4505),
+         q(4504),
          q(0),
          ],
       q(mrb) => [
-         q(4506),
+         q(4505),
          q(0),
          ],
       q(mrc) => [
-         q(4507),
+         q(4506),
          q(0),
          ],
       q(mrd) => [
-         q(4508),
+         q(4507),
          q(0),
          ],
       q(mre) => [
-         q(4509),
+         q(4508),
          q(0),
          ],
       q(mrf) => [
-         q(4510),
+         q(4509),
          q(0),
          ],
       q(mrg) => [
-         q(4511),
+         q(4510),
          q(0),
          ],
       q(mrh) => [
-         q(4512),
+         q(4511),
          q(0),
          ],
       q(mrj) => [
-         q(4513),
+         q(4512),
          q(0),
          ],
       q(mrk) => [
-         q(4514),
+         q(4513),
          q(0),
          ],
       q(mrl) => [
-         q(4515),
+         q(4514),
          q(0),
          ],
       q(mrm) => [
-         q(4516),
+         q(4515),
          q(0),
          ],
       q(mrn) => [
-         q(4517),
+         q(4516),
          q(0),
          ],
       q(mro) => [
-         q(4518),
+         q(4517),
          q(0),
          ],
       q(mrp) => [
-         q(4519),
+         q(4518),
          q(0),
          ],
       q(mrq) => [
-         q(4520),
+         q(4519),
          q(0),
          ],
       q(mrr) => [
-         q(4521),
+         q(4520),
          q(0),
          ],
       q(mrs) => [
-         q(4522),
+         q(4521),
          q(0),
          ],
       q(mrt) => [
-         q(4523),
+         q(4522),
          q(0),
          ],
       q(mru) => [
-         q(4524),
+         q(4523),
          q(0),
          ],
       q(mrv) => [
-         q(4525),
+         q(4524),
          q(0),
          ],
       q(mrw) => [
-         q(4526),
+         q(4525),
          q(0),
          ],
       q(mrx) => [
-         q(4527),
+         q(4526),
          q(0),
          ],
       q(mry) => [
-         q(4528),
+         q(4527),
          q(0),
          ],
       q(mrz) => [
-         q(4529),
+         q(4528),
          q(0),
          ],
       q(msb) => [
-         q(4530),
+         q(4529),
          q(0),
          ],
       q(msc) => [
-         q(4531),
+         q(4530),
          q(0),
          ],
       q(msd) => [
-         q(4532),
+         q(4531),
          q(0),
          ],
       q(mse) => [
-         q(4533),
+         q(4532),
          q(0),
          ],
       q(msf) => [
-         q(4534),
+         q(4533),
          q(0),
          ],
       q(msg) => [
-         q(4535),
+         q(4534),
          q(0),
          ],
       q(msh) => [
-         q(4536),
+         q(4535),
          q(0),
          ],
       q(msi) => [
-         q(4537),
+         q(4536),
          q(0),
          ],
       q(msj) => [
-         q(4538),
+         q(4537),
          q(0),
          ],
       q(msk) => [
-         q(4539),
+         q(4538),
          q(0),
          ],
       q(msl) => [
-         q(4540),
+         q(4539),
          q(0),
          ],
       q(msm) => [
-         q(4541),
+         q(4540),
          q(0),
          ],
       q(msn) => [
-         q(4542),
+         q(4541),
          q(0),
          ],
       q(mso) => [
-         q(4543),
+         q(4542),
          q(0),
          ],
       q(msp) => [
-         q(4544),
+         q(4543),
          q(0),
          ],
       q(msq) => [
-         q(4545),
+         q(4544),
          q(0),
          ],
       q(msr) => [
-         q(4546),
+         q(4545),
          q(0),
          ],
       q(mss) => [
-         q(4547),
+         q(4546),
          q(0),
          ],
       q(msu) => [
-         q(4548),
+         q(4547),
          q(0),
          ],
       q(msv) => [
-         q(4549),
+         q(4548),
          q(0),
          ],
       q(msw) => [
-         q(4550),
+         q(4549),
          q(0),
          ],
       q(msx) => [
-         q(4551),
+         q(4550),
          q(0),
          ],
       q(msy) => [
-         q(4552),
+         q(4551),
          q(0),
          ],
       q(msz) => [
-         q(4553),
+         q(4552),
          q(0),
          ],
       q(mta) => [
-         q(4554),
+         q(4553),
          q(0),
          ],
       q(mtb) => [
-         q(4555),
+         q(4554),
          q(0),
          ],
       q(mtc) => [
-         q(4556),
+         q(4555),
          q(0),
          ],
       q(mtd) => [
-         q(4557),
+         q(4556),
          q(0),
          ],
       q(mte) => [
-         q(4558),
+         q(4557),
          q(0),
          ],
       q(mtf) => [
-         q(4559),
+         q(4558),
          q(0),
          ],
       q(mtg) => [
-         q(4560),
+         q(4559),
          q(0),
          ],
       q(mth) => [
-         q(4561),
+         q(4560),
          q(0),
          ],
       q(mti) => [
-         q(4562),
+         q(4561),
          q(0),
          ],
       q(mtj) => [
-         q(4563),
+         q(4562),
          q(0),
          ],
       q(mtk) => [
-         q(4564),
+         q(4563),
          q(0),
          ],
       q(mtl) => [
-         q(4565),
+         q(4564),
          q(0),
          ],
       q(mtm) => [
-         q(4566),
+         q(4565),
          q(0),
          ],
       q(mtn) => [
-         q(4567),
+         q(4566),
          q(0),
          ],
       q(mto) => [
-         q(4568),
+         q(4567),
          q(0),
          ],
       q(mtp) => [
-         q(4569),
+         q(4568),
          q(0),
          ],
       q(mtq) => [
-         q(4570),
+         q(4569),
          q(0),
          ],
       q(mtr) => [
-         q(4571),
+         q(4570),
          q(0),
          ],
       q(mts) => [
-         q(4572),
+         q(4571),
          q(0),
          ],
       q(mtt) => [
-         q(4573),
+         q(4572),
          q(0),
          ],
       q(mtu) => [
-         q(4574),
+         q(4573),
          q(0),
          ],
       q(mtv) => [
-         q(4575),
+         q(4574),
          q(0),
          ],
       q(mtw) => [
-         q(4576),
+         q(4575),
          q(0),
          ],
       q(mtx) => [
-         q(4577),
+         q(4576),
          q(0),
          ],
       q(mty) => [
-         q(4578),
+         q(4577),
          q(0),
          ],
       q(mua) => [
-         q(4579),
+         q(4578),
          q(0),
          ],
       q(mub) => [
-         q(4580),
+         q(4579),
          q(0),
          ],
       q(muc) => [
-         q(4581),
+         q(4580),
          q(0),
          ],
       q(mud) => [
-         q(4582),
+         q(4581),
          q(0),
          ],
       q(mue) => [
-         q(4583),
+         q(4582),
          q(0),
          ],
       q(mug) => [
-         q(4584),
+         q(4583),
          q(0),
          ],
       q(muh) => [
-         q(4585),
+         q(4584),
          q(0),
          ],
       q(mui) => [
-         q(4586),
+         q(4585),
          q(0),
          ],
       q(muj) => [
-         q(4587),
+         q(4586),
          q(0),
          ],
       q(muk) => [
-         q(4588),
+         q(4587),
          q(0),
          ],
       q(mul) => [
@@ -75724,7 +75774,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mum) => [
-         q(4589),
+         q(4588),
          q(0),
          ],
       q(mun) => [
@@ -75732,19 +75782,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(muo) => [
-         q(4590),
+         q(4589),
          q(0),
          ],
       q(mup) => [
-         q(4591),
+         q(4590),
          q(0),
          ],
       q(muq) => [
-         q(4592),
+         q(4591),
          q(0),
          ],
       q(mur) => [
-         q(4593),
+         q(4592),
          q(0),
          ],
       q(mus) => [
@@ -75752,159 +75802,159 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mut) => [
-         q(4594),
+         q(4593),
          q(0),
          ],
       q(muu) => [
-         q(4595),
+         q(4594),
          q(0),
          ],
       q(muv) => [
-         q(4596),
+         q(4595),
          q(0),
          ],
       q(mux) => [
-         q(4597),
+         q(4596),
          q(0),
          ],
       q(muy) => [
-         q(4598),
+         q(4597),
          q(0),
          ],
       q(muz) => [
-         q(4599),
+         q(4598),
          q(0),
          ],
       q(mva) => [
-         q(4600),
+         q(4599),
          q(0),
          ],
       q(mvb) => [
-         q(4601),
+         q(4600),
          q(0),
          ],
       q(mvd) => [
-         q(4602),
+         q(4601),
          q(0),
          ],
       q(mve) => [
-         q(4603),
+         q(4602),
          q(0),
          ],
       q(mvf) => [
-         q(4604),
+         q(4603),
          q(0),
          ],
       q(mvg) => [
-         q(4605),
+         q(4604),
          q(0),
          ],
       q(mvh) => [
-         q(4606),
+         q(4605),
          q(0),
          ],
       q(mvi) => [
-         q(4607),
+         q(4606),
          q(0),
          ],
       q(mvk) => [
-         q(4608),
+         q(4607),
          q(0),
          ],
       q(mvl) => [
-         q(4609),
+         q(4608),
          q(0),
          ],
       q(mvm) => [
-         q(4610),
+         q(4609),
          q(0),
          ],
       q(mvn) => [
-         q(4611),
+         q(4610),
          q(0),
          ],
       q(mvo) => [
-         q(4612),
+         q(4611),
          q(0),
          ],
       q(mvp) => [
-         q(4613),
+         q(4612),
          q(0),
          ],
       q(mvq) => [
-         q(4614),
+         q(4613),
          q(0),
          ],
       q(mvr) => [
-         q(4615),
+         q(4614),
          q(0),
          ],
       q(mvs) => [
-         q(4616),
+         q(4615),
          q(0),
          ],
       q(mvt) => [
-         q(4617),
+         q(4616),
          q(0),
          ],
       q(mvu) => [
-         q(4618),
+         q(4617),
          q(0),
          ],
       q(mvv) => [
-         q(4619),
+         q(4618),
          q(0),
          ],
       q(mvw) => [
-         q(4620),
+         q(4619),
          q(0),
          ],
       q(mvx) => [
-         q(4621),
+         q(4620),
          q(0),
          ],
       q(mvy) => [
-         q(4622),
+         q(4621),
          q(0),
          ],
       q(mvz) => [
-         q(4623),
+         q(4622),
          q(0),
          ],
       q(mwa) => [
-         q(4624),
+         q(4623),
          q(0),
          ],
       q(mwb) => [
-         q(4625),
+         q(4624),
          q(0),
          ],
       q(mwc) => [
-         q(4626),
+         q(4625),
          q(0),
          ],
       q(mwe) => [
-         q(4627),
+         q(4626),
          q(0),
          ],
       q(mwf) => [
-         q(4628),
+         q(4627),
          q(0),
          ],
       q(mwg) => [
-         q(4629),
+         q(4628),
          q(0),
          ],
       q(mwh) => [
-         q(4630),
+         q(4629),
          q(0),
          ],
       q(mwi) => [
-         q(4631),
+         q(4630),
          q(0),
          ],
       q(mwk) => [
-         q(4632),
+         q(4631),
          q(0),
          ],
       q(mwl) => [
@@ -75912,23 +75962,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mwm) => [
-         q(4633),
+         q(4632),
          q(0),
          ],
       q(mwn) => [
-         q(4634),
+         q(4633),
          q(0),
          ],
       q(mwo) => [
-         q(4635),
+         q(4634),
          q(0),
          ],
       q(mwp) => [
-         q(4636),
+         q(4635),
          q(0),
          ],
       q(mwq) => [
-         q(4637),
+         q(4636),
          q(0),
          ],
       q(mwr) => [
@@ -75936,187 +75986,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mws) => [
-         q(4638),
+         q(4637),
          q(0),
          ],
       q(mwt) => [
-         q(4639),
+         q(4638),
          q(0),
          ],
       q(mwu) => [
-         q(4640),
+         q(4639),
          q(0),
          ],
       q(mwv) => [
-         q(4641),
+         q(4640),
          q(0),
          ],
       q(mww) => [
-         q(4642),
+         q(4641),
          q(0),
          ],
       q(mwx) => [
-         q(4643),
+         q(4642),
          q(0),
          ],
       q(mwy) => [
-         q(4644),
+         q(4643),
          q(0),
          ],
       q(mwz) => [
-         q(4645),
+         q(4644),
          q(0),
          ],
       q(mxa) => [
-         q(4646),
+         q(4645),
          q(0),
          ],
       q(mxb) => [
-         q(4647),
+         q(4646),
          q(0),
          ],
       q(mxc) => [
-         q(4648),
+         q(4647),
          q(0),
          ],
       q(mxd) => [
-         q(4649),
+         q(4648),
          q(0),
          ],
       q(mxe) => [
-         q(4650),
+         q(4649),
          q(0),
          ],
       q(mxf) => [
-         q(4651),
+         q(4650),
          q(0),
          ],
       q(mxg) => [
-         q(4652),
+         q(4651),
          q(0),
          ],
       q(mxh) => [
-         q(4653),
+         q(4652),
          q(0),
          ],
       q(mxi) => [
-         q(4654),
+         q(4653),
          q(0),
          ],
       q(mxj) => [
-         q(4655),
+         q(4654),
          q(0),
          ],
       q(mxk) => [
-         q(4656),
+         q(4655),
          q(0),
          ],
       q(mxl) => [
-         q(4657),
+         q(4656),
          q(0),
          ],
       q(mxm) => [
-         q(4658),
+         q(4657),
          q(0),
          ],
       q(mxn) => [
-         q(4659),
+         q(4658),
          q(0),
          ],
       q(mxo) => [
-         q(4660),
+         q(4659),
          q(0),
          ],
       q(mxp) => [
-         q(4661),
+         q(4660),
          q(0),
          ],
       q(mxq) => [
-         q(4662),
+         q(4661),
          q(0),
          ],
       q(mxr) => [
-         q(4663),
+         q(4662),
          q(0),
          ],
       q(mxs) => [
-         q(4664),
+         q(4663),
          q(0),
          ],
       q(mxt) => [
-         q(4665),
+         q(4664),
          q(0),
          ],
       q(mxu) => [
-         q(4666),
+         q(4665),
          q(0),
          ],
       q(mxv) => [
-         q(4667),
+         q(4666),
          q(0),
          ],
       q(mxw) => [
-         q(4668),
+         q(4667),
          q(0),
          ],
       q(mxx) => [
-         q(4669),
+         q(4668),
          q(0),
          ],
       q(mxy) => [
-         q(4670),
+         q(4669),
          q(0),
          ],
       q(mxz) => [
-         q(4671),
+         q(4670),
          q(0),
          ],
       q(myb) => [
-         q(4672),
+         q(4671),
          q(0),
          ],
       q(myc) => [
-         q(4673),
+         q(4672),
          q(0),
          ],
       q(myd) => [
-         q(4674),
+         q(4673),
          q(0),
          ],
       q(mye) => [
-         q(4675),
+         q(4674),
          q(0),
          ],
       q(myf) => [
-         q(4676),
+         q(4675),
          q(0),
          ],
       q(myg) => [
-         q(4677),
+         q(4676),
          q(0),
          ],
       q(myh) => [
-         q(4678),
+         q(4677),
          q(0),
          ],
       q(myi) => [
-         q(4679),
+         q(4678),
          q(0),
          ],
       q(myj) => [
-         q(4680),
+         q(4679),
          q(0),
          ],
       q(myk) => [
-         q(4681),
+         q(4680),
          q(0),
          ],
       q(myl) => [
-         q(4682),
+         q(4681),
          q(0),
          ],
       q(mym) => [
-         q(4683),
+         q(4682),
          q(0),
          ],
       q(myn) => [
@@ -76124,23 +76174,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(myo) => [
-         q(4684),
+         q(4683),
          q(0),
          ],
       q(myp) => [
-         q(4685),
+         q(4684),
          q(0),
          ],
       q(myr) => [
-         q(4686),
+         q(4685),
          q(0),
          ],
       q(mys) => [
-         q(4687),
+         q(4686),
          q(0),
          ],
       q(myu) => [
-         q(4688),
+         q(4687),
          q(0),
          ],
       q(myv) => [
@@ -76148,147 +76198,147 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(myw) => [
-         q(4689),
+         q(4688),
          q(0),
          ],
       q(myx) => [
-         q(4690),
+         q(4689),
          q(0),
          ],
       q(myy) => [
-         q(4691),
+         q(4690),
          q(0),
          ],
       q(myz) => [
-         q(4692),
+         q(4691),
          q(0),
          ],
       q(mza) => [
-         q(4693),
+         q(4692),
          q(0),
          ],
       q(mzb) => [
-         q(4694),
+         q(4693),
          q(0),
          ],
       q(mzc) => [
-         q(4695),
+         q(4694),
          q(0),
          ],
       q(mzd) => [
-         q(4696),
+         q(4695),
          q(0),
          ],
       q(mze) => [
-         q(4697),
+         q(4696),
          q(0),
          ],
       q(mzg) => [
-         q(4698),
+         q(4697),
          q(0),
          ],
       q(mzh) => [
-         q(4699),
+         q(4698),
          q(0),
          ],
       q(mzi) => [
-         q(4700),
+         q(4699),
          q(0),
          ],
       q(mzj) => [
-         q(4701),
+         q(4700),
          q(0),
          ],
       q(mzk) => [
-         q(4702),
+         q(4701),
          q(0),
          ],
       q(mzl) => [
-         q(4703),
+         q(4702),
          q(0),
          ],
       q(mzm) => [
-         q(4704),
+         q(4703),
          q(0),
          ],
       q(mzn) => [
-         q(4705),
+         q(4704),
          q(0),
          ],
       q(mzo) => [
-         q(4706),
+         q(4705),
          q(0),
          ],
       q(mzp) => [
-         q(4707),
+         q(4706),
          q(0),
          ],
       q(mzq) => [
-         q(4708),
+         q(4707),
          q(0),
          ],
       q(mzr) => [
-         q(4709),
+         q(4708),
          q(0),
          ],
       q(mzs) => [
-         q(4710),
+         q(4709),
          q(0),
          ],
       q(mzt) => [
-         q(4711),
+         q(4710),
          q(0),
          ],
       q(mzu) => [
-         q(4712),
+         q(4711),
          q(0),
          ],
       q(mzv) => [
-         q(4713),
+         q(4712),
          q(0),
          ],
       q(mzw) => [
-         q(4714),
+         q(4713),
          q(0),
          ],
       q(mzx) => [
-         q(4715),
+         q(4714),
          q(0),
          ],
       q(mzy) => [
-         q(4716),
+         q(4715),
          q(0),
          ],
       q(mzz) => [
-         q(4717),
+         q(4716),
          q(0),
          ],
       q(naa) => [
-         q(4718),
+         q(4717),
          q(0),
          ],
       q(nab) => [
-         q(4719),
+         q(4718),
          q(0),
          ],
       q(nac) => [
-         q(4720),
+         q(4719),
          q(0),
          ],
       q(nad) => [
-         q(4721),
+         q(4720),
          q(0),
          ],
       q(nae) => [
-         q(4722),
+         q(4721),
          q(0),
          ],
       q(naf) => [
-         q(4723),
+         q(4722),
          q(0),
          ],
       q(nag) => [
-         q(4724),
+         q(4723),
          q(0),
          ],
       q(nah) => [
@@ -76300,27 +76350,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(naj) => [
-         q(4725),
+         q(4724),
          q(0),
          ],
       q(nak) => [
-         q(4726),
+         q(4725),
          q(0),
          ],
       q(nal) => [
-         q(4727),
+         q(4726),
          q(0),
          ],
       q(nam) => [
-         q(4728),
+         q(4727),
          q(0),
          ],
       q(nan) => [
-         q(4729),
+         q(4728),
          q(0),
          ],
       q(nao) => [
-         q(4730),
+         q(4729),
          q(0),
          ],
       q(nap) => [
@@ -76328,19 +76378,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(naq) => [
-         q(4731),
+         q(4730),
          q(0),
          ],
       q(nar) => [
-         q(4732),
+         q(4731),
          q(0),
          ],
       q(nas) => [
-         q(4733),
+         q(4732),
          q(0),
          ],
       q(nat) => [
-         q(4734),
+         q(4733),
          q(0),
          ],
       q(nau) => [
@@ -76352,59 +76402,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(naw) => [
-         q(4735),
+         q(4734),
          q(0),
          ],
       q(nax) => [
-         q(4736),
+         q(4735),
          q(0),
          ],
       q(nay) => [
-         q(4737),
+         q(4736),
          q(0),
          ],
       q(naz) => [
-         q(4738),
+         q(4737),
          q(0),
          ],
       q(nba) => [
-         q(4739),
+         q(4738),
          q(0),
          ],
       q(nbb) => [
-         q(4740),
+         q(4739),
          q(0),
          ],
       q(nbc) => [
-         q(4741),
+         q(4740),
          q(0),
          ],
       q(nbd) => [
-         q(4742),
+         q(4741),
          q(0),
          ],
       q(nbe) => [
-         q(4743),
+         q(4742),
          q(0),
          ],
       q(nbg) => [
-         q(4744),
+         q(4743),
          q(0),
          ],
       q(nbh) => [
-         q(4745),
+         q(4744),
          q(0),
          ],
       q(nbi) => [
-         q(4746),
+         q(4745),
          q(0),
          ],
       q(nbj) => [
-         q(4747),
+         q(4746),
          q(0),
          ],
       q(nbk) => [
-         q(4748),
+         q(4747),
          q(0),
          ],
       q(nbl) => [
@@ -76412,155 +76462,155 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nbm) => [
-         q(4749),
+         q(4748),
          q(0),
          ],
       q(nbn) => [
-         q(4750),
+         q(4749),
          q(0),
          ],
       q(nbo) => [
-         q(4751),
+         q(4750),
          q(0),
          ],
       q(nbp) => [
-         q(4752),
+         q(4751),
          q(0),
          ],
       q(nbq) => [
-         q(4753),
+         q(4752),
          q(0),
          ],
       q(nbr) => [
-         q(4754),
+         q(4753),
          q(0),
          ],
       q(nbs) => [
-         q(4755),
+         q(4754),
          q(0),
          ],
       q(nbt) => [
-         q(4756),
+         q(4755),
          q(0),
          ],
       q(nbu) => [
-         q(4757),
+         q(4756),
          q(0),
          ],
       q(nbv) => [
-         q(4758),
+         q(4757),
          q(0),
          ],
       q(nbw) => [
-         q(4759),
+         q(4758),
          q(0),
          ],
       q(nby) => [
-         q(4760),
+         q(4759),
          q(0),
          ],
       q(nca) => [
-         q(4761),
+         q(4760),
          q(0),
          ],
       q(ncb) => [
-         q(4762),
+         q(4761),
          q(0),
          ],
       q(ncc) => [
-         q(4763),
+         q(4762),
          q(0),
          ],
       q(ncd) => [
-         q(4764),
+         q(4763),
          q(0),
          ],
       q(nce) => [
-         q(4765),
+         q(4764),
          q(0),
          ],
       q(ncf) => [
-         q(4766),
+         q(4765),
          q(0),
          ],
       q(ncg) => [
-         q(4767),
+         q(4766),
          q(0),
          ],
       q(nch) => [
-         q(4768),
+         q(4767),
          q(0),
          ],
       q(nci) => [
-         q(4769),
+         q(4768),
          q(0),
          ],
       q(ncj) => [
-         q(4770),
+         q(4769),
          q(0),
          ],
       q(nck) => [
-         q(4771),
+         q(4770),
          q(0),
          ],
       q(ncl) => [
-         q(4772),
+         q(4771),
          q(0),
          ],
       q(ncm) => [
-         q(4773),
+         q(4772),
          q(0),
          ],
       q(ncn) => [
-         q(4774),
+         q(4773),
          q(0),
          ],
       q(nco) => [
-         q(4775),
+         q(4774),
          q(0),
          ],
       q(ncp) => [
-         q(4776),
+         q(4775),
          q(0),
          ],
       q(ncr) => [
-         q(4777),
+         q(4776),
          q(0),
          ],
       q(ncs) => [
-         q(4778),
+         q(4777),
          q(0),
          ],
       q(nct) => [
-         q(4779),
+         q(4778),
          q(0),
          ],
       q(ncu) => [
-         q(4780),
+         q(4779),
          q(0),
          ],
       q(ncx) => [
-         q(4781),
+         q(4780),
          q(0),
          ],
       q(ncz) => [
-         q(4782),
+         q(4781),
          q(0),
          ],
       q(nda) => [
-         q(4783),
+         q(4782),
          q(0),
          ],
       q(ndb) => [
-         q(4784),
+         q(4783),
          q(0),
          ],
       q(ndc) => [
-         q(4785),
+         q(4784),
          q(0),
          ],
       q(ndd) => [
-         q(4786),
+         q(4785),
          q(0),
          ],
       q(nde) => [
@@ -76568,39 +76618,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ndf) => [
-         q(4787),
+         q(4786),
          q(0),
          ],
       q(ndg) => [
-         q(4788),
+         q(4787),
          q(0),
          ],
       q(ndh) => [
-         q(4789),
+         q(4788),
          q(0),
          ],
       q(ndi) => [
-         q(4790),
+         q(4789),
          q(0),
          ],
       q(ndj) => [
-         q(4791),
+         q(4790),
          q(0),
          ],
       q(ndk) => [
-         q(4792),
+         q(4791),
          q(0),
          ],
       q(ndl) => [
-         q(4793),
+         q(4792),
          q(0),
          ],
       q(ndm) => [
-         q(4794),
+         q(4793),
          q(0),
          ],
       q(ndn) => [
-         q(4795),
+         q(4794),
          q(0),
          ],
       q(ndo) => [
@@ -76608,15 +76658,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ndp) => [
-         q(4796),
+         q(4795),
          q(0),
          ],
       q(ndq) => [
-         q(4797),
+         q(4796),
          q(0),
          ],
       q(ndr) => [
-         q(4798),
+         q(4797),
          q(0),
          ],
       q(nds) => [
@@ -76624,87 +76674,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ndt) => [
-         q(4799),
+         q(4798),
          q(0),
          ],
       q(ndu) => [
-         q(4800),
+         q(4799),
          q(0),
          ],
       q(ndv) => [
-         q(4801),
+         q(4800),
          q(0),
          ],
       q(ndw) => [
-         q(4802),
+         q(4801),
          q(0),
          ],
       q(ndx) => [
-         q(4803),
+         q(4802),
          q(0),
          ],
       q(ndy) => [
-         q(4804),
+         q(4803),
          q(0),
          ],
       q(ndz) => [
-         q(4805),
+         q(4804),
          q(0),
          ],
       q(nea) => [
-         q(4806),
+         q(4805),
          q(0),
          ],
       q(neb) => [
-         q(4807),
+         q(4806),
          q(0),
          ],
       q(nec) => [
-         q(4808),
+         q(4807),
          q(0),
          ],
       q(ned) => [
-         q(4809),
+         q(4808),
          q(0),
          ],
       q(nee) => [
-         q(4810),
+         q(4809),
          q(0),
          ],
       q(nef) => [
-         q(4811),
+         q(4810),
          q(0),
          ],
       q(neg) => [
-         q(4812),
+         q(4811),
          q(0),
          ],
       q(neh) => [
-         q(4813),
+         q(4812),
          q(0),
          ],
       q(nei) => [
-         q(4814),
+         q(4813),
          q(0),
          ],
       q(nej) => [
-         q(4815),
+         q(4814),
          q(0),
          ],
       q(nek) => [
-         q(4816),
+         q(4815),
          q(0),
          ],
       q(nem) => [
-         q(4817),
+         q(4816),
          q(0),
          ],
       q(nen) => [
-         q(4818),
+         q(4817),
          q(0),
          ],
       q(neo) => [
-         q(4819),
+         q(4818),
          q(0),
          ],
       q(nep) => [
@@ -76712,27 +76762,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(neq) => [
-         q(4820),
+         q(4819),
          q(0),
          ],
       q(ner) => [
-         q(4821),
+         q(4820),
          q(0),
          ],
       q(nes) => [
-         q(4822),
+         q(4821),
          q(0),
          ],
       q(net) => [
-         q(4823),
+         q(4822),
          q(0),
          ],
       q(neu) => [
-         q(4824),
+         q(4823),
          q(0),
          ],
       q(nev) => [
-         q(4825),
+         q(4824),
          q(0),
          ],
       q(new) => [
@@ -76740,55 +76790,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(nex) => [
-         q(4826),
+         q(4825),
          q(0),
          ],
       q(ney) => [
-         q(4827),
+         q(4826),
          q(0),
          ],
       q(nez) => [
-         q(4828),
+         q(4827),
          q(0),
          ],
       q(nfa) => [
-         q(4829),
+         q(4828),
          q(0),
          ],
       q(nfd) => [
-         q(4830),
+         q(4829),
          q(0),
          ],
       q(nfl) => [
-         q(4831),
+         q(4830),
          q(0),
          ],
       q(nfr) => [
-         q(4832),
+         q(4831),
          q(0),
          ],
       q(nfu) => [
-         q(4833),
+         q(4832),
          q(0),
          ],
       q(nga) => [
-         q(4834),
+         q(4833),
          q(0),
          ],
       q(ngb) => [
-         q(4835),
+         q(4834),
          q(0),
          ],
       q(ngc) => [
-         q(4836),
+         q(4835),
          q(0),
          ],
       q(ngd) => [
-         q(4837),
+         q(4836),
          q(0),
          ],
       q(nge) => [
-         q(4838),
+         q(4837),
          q(0),
          ],
       q(ngf) => [
@@ -76796,175 +76846,175 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ngg) => [
-         q(4839),
+         q(4838),
          q(0),
          ],
       q(ngh) => [
-         q(4840),
+         q(4839),
          q(0),
          ],
       q(ngi) => [
-         q(4841),
+         q(4840),
          q(0),
          ],
       q(ngj) => [
-         q(4842),
+         q(4841),
          q(0),
          ],
       q(ngk) => [
-         q(4843),
+         q(4842),
          q(0),
          ],
       q(ngl) => [
-         q(4844),
+         q(4843),
          q(0),
          ],
       q(ngm) => [
-         q(4845),
+         q(4844),
          q(0),
          ],
       q(ngn) => [
-         q(4846),
+         q(4845),
          q(0),
          ],
       q(ngo) => [
-         q(4847),
+         q(4846),
          q(0),
          ],
       q(ngp) => [
-         q(4848),
+         q(4847),
          q(0),
          ],
       q(ngq) => [
-         q(4849),
+         q(4848),
          q(0),
          ],
       q(ngr) => [
-         q(4850),
+         q(4849),
          q(0),
          ],
       q(ngs) => [
-         q(4851),
+         q(4850),
          q(0),
          ],
       q(ngt) => [
-         q(4852),
+         q(4851),
          q(0),
          ],
       q(ngu) => [
-         q(4853),
+         q(4852),
          q(0),
          ],
       q(ngv) => [
-         q(4854),
+         q(4853),
          q(0),
          ],
       q(ngw) => [
-         q(4855),
+         q(4854),
          q(0),
          ],
       q(ngx) => [
-         q(4856),
+         q(4855),
          q(0),
          ],
       q(ngy) => [
-         q(4857),
+         q(4856),
          q(0),
          ],
       q(ngz) => [
-         q(4858),
+         q(4857),
          q(0),
          ],
       q(nha) => [
-         q(4859),
+         q(4858),
          q(0),
          ],
       q(nhb) => [
-         q(4860),
+         q(4859),
          q(0),
          ],
       q(nhc) => [
-         q(4861),
+         q(4860),
          q(0),
          ],
       q(nhd) => [
-         q(4862),
+         q(4861),
          q(0),
          ],
       q(nhe) => [
-         q(4863),
+         q(4862),
          q(0),
          ],
       q(nhf) => [
-         q(4864),
+         q(4863),
          q(0),
          ],
       q(nhg) => [
-         q(4865),
+         q(4864),
          q(0),
          ],
       q(nhh) => [
-         q(4866),
+         q(4865),
          q(0),
          ],
       q(nhi) => [
-         q(4867),
+         q(4866),
          q(0),
          ],
       q(nhk) => [
-         q(4868),
+         q(4867),
          q(0),
          ],
       q(nhm) => [
-         q(4869),
+         q(4868),
          q(0),
          ],
       q(nhn) => [
-         q(4870),
+         q(4869),
          q(0),
          ],
       q(nho) => [
-         q(4871),
+         q(4870),
          q(0),
          ],
       q(nhp) => [
-         q(4872),
+         q(4871),
          q(0),
          ],
       q(nhq) => [
-         q(4873),
+         q(4872),
          q(0),
          ],
       q(nhr) => [
-         q(4874),
+         q(4873),
          q(0),
          ],
       q(nht) => [
-         q(4875),
+         q(4874),
          q(0),
          ],
       q(nhu) => [
-         q(4876),
+         q(4875),
          q(0),
          ],
       q(nhv) => [
-         q(4877),
+         q(4876),
          q(0),
          ],
       q(nhw) => [
-         q(4878),
+         q(4877),
          q(0),
          ],
       q(nhx) => [
-         q(4879),
+         q(4878),
          q(0),
          ],
       q(nhy) => [
-         q(4880),
+         q(4879),
          q(0),
          ],
       q(nhz) => [
-         q(4881),
+         q(4880),
          q(0),
          ],
       q(nia) => [
@@ -76972,7 +77022,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nib) => [
-         q(4882),
+         q(4881),
          q(0),
          ],
       q(nic) => [
@@ -76980,67 +77030,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nid) => [
-         q(4883),
+         q(4882),
          q(0),
          ],
       q(nie) => [
-         q(4884),
+         q(4883),
          q(0),
          ],
       q(nif) => [
-         q(4885),
+         q(4884),
          q(0),
          ],
       q(nig) => [
-         q(4886),
+         q(4885),
          q(0),
          ],
       q(nih) => [
-         q(4887),
+         q(4886),
          q(0),
          ],
       q(nii) => [
-         q(4888),
+         q(4887),
          q(0),
          ],
       q(nij) => [
-         q(4889),
+         q(4888),
          q(0),
          ],
       q(nik) => [
-         q(4890),
+         q(4889),
          q(0),
          ],
       q(nil) => [
-         q(4891),
+         q(4890),
          q(0),
          ],
       q(nim) => [
-         q(4892),
+         q(4891),
          q(0),
          ],
       q(nin) => [
-         q(4893),
+         q(4892),
          q(0),
          ],
       q(nio) => [
-         q(4894),
+         q(4893),
          q(0),
          ],
       q(niq) => [
-         q(4895),
+         q(4894),
          q(0),
          ],
       q(nir) => [
-         q(4896),
+         q(4895),
          q(0),
          ],
       q(nis) => [
-         q(4897),
+         q(4896),
          q(0),
          ],
       q(nit) => [
-         q(4898),
+         q(4897),
          q(0),
          ],
       q(niu) => [
@@ -77048,411 +77098,411 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(niv) => [
-         q(4899),
+         q(4898),
          q(0),
          ],
       q(niw) => [
-         q(4900),
+         q(4899),
          q(0),
          ],
       q(nix) => [
-         q(4901),
+         q(4900),
          q(0),
          ],
       q(niy) => [
-         q(4902),
+         q(4901),
          q(0),
          ],
       q(niz) => [
-         q(4903),
+         q(4902),
          q(0),
          ],
       q(nja) => [
-         q(4904),
+         q(4903),
          q(0),
          ],
       q(njb) => [
-         q(4905),
+         q(4904),
          q(0),
          ],
       q(njd) => [
-         q(4906),
+         q(4905),
          q(0),
          ],
       q(njh) => [
-         q(4907),
+         q(4906),
          q(0),
          ],
       q(nji) => [
-         q(4908),
+         q(4907),
          q(0),
          ],
       q(njj) => [
-         q(4909),
+         q(4908),
          q(0),
          ],
       q(njl) => [
-         q(4910),
+         q(4909),
          q(0),
          ],
       q(njm) => [
-         q(4911),
+         q(4910),
          q(0),
          ],
       q(njn) => [
-         q(4912),
+         q(4911),
          q(0),
          ],
       q(njo) => [
-         q(4913),
+         q(4912),
          q(0),
          ],
       q(njr) => [
-         q(4914),
+         q(4913),
          q(0),
          ],
       q(njs) => [
-         q(4915),
+         q(4914),
          q(0),
          ],
       q(njt) => [
-         q(4916),
+         q(4915),
          q(0),
          ],
       q(nju) => [
-         q(4917),
+         q(4916),
          q(0),
          ],
       q(njx) => [
-         q(4918),
+         q(4917),
          q(0),
          ],
       q(njy) => [
-         q(4919),
+         q(4918),
          q(0),
          ],
       q(njz) => [
-         q(4920),
+         q(4919),
          q(0),
          ],
       q(nka) => [
-         q(4921),
+         q(4920),
          q(0),
          ],
       q(nkb) => [
-         q(4922),
+         q(4921),
          q(0),
          ],
       q(nkc) => [
-         q(4923),
+         q(4922),
          q(0),
          ],
       q(nkd) => [
-         q(4924),
+         q(4923),
          q(0),
          ],
       q(nke) => [
-         q(4925),
+         q(4924),
          q(0),
          ],
       q(nkf) => [
-         q(4926),
+         q(4925),
          q(0),
          ],
       q(nkg) => [
-         q(4927),
+         q(4926),
          q(0),
          ],
       q(nkh) => [
-         q(4928),
+         q(4927),
          q(0),
          ],
       q(nki) => [
-         q(4929),
+         q(4928),
          q(0),
          ],
       q(nkj) => [
-         q(4930),
+         q(4929),
          q(0),
          ],
       q(nkk) => [
-         q(4931),
+         q(4930),
          q(0),
          ],
       q(nkm) => [
-         q(4932),
+         q(4931),
          q(0),
          ],
       q(nkn) => [
-         q(4933),
+         q(4932),
          q(0),
          ],
       q(nko) => [
-         q(4934),
+         q(4933),
          q(0),
          ],
       q(nkp) => [
-         q(4935),
+         q(4934),
          q(0),
          ],
       q(nkq) => [
-         q(4936),
+         q(4935),
          q(0),
          ],
       q(nkr) => [
-         q(4937),
+         q(4936),
          q(0),
          ],
       q(nks) => [
-         q(4938),
+         q(4937),
          q(0),
          ],
       q(nkt) => [
-         q(4939),
+         q(4938),
          q(0),
          ],
       q(nku) => [
-         q(4940),
+         q(4939),
          q(0),
          ],
       q(nkv) => [
-         q(4941),
+         q(4940),
          q(0),
          ],
       q(nkw) => [
-         q(4942),
+         q(4941),
          q(0),
          ],
       q(nkx) => [
-         q(4943),
+         q(4942),
          q(0),
          ],
       q(nkz) => [
-         q(4944),
+         q(4943),
          q(0),
          ],
       q(nla) => [
-         q(4945),
+         q(4944),
          q(0),
          ],
       q(nlc) => [
-         q(4946),
+         q(4945),
          q(0),
          ],
       q(nle) => [
-         q(4947),
+         q(4946),
          q(0),
          ],
       q(nlg) => [
-         q(4948),
+         q(4947),
          q(0),
          ],
       q(nli) => [
-         q(4949),
+         q(4948),
          q(0),
          ],
       q(nlj) => [
-         q(4950),
+         q(4949),
          q(0),
          ],
       q(nlk) => [
-         q(4951),
+         q(4950),
          q(0),
          ],
       q(nll) => [
-         q(4952),
+         q(4951),
          q(0),
          ],
       q(nlo) => [
-         q(4953),
+         q(4952),
          q(0),
          ],
       q(nlq) => [
-         q(4954),
+         q(4953),
          q(0),
          ],
       q(nlu) => [
-         q(4955),
+         q(4954),
          q(0),
          ],
       q(nlv) => [
-         q(4956),
+         q(4955),
          q(0),
          ],
       q(nlw) => [
-         q(4957),
+         q(4956),
          q(0),
          ],
       q(nlx) => [
-         q(4958),
+         q(4957),
          q(0),
          ],
       q(nly) => [
-         q(4959),
+         q(4958),
          q(0),
          ],
       q(nlz) => [
-         q(4960),
+         q(4959),
          q(0),
          ],
       q(nma) => [
-         q(4961),
+         q(4960),
          q(0),
          ],
       q(nmb) => [
-         q(4962),
+         q(4961),
          q(0),
          ],
       q(nmc) => [
-         q(4963),
+         q(4962),
          q(0),
          ],
       q(nmd) => [
-         q(4964),
+         q(4963),
          q(0),
          ],
       q(nme) => [
-         q(4965),
+         q(4964),
          q(0),
          ],
       q(nmf) => [
-         q(4966),
+         q(4965),
          q(0),
          ],
       q(nmg) => [
-         q(4967),
+         q(4966),
          q(0),
          ],
       q(nmh) => [
-         q(4968),
+         q(4967),
          q(0),
          ],
       q(nmi) => [
-         q(4969),
+         q(4968),
          q(0),
          ],
       q(nmj) => [
-         q(4970),
+         q(4969),
          q(0),
          ],
       q(nmk) => [
-         q(4971),
+         q(4970),
          q(0),
          ],
       q(nml) => [
-         q(4972),
+         q(4971),
          q(0),
          ],
       q(nmm) => [
-         q(4973),
+         q(4972),
          q(0),
          ],
       q(nmn) => [
-         q(4974),
+         q(4973),
          q(0),
          ],
       q(nmo) => [
-         q(4975),
+         q(4974),
          q(0),
          ],
       q(nmp) => [
-         q(4976),
+         q(4975),
          q(0),
          ],
       q(nmq) => [
-         q(4977),
+         q(4976),
          q(0),
          ],
       q(nmr) => [
-         q(4978),
+         q(4977),
          q(0),
          ],
       q(nms) => [
-         q(4979),
+         q(4978),
          q(0),
          ],
       q(nmt) => [
-         q(4980),
+         q(4979),
          q(0),
          ],
       q(nmu) => [
-         q(4981),
+         q(4980),
          q(0),
          ],
       q(nmv) => [
-         q(4982),
+         q(4981),
          q(0),
          ],
       q(nmw) => [
-         q(4983),
+         q(4982),
          q(0),
          ],
       q(nmx) => [
-         q(4984),
+         q(4983),
          q(0),
          ],
       q(nmy) => [
-         q(4985),
+         q(4984),
          q(0),
          ],
       q(nmz) => [
-         q(4986),
+         q(4985),
          q(0),
          ],
       q(nna) => [
-         q(4987),
+         q(4986),
          q(0),
          ],
       q(nnb) => [
-         q(4988),
+         q(4987),
          q(0),
          ],
       q(nnc) => [
-         q(4989),
+         q(4988),
          q(0),
          ],
       q(nnd) => [
-         q(4990),
+         q(4989),
          q(0),
          ],
       q(nne) => [
-         q(4991),
+         q(4990),
          q(0),
          ],
       q(nnf) => [
-         q(4992),
+         q(4991),
          q(0),
          ],
       q(nng) => [
-         q(4993),
+         q(4992),
          q(0),
          ],
       q(nnh) => [
-         q(4994),
+         q(4993),
          q(0),
          ],
       q(nni) => [
-         q(4995),
+         q(4994),
          q(0),
          ],
       q(nnj) => [
-         q(4996),
+         q(4995),
          q(0),
          ],
       q(nnk) => [
-         q(4997),
+         q(4996),
          q(0),
          ],
       q(nnl) => [
-         q(4998),
+         q(4997),
          q(0),
          ],
       q(nnm) => [
-         q(4999),
+         q(4998),
          q(0),
          ],
       q(nnn) => [
-         q(5000),
+         q(4999),
          q(0),
          ],
       q(nno) => [
@@ -77460,47 +77510,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nnp) => [
-         q(5001),
+         q(5000),
          q(0),
          ],
       q(nnq) => [
-         q(5002),
+         q(5001),
          q(0),
          ],
       q(nnr) => [
-         q(5003),
+         q(5002),
          q(0),
          ],
       q(nns) => [
-         q(5004),
+         q(5003),
          q(0),
          ],
       q(nnt) => [
-         q(5005),
+         q(5004),
          q(0),
          ],
       q(nnu) => [
-         q(5006),
+         q(5005),
          q(0),
          ],
       q(nnv) => [
-         q(5007),
+         q(5006),
          q(0),
          ],
       q(nnw) => [
-         q(5008),
+         q(5007),
          q(0),
          ],
       q(nny) => [
-         q(5009),
+         q(5008),
          q(0),
          ],
       q(nnz) => [
-         q(5010),
+         q(5009),
          q(0),
          ],
       q(noa) => [
-         q(5011),
+         q(5010),
          q(0),
          ],
       q(nob) => [
@@ -77508,19 +77558,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(noc) => [
-         q(5012),
+         q(5011),
          q(0),
          ],
       q(nod) => [
-         q(5013),
+         q(5012),
          q(0),
          ],
       q(noe) => [
-         q(5014),
+         q(5013),
          q(0),
          ],
       q(nof) => [
-         q(5015),
+         q(5014),
          q(0),
          ],
       q(nog) => [
@@ -77528,27 +77578,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(noh) => [
-         q(5016),
+         q(5015),
          q(0),
          ],
       q(noi) => [
-         q(5017),
+         q(5016),
          q(0),
          ],
       q(noj) => [
-         q(5018),
+         q(5017),
          q(0),
          ],
       q(nok) => [
-         q(5019),
+         q(5018),
          q(0),
          ],
       q(nol) => [
-         q(5020),
+         q(5019),
          q(0),
          ],
       q(nom) => [
-         q(5021),
+         q(5020),
          q(0),
          ],
       q(non) => [
@@ -77556,11 +77606,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(nop) => [
-         q(5022),
+         q(5021),
          q(0),
          ],
       q(noq) => [
-         q(5023),
+         q(5022),
          q(0),
          ],
       q(nor) => [
@@ -77568,91 +77618,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nos) => [
-         q(5024),
+         q(5023),
          q(0),
          ],
       q(not) => [
-         q(5025),
+         q(5024),
          q(0),
          ],
       q(nou) => [
-         q(5026),
+         q(5025),
          q(0),
          ],
       q(nov) => [
-         q(5027),
+         q(5026),
          q(0),
          ],
       q(now) => [
-         q(5028),
+         q(5027),
          q(0),
          ],
       q(noy) => [
-         q(5029),
+         q(5028),
          q(0),
          ],
       q(noz) => [
-         q(5030),
+         q(5029),
          q(0),
          ],
       q(npa) => [
-         q(5031),
+         q(5030),
          q(0),
          ],
       q(npb) => [
-         q(5032),
+         q(5031),
          q(0),
          ],
       q(npg) => [
-         q(5033),
+         q(5032),
          q(0),
          ],
       q(nph) => [
-         q(5034),
+         q(5033),
          q(0),
          ],
       q(npi) => [
-         q(5035),
+         q(5034),
          q(0),
          ],
       q(npl) => [
-         q(5036),
+         q(5035),
          q(0),
          ],
       q(npn) => [
-         q(5037),
+         q(5036),
          q(0),
          ],
       q(npo) => [
-         q(5038),
+         q(5037),
          q(0),
          ],
       q(nps) => [
-         q(5039),
+         q(5038),
          q(0),
          ],
       q(npu) => [
-         q(5040),
+         q(5039),
          q(0),
          ],
       q(npy) => [
-         q(5041),
+         q(5040),
          q(0),
          ],
       q(nqg) => [
-         q(5042),
+         q(5041),
          q(0),
          ],
       q(nqk) => [
-         q(5043),
+         q(5042),
          q(0),
          ],
       q(nqm) => [
-         q(5044),
+         q(5043),
          q(0),
          ],
       q(nqn) => [
-         q(5045),
+         q(5044),
          q(0),
          ],
       q(nqo) => [
@@ -77660,127 +77710,127 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nqq) => [
-         q(5046),
+         q(5045),
          q(0),
          ],
       q(nqy) => [
-         q(5047),
+         q(5046),
          q(0),
          ],
       q(nra) => [
-         q(5048),
+         q(5047),
          q(0),
          ],
       q(nrb) => [
-         q(5049),
+         q(5048),
          q(0),
          ],
       q(nrc) => [
-         q(5050),
+         q(5049),
          q(0),
          ],
       q(nre) => [
-         q(5051),
+         q(5050),
          q(0),
          ],
       q(nrf) => [
-         q(5052),
+         q(5051),
          q(0),
          ],
       q(nrg) => [
-         q(5053),
+         q(5052),
          q(0),
          ],
       q(nri) => [
-         q(5054),
+         q(5053),
          q(0),
          ],
       q(nrk) => [
-         q(5055),
+         q(5054),
          q(0),
          ],
       q(nrl) => [
-         q(5056),
+         q(5055),
          q(0),
          ],
       q(nrm) => [
-         q(5057),
+         q(5056),
          q(0),
          ],
       q(nrn) => [
-         q(5058),
+         q(5057),
          q(0),
          ],
       q(nrp) => [
-         q(5059),
+         q(5058),
          q(0),
          ],
       q(nrr) => [
-         q(5060),
+         q(5059),
          q(0),
          ],
       q(nrt) => [
-         q(5061),
+         q(5060),
          q(0),
          ],
       q(nru) => [
-         q(5062),
+         q(5061),
          q(0),
          ],
       q(nrx) => [
-         q(5063),
+         q(5062),
          q(0),
          ],
       q(nrz) => [
-         q(5064),
+         q(5063),
          q(0),
          ],
       q(nsa) => [
-         q(5065),
+         q(5064),
          q(0),
          ],
       q(nsc) => [
-         q(5066),
+         q(5065),
          q(0),
          ],
       q(nsd) => [
-         q(5067),
+         q(5066),
          q(0),
          ],
       q(nse) => [
-         q(5068),
+         q(5067),
          q(0),
          ],
       q(nsf) => [
-         q(5069),
+         q(5068),
          q(0),
          ],
       q(nsg) => [
-         q(5070),
+         q(5069),
          q(0),
          ],
       q(nsh) => [
-         q(5071),
+         q(5070),
          q(0),
          ],
       q(nsi) => [
-         q(5072),
+         q(5071),
          q(0),
          ],
       q(nsk) => [
-         q(5073),
+         q(5072),
          q(0),
          ],
       q(nsl) => [
-         q(5074),
+         q(5073),
          q(0),
          ],
       q(nsm) => [
-         q(5075),
+         q(5074),
          q(0),
          ],
       q(nsn) => [
-         q(5076),
+         q(5075),
          q(0),
          ],
       q(nso) => [
@@ -77788,111 +77838,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nsp) => [
-         q(5077),
+         q(5076),
          q(0),
          ],
       q(nsq) => [
-         q(5078),
+         q(5077),
          q(0),
          ],
       q(nsr) => [
-         q(5079),
+         q(5078),
          q(0),
          ],
       q(nss) => [
-         q(5080),
+         q(5079),
          q(0),
          ],
       q(nst) => [
-         q(5081),
+         q(5080),
          q(0),
          ],
       q(nsu) => [
-         q(5082),
+         q(5081),
          q(0),
          ],
       q(nsv) => [
-         q(5083),
+         q(5082),
          q(0),
          ],
       q(nsw) => [
-         q(5084),
+         q(5083),
          q(0),
          ],
       q(nsx) => [
-         q(5085),
+         q(5084),
          q(0),
          ],
       q(nsy) => [
-         q(5086),
+         q(5085),
          q(0),
          ],
       q(nsz) => [
-         q(5087),
+         q(5086),
          q(0),
          ],
       q(nte) => [
-         q(5088),
+         q(5087),
          q(0),
          ],
       q(ntg) => [
-         q(5089),
+         q(5088),
          q(0),
          ],
       q(nti) => [
-         q(5090),
+         q(5089),
          q(0),
          ],
       q(ntj) => [
-         q(5091),
+         q(5090),
          q(0),
          ],
       q(ntk) => [
-         q(5092),
+         q(5091),
          q(0),
          ],
       q(ntm) => [
-         q(5093),
+         q(5092),
          q(0),
          ],
       q(nto) => [
-         q(5094),
+         q(5093),
          q(0),
          ],
       q(ntp) => [
-         q(5095),
+         q(5094),
          q(0),
          ],
       q(ntr) => [
-         q(5096),
+         q(5095),
          q(0),
          ],
       q(nts) => [
-         q(5097),
+         q(5096),
          q(0),
          ],
       q(ntu) => [
-         q(5098),
+         q(5097),
          q(0),
          ],
       q(ntw) => [
-         q(5099),
+         q(5098),
          q(0),
          ],
       q(ntx) => [
-         q(5100),
+         q(5099),
          q(0),
          ],
       q(nty) => [
-         q(5101),
+         q(5100),
          q(0),
          ],
       q(ntz) => [
-         q(5102),
+         q(5101),
          q(0),
          ],
       q(nua) => [
-         q(5103),
+         q(5102),
          q(0),
          ],
       q(nub) => [
@@ -77900,119 +77950,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nuc) => [
-         q(5104),
+         q(5103),
          q(0),
          ],
       q(nud) => [
-         q(5105),
+         q(5104),
          q(0),
          ],
       q(nue) => [
-         q(5106),
+         q(5105),
          q(0),
          ],
       q(nuf) => [
-         q(5107),
+         q(5106),
          q(0),
          ],
       q(nug) => [
-         q(5108),
+         q(5107),
          q(0),
          ],
       q(nuh) => [
-         q(5109),
+         q(5108),
          q(0),
          ],
       q(nui) => [
-         q(5110),
+         q(5109),
          q(0),
          ],
       q(nuj) => [
-         q(5111),
+         q(5110),
          q(0),
          ],
       q(nuk) => [
-         q(5112),
+         q(5111),
          q(0),
          ],
       q(nul) => [
-         q(5113),
+         q(5112),
          q(0),
          ],
       q(num) => [
-         q(5114),
+         q(5113),
          q(0),
          ],
       q(nun) => [
-         q(5115),
+         q(5114),
          q(0),
          ],
       q(nuo) => [
-         q(5116),
+         q(5115),
          q(0),
          ],
       q(nup) => [
-         q(5117),
+         q(5116),
          q(0),
          ],
       q(nuq) => [
-         q(5118),
+         q(5117),
          q(0),
          ],
       q(nur) => [
-         q(5119),
+         q(5118),
          q(0),
          ],
       q(nus) => [
-         q(5120),
+         q(5119),
          q(0),
          ],
       q(nut) => [
-         q(5121),
+         q(5120),
          q(0),
          ],
       q(nuu) => [
-         q(5122),
+         q(5121),
          q(0),
          ],
       q(nuv) => [
-         q(5123),
+         q(5122),
          q(0),
          ],
       q(nuw) => [
-         q(5124),
+         q(5123),
          q(0),
          ],
       q(nux) => [
-         q(5125),
+         q(5124),
          q(0),
          ],
       q(nuy) => [
-         q(5126),
+         q(5125),
          q(0),
          ],
       q(nuz) => [
-         q(5127),
+         q(5126),
          q(0),
          ],
       q(nvh) => [
-         q(5128),
+         q(5127),
          q(0),
          ],
       q(nvm) => [
-         q(5129),
+         q(5128),
          q(0),
          ],
       q(nvo) => [
-         q(5130),
+         q(5129),
          q(0),
          ],
       q(nwa) => [
-         q(5131),
+         q(5130),
          q(0),
          ],
       q(nwb) => [
-         q(5132),
+         q(5131),
          q(0),
          ],
       q(nwc) => [
@@ -78020,91 +78070,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nwe) => [
-         q(5133),
+         q(5132),
          q(0),
          ],
       q(nwg) => [
-         q(5134),
+         q(5133),
          q(0),
          ],
       q(nwi) => [
-         q(5135),
+         q(5134),
          q(0),
          ],
       q(nwm) => [
-         q(5136),
+         q(5135),
          q(0),
          ],
       q(nwo) => [
-         q(5137),
+         q(5136),
          q(0),
          ],
       q(nwr) => [
-         q(5138),
+         q(5137),
          q(0),
          ],
       q(nwx) => [
-         q(5139),
+         q(5138),
          q(0),
          ],
       q(nwy) => [
-         q(5140),
+         q(5139),
          q(0),
          ],
       q(nxa) => [
-         q(5141),
+         q(5140),
          q(0),
          ],
       q(nxd) => [
-         q(5142),
+         q(5141),
          q(0),
          ],
       q(nxe) => [
-         q(5143),
+         q(5142),
          q(0),
          ],
       q(nxg) => [
-         q(5144),
+         q(5143),
          q(0),
          ],
       q(nxi) => [
-         q(5145),
+         q(5144),
          q(0),
          ],
       q(nxk) => [
-         q(5146),
+         q(5145),
          q(0),
          ],
       q(nxl) => [
-         q(5147),
+         q(5146),
          q(0),
          ],
       q(nxm) => [
-         q(5148),
+         q(5147),
          q(0),
          ],
       q(nxn) => [
-         q(5149),
+         q(5148),
          q(0),
          ],
       q(nxo) => [
-         q(5150),
+         q(5149),
          q(0),
          ],
       q(nxq) => [
-         q(5151),
+         q(5150),
          q(0),
          ],
       q(nxr) => [
-         q(5152),
+         q(5151),
          q(0),
          ],
       q(nxu) => [
-         q(5153),
+         q(5152),
          q(0),
          ],
       q(nxx) => [
-         q(5154),
+         q(5153),
          q(0),
          ],
       q(nya) => [
@@ -78112,47 +78162,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nyb) => [
-         q(5155),
+         q(5154),
          q(0),
          ],
       q(nyc) => [
-         q(5156),
+         q(5155),
          q(0),
          ],
       q(nyd) => [
-         q(5157),
+         q(5156),
          q(0),
          ],
       q(nye) => [
-         q(5158),
+         q(5157),
          q(0),
          ],
       q(nyf) => [
-         q(5159),
+         q(5158),
          q(0),
          ],
       q(nyg) => [
-         q(5160),
+         q(5159),
          q(0),
          ],
       q(nyh) => [
-         q(5161),
+         q(5160),
          q(0),
          ],
       q(nyi) => [
-         q(5162),
+         q(5161),
          q(0),
          ],
       q(nyj) => [
-         q(5163),
+         q(5162),
          q(0),
          ],
       q(nyk) => [
-         q(5164),
+         q(5163),
          q(0),
          ],
       q(nyl) => [
-         q(5165),
+         q(5164),
          q(0),
          ],
       q(nym) => [
@@ -78168,51 +78218,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nyp) => [
-         q(5166),
+         q(5165),
          q(0),
          ],
       q(nyq) => [
-         q(5167),
+         q(5166),
          q(0),
          ],
       q(nyr) => [
-         q(5168),
+         q(5167),
          q(0),
          ],
       q(nys) => [
-         q(5169),
+         q(5168),
          q(0),
          ],
       q(nyt) => [
-         q(5170),
+         q(5169),
          q(0),
          ],
       q(nyu) => [
-         q(5171),
+         q(5170),
          q(0),
          ],
       q(nyv) => [
-         q(5172),
+         q(5171),
          q(0),
          ],
       q(nyw) => [
-         q(5173),
+         q(5172),
          q(0),
          ],
       q(nyx) => [
-         q(5174),
+         q(5173),
          q(0),
          ],
       q(nyy) => [
-         q(5175),
+         q(5174),
          q(0),
          ],
       q(nza) => [
-         q(5176),
+         q(5175),
          q(0),
          ],
       q(nzb) => [
-         q(5177),
+         q(5176),
          q(0),
          ],
       q(nzi) => [
@@ -78220,83 +78270,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nzk) => [
-         q(5178),
+         q(5177),
          q(0),
          ],
       q(nzm) => [
-         q(5179),
+         q(5178),
          q(0),
          ],
       q(nzs) => [
-         q(5180),
+         q(5179),
          q(0),
          ],
       q(nzu) => [
-         q(5181),
+         q(5180),
          q(0),
          ],
       q(nzy) => [
-         q(5182),
+         q(5181),
          q(0),
          ],
       q(nzz) => [
-         q(5183),
+         q(5182),
          q(0),
          ],
       q(oaa) => [
-         q(5184),
+         q(5183),
          q(0),
          ],
       q(oac) => [
-         q(5185),
+         q(5184),
          q(0),
          ],
       q(oar) => [
-         q(5186),
+         q(5185),
          q(0),
          ],
       q(oav) => [
-         q(5187),
+         q(5186),
          q(0),
          ],
       q(obi) => [
-         q(5188),
+         q(5187),
          q(0),
          ],
       q(obk) => [
-         q(5189),
+         q(5188),
          q(0),
          ],
       q(obl) => [
-         q(5190),
+         q(5189),
          q(0),
          ],
       q(obm) => [
-         q(5191),
+         q(5190),
          q(0),
          ],
       q(obo) => [
-         q(5192),
+         q(5191),
          q(0),
          ],
       q(obr) => [
-         q(5193),
+         q(5192),
          q(0),
          ],
       q(obt) => [
-         q(5194),
+         q(5193),
          q(0),
          ],
       q(obu) => [
-         q(5195),
+         q(5194),
          q(0),
          ],
       q(oca) => [
-         q(5196),
+         q(5195),
          q(0),
          ],
       q(och) => [
-         q(5197),
+         q(5196),
          q(0),
          ],
       q(oci) => [
@@ -78304,91 +78354,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(oco) => [
-         q(5198),
+         q(5197),
          q(0),
          ],
       q(ocu) => [
-         q(5199),
+         q(5198),
          q(0),
          ],
       q(oda) => [
-         q(5200),
+         q(5199),
          q(0),
          ],
       q(odk) => [
-         q(5201),
+         q(5200),
          q(0),
          ],
       q(odt) => [
-         q(5202),
+         q(5201),
          q(0),
          ],
       q(odu) => [
-         q(5203),
+         q(5202),
          q(0),
          ],
       q(ofo) => [
-         q(5204),
+         q(5203),
          q(0),
          ],
       q(ofs) => [
-         q(5205),
+         q(5204),
          q(0),
          ],
       q(ofu) => [
-         q(5206),
+         q(5205),
          q(0),
          ],
       q(ogb) => [
-         q(5207),
+         q(5206),
          q(0),
          ],
       q(ogc) => [
-         q(5208),
+         q(5207),
          q(0),
          ],
       q(oge) => [
-         q(5209),
+         q(5208),
          q(0),
          ],
       q(ogg) => [
-         q(5210),
+         q(5209),
          q(0),
          ],
       q(ogo) => [
-         q(5211),
+         q(5210),
          q(0),
          ],
       q(ogu) => [
-         q(5212),
+         q(5211),
          q(0),
          ],
       q(oht) => [
-         q(5213),
+         q(5212),
          q(0),
          ],
       q(ohu) => [
-         q(5214),
+         q(5213),
          q(0),
          ],
       q(oia) => [
-         q(5215),
+         q(5214),
          q(0),
          ],
       q(oin) => [
-         q(5216),
+         q(5215),
          q(0),
          ],
       q(ojb) => [
-         q(5217),
+         q(5216),
          q(0),
          ],
       q(ojc) => [
-         q(5218),
+         q(5217),
          q(0),
          ],
       q(ojg) => [
-         q(5219),
+         q(5218),
          q(0),
          ],
       q(oji) => [
@@ -78396,167 +78446,167 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ojp) => [
-         q(5220),
+         q(5219),
          q(0),
          ],
       q(ojs) => [
-         q(5221),
+         q(5220),
          q(0),
          ],
       q(ojv) => [
-         q(5222),
+         q(5221),
          q(0),
          ],
       q(ojw) => [
-         q(5223),
+         q(5222),
          q(0),
          ],
       q(oka) => [
-         q(5224),
+         q(5223),
          q(0),
          ],
       q(okb) => [
-         q(5225),
+         q(5224),
          q(0),
          ],
       q(okd) => [
-         q(5226),
+         q(5225),
          q(0),
          ],
       q(oke) => [
-         q(5227),
+         q(5226),
          q(0),
          ],
       q(okg) => [
-         q(5228),
+         q(5227),
          q(0),
          ],
       q(okh) => [
-         q(5229),
+         q(5228),
          q(0),
          ],
       q(oki) => [
-         q(5230),
+         q(5229),
          q(0),
          ],
       q(okj) => [
-         q(5231),
+         q(5230),
          q(0),
          ],
       q(okk) => [
-         q(5232),
+         q(5231),
          q(0),
          ],
       q(okl) => [
-         q(5233),
+         q(5232),
          q(0),
          ],
       q(okm) => [
-         q(5234),
+         q(5233),
          q(0),
          ],
       q(okn) => [
-         q(5235),
+         q(5234),
          q(0),
          ],
       q(oko) => [
-         q(5236),
+         q(5235),
          q(0),
          ],
       q(okr) => [
-         q(5237),
+         q(5236),
          q(0),
          ],
       q(oks) => [
-         q(5238),
+         q(5237),
          q(0),
          ],
       q(oku) => [
-         q(5239),
+         q(5238),
          q(0),
          ],
       q(okv) => [
-         q(5240),
+         q(5239),
          q(0),
          ],
       q(okx) => [
-         q(5241),
+         q(5240),
          q(0),
          ],
       q(ola) => [
-         q(5242),
+         q(5241),
          q(0),
          ],
       q(old) => [
-         q(5243),
+         q(5242),
          q(0),
          ],
       q(ole) => [
-         q(5244),
+         q(5243),
          q(0),
          ],
       q(olk) => [
-         q(5245),
+         q(5244),
          q(0),
          ],
       q(olm) => [
-         q(5246),
+         q(5245),
          q(0),
          ],
       q(olo) => [
-         q(5247),
+         q(5246),
          q(0),
          ],
       q(olr) => [
-         q(5248),
+         q(5247),
          q(0),
          ],
       q(olt) => [
-         q(5249),
+         q(5248),
          q(0),
          ],
       q(oma) => [
-         q(5250),
+         q(5249),
          q(0),
          ],
       q(omb) => [
-         q(5251),
+         q(5250),
          q(0),
          ],
       q(omc) => [
-         q(5252),
+         q(5251),
          q(0),
          ],
       q(ome) => [
-         q(5253),
+         q(5252),
          q(0),
          ],
       q(omg) => [
-         q(5254),
+         q(5253),
          q(0),
          ],
       q(omi) => [
-         q(5255),
+         q(5254),
          q(0),
          ],
       q(omk) => [
-         q(5256),
+         q(5255),
          q(0),
          ],
       q(oml) => [
-         q(5257),
+         q(5256),
          q(0),
          ],
       q(omn) => [
-         q(5258),
+         q(5257),
          q(0),
          ],
       q(omo) => [
-         q(5259),
+         q(5258),
          q(0),
          ],
       q(omp) => [
-         q(5260),
+         q(5259),
          q(0),
          ],
       q(omq) => [
@@ -78564,15 +78614,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(omr) => [
-         q(5261),
+         q(5260),
          q(0),
          ],
       q(omt) => [
-         q(5262),
+         q(5261),
          q(0),
          ],
       q(omu) => [
-         q(5263),
+         q(5262),
          q(0),
          ],
       q(omv) => [
@@ -78580,139 +78630,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(omw) => [
-         q(5264),
+         q(5263),
          q(0),
          ],
       q(omx) => [
-         q(5265),
+         q(5264),
          q(0),
          ],
       q(ona) => [
-         q(5266),
+         q(5265),
          q(0),
          ],
       q(onb) => [
-         q(5267),
+         q(5266),
          q(0),
          ],
       q(one) => [
-         q(5268),
+         q(5267),
          q(0),
          ],
       q(ong) => [
-         q(5269),
+         q(5268),
          q(0),
          ],
       q(oni) => [
-         q(5270),
+         q(5269),
          q(0),
          ],
       q(onj) => [
-         q(5271),
+         q(5270),
          q(0),
          ],
       q(onk) => [
-         q(5272),
+         q(5271),
          q(0),
          ],
       q(onn) => [
-         q(5273),
+         q(5272),
          q(0),
          ],
       q(ono) => [
-         q(5274),
+         q(5273),
          q(0),
          ],
       q(onp) => [
-         q(5275),
+         q(5274),
          q(0),
          ],
       q(onr) => [
-         q(5276),
+         q(5275),
          q(0),
          ],
       q(ons) => [
-         q(5277),
+         q(5276),
          q(0),
          ],
       q(ont) => [
-         q(5278),
+         q(5277),
          q(0),
          ],
       q(onu) => [
-         q(5279),
+         q(5278),
          q(0),
          ],
       q(onw) => [
-         q(5280),
+         q(5279),
          q(0),
          ],
       q(onx) => [
-         q(5281),
+         q(5280),
          q(0),
          ],
       q(ood) => [
-         q(5282),
+         q(5281),
          q(0),
          ],
       q(oog) => [
-         q(5283),
+         q(5282),
          q(0),
          ],
       q(oon) => [
-         q(5284),
+         q(5283),
          q(0),
          ],
       q(oor) => [
-         q(5285),
+         q(5284),
          q(0),
          ],
       q(oos) => [
-         q(5286),
+         q(5285),
          q(0),
          ],
       q(opa) => [
-         q(5287),
+         q(5286),
          q(0),
          ],
       q(opk) => [
-         q(5288),
+         q(5287),
          q(0),
          ],
       q(opm) => [
-         q(5289),
+         q(5288),
          q(0),
          ],
       q(opo) => [
-         q(5290),
+         q(5289),
          q(0),
          ],
       q(opt) => [
-         q(5291),
+         q(5290),
          q(0),
          ],
       q(opy) => [
-         q(5292),
+         q(5291),
          q(0),
          ],
       q(ora) => [
-         q(5293),
+         q(5292),
          q(0),
          ],
       q(orc) => [
-         q(5294),
+         q(5293),
          q(0),
          ],
       q(ore) => [
-         q(5295),
+         q(5294),
          q(0),
          ],
       q(org) => [
-         q(5296),
+         q(5295),
          q(0),
          ],
       q(orh) => [
-         q(5297),
+         q(5296),
          q(0),
          ],
       q(ori) => [
@@ -78724,47 +78774,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(orn) => [
-         q(5298),
+         q(5297),
          q(0),
          ],
       q(oro) => [
-         q(5299),
+         q(5298),
          q(0),
          ],
       q(orr) => [
-         q(5300),
+         q(5299),
          q(0),
          ],
       q(ors) => [
-         q(5301),
+         q(5300),
          q(0),
          ],
       q(ort) => [
-         q(5302),
+         q(5301),
          q(0),
          ],
       q(oru) => [
-         q(5303),
+         q(5302),
          q(0),
          ],
       q(orv) => [
-         q(5304),
+         q(5303),
          q(0),
          ],
       q(orw) => [
-         q(5305),
+         q(5304),
          q(0),
          ],
       q(orx) => [
-         q(5306),
+         q(5305),
          q(0),
          ],
       q(ory) => [
-         q(5307),
+         q(5306),
          q(0),
          ],
       q(orz) => [
-         q(5308),
+         q(5307),
          q(0),
          ],
       q(osa) => [
@@ -78772,19 +78822,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(osc) => [
-         q(5309),
+         q(5308),
          q(0),
          ],
       q(osi) => [
-         q(5310),
+         q(5309),
          q(0),
          ],
       q(oso) => [
-         q(5311),
+         q(5310),
          q(0),
          ],
       q(osp) => [
-         q(5312),
+         q(5311),
          q(0),
          ],
       q(oss) => [
@@ -78792,15 +78842,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ost) => [
-         q(5313),
+         q(5312),
          q(0),
          ],
       q(osu) => [
-         q(5314),
+         q(5313),
          q(0),
          ],
       q(osx) => [
-         q(5315),
+         q(5314),
          q(0),
          ],
       q(ota) => [
@@ -78808,35 +78858,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(otb) => [
-         q(5316),
+         q(5315),
          q(0),
          ],
       q(otd) => [
-         q(5317),
+         q(5316),
          q(0),
          ],
       q(ote) => [
-         q(5318),
+         q(5317),
          q(0),
          ],
       q(oti) => [
-         q(5319),
+         q(5318),
          q(0),
          ],
       q(otk) => [
-         q(5320),
+         q(5319),
          q(0),
          ],
       q(otl) => [
-         q(5321),
+         q(5320),
          q(0),
          ],
       q(otm) => [
-         q(5322),
+         q(5321),
          q(0),
          ],
       q(otn) => [
-         q(5323),
+         q(5322),
          q(0),
          ],
       q(oto) => [
@@ -78844,87 +78894,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(otq) => [
-         q(5324),
+         q(5323),
          q(0),
          ],
       q(otr) => [
-         q(5325),
+         q(5324),
          q(0),
          ],
       q(ots) => [
-         q(5326),
+         q(5325),
          q(0),
          ],
       q(ott) => [
-         q(5327),
+         q(5326),
          q(0),
          ],
       q(otu) => [
-         q(5328),
+         q(5327),
          q(0),
          ],
       q(otw) => [
-         q(5329),
+         q(5328),
          q(0),
          ],
       q(otx) => [
-         q(5330),
+         q(5329),
          q(0),
          ],
       q(oty) => [
-         q(5331),
+         q(5330),
          q(0),
          ],
       q(otz) => [
-         q(5332),
+         q(5331),
          q(0),
          ],
       q(oua) => [
-         q(5333),
+         q(5332),
          q(0),
          ],
       q(oub) => [
-         q(5334),
+         q(5333),
          q(0),
          ],
       q(oue) => [
-         q(5335),
+         q(5334),
          q(0),
          ],
       q(oui) => [
-         q(5336),
+         q(5335),
          q(0),
          ],
       q(oum) => [
-         q(5337),
+         q(5336),
          q(0),
          ],
       q(owi) => [
-         q(5338),
+         q(5337),
          q(0),
          ],
       q(owl) => [
-         q(5339),
+         q(5338),
          q(0),
          ],
       q(oyb) => [
-         q(5340),
+         q(5339),
          q(0),
          ],
       q(oyd) => [
-         q(5341),
+         q(5340),
          q(0),
          ],
       q(oym) => [
-         q(5342),
+         q(5341),
          q(0),
          ],
       q(oyy) => [
-         q(5343),
+         q(5342),
          q(0),
          ],
       q(ozm) => [
-         q(5344),
+         q(5343),
          q(0),
          ],
       q(paa) => [
@@ -78932,23 +78982,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pab) => [
-         q(5345),
+         q(5344),
          q(0),
          ],
       q(pac) => [
-         q(5346),
+         q(5345),
          q(0),
          ],
       q(pad) => [
-         q(5347),
+         q(5346),
          q(0),
          ],
       q(pae) => [
-         q(5348),
+         q(5347),
          q(0),
          ],
       q(paf) => [
-         q(5349),
+         q(5348),
          q(0),
          ],
       q(pag) => [
@@ -78956,15 +79006,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pah) => [
-         q(5350),
+         q(5349),
          q(0),
          ],
       q(pai) => [
-         q(5351),
+         q(5350),
          q(0),
          ],
       q(pak) => [
-         q(5352),
+         q(5351),
          q(0),
          ],
       q(pal) => [
@@ -78980,7 +79030,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pao) => [
-         q(5353),
+         q(5352),
          q(0),
          ],
       q(pap) => [
@@ -78988,19 +79038,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(paq) => [
-         q(5354),
+         q(5353),
          q(0),
          ],
       q(par) => [
-         q(5355),
+         q(5354),
          q(0),
          ],
       q(pas) => [
-         q(5356),
+         q(5355),
          q(0),
          ],
       q(pat) => [
-         q(5357),
+         q(5356),
          q(0),
          ],
       q(pau) => [
@@ -79008,231 +79058,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pav) => [
-         q(5358),
+         q(5357),
          q(0),
          ],
       q(paw) => [
-         q(5359),
+         q(5358),
          q(0),
          ],
       q(pax) => [
-         q(5360),
+         q(5359),
          q(0),
          ],
       q(pay) => [
-         q(5361),
+         q(5360),
          q(0),
          ],
       q(paz) => [
-         q(5362),
+         q(5361),
          q(0),
          ],
       q(pbb) => [
-         q(5363),
+         q(5362),
          q(0),
          ],
       q(pbc) => [
-         q(5364),
+         q(5363),
          q(0),
          ],
       q(pbe) => [
-         q(5365),
+         q(5364),
          q(0),
          ],
       q(pbf) => [
-         q(5366),
+         q(5365),
          q(0),
          ],
       q(pbg) => [
-         q(5367),
+         q(5366),
          q(0),
          ],
       q(pbh) => [
-         q(5368),
+         q(5367),
          q(0),
          ],
       q(pbi) => [
-         q(5369),
+         q(5368),
          q(0),
          ],
       q(pbl) => [
-         q(5370),
+         q(5369),
          q(0),
          ],
       q(pbn) => [
-         q(5371),
+         q(5370),
          q(0),
          ],
       q(pbo) => [
-         q(5372),
+         q(5371),
          q(0),
          ],
       q(pbp) => [
-         q(5373),
+         q(5372),
          q(0),
          ],
       q(pbr) => [
-         q(5374),
+         q(5373),
          q(0),
          ],
       q(pbs) => [
-         q(5375),
+         q(5374),
          q(0),
          ],
       q(pbt) => [
-         q(5376),
+         q(5375),
          q(0),
          ],
       q(pbu) => [
-         q(5377),
+         q(5376),
          q(0),
          ],
       q(pbv) => [
-         q(5378),
+         q(5377),
          q(0),
          ],
       q(pby) => [
-         q(5379),
+         q(5378),
          q(0),
          ],
       q(pca) => [
-         q(5380),
+         q(5379),
          q(0),
          ],
       q(pcb) => [
-         q(5381),
+         q(5380),
          q(0),
          ],
       q(pcc) => [
-         q(5382),
+         q(5381),
          q(0),
          ],
       q(pcd) => [
-         q(5383),
+         q(5382),
          q(0),
          ],
       q(pce) => [
-         q(5384),
+         q(5383),
          q(0),
          ],
       q(pcf) => [
-         q(5385),
+         q(5384),
          q(0),
          ],
       q(pcg) => [
-         q(5386),
+         q(5385),
          q(0),
          ],
       q(pch) => [
-         q(5387),
+         q(5386),
          q(0),
          ],
       q(pci) => [
-         q(5388),
+         q(5387),
          q(0),
          ],
       q(pcj) => [
-         q(5389),
+         q(5388),
          q(0),
          ],
       q(pck) => [
-         q(5390),
+         q(5389),
          q(0),
          ],
       q(pcl) => [
-         q(5391),
+         q(5390),
          q(0),
          ],
       q(pcm) => [
-         q(5392),
+         q(5391),
          q(0),
          ],
       q(pcn) => [
-         q(5393),
+         q(5392),
          q(0),
          ],
       q(pcp) => [
-         q(5394),
+         q(5393),
          q(0),
          ],
       q(pcw) => [
-         q(5395),
+         q(5394),
          q(0),
          ],
       q(pda) => [
-         q(5396),
+         q(5395),
          q(0),
          ],
       q(pdc) => [
-         q(5397),
+         q(5396),
          q(0),
          ],
       q(pdi) => [
-         q(5398),
+         q(5397),
          q(0),
          ],
       q(pdn) => [
-         q(5399),
+         q(5398),
          q(0),
          ],
       q(pdo) => [
-         q(5400),
+         q(5399),
          q(0),
          ],
       q(pdt) => [
-         q(5401),
+         q(5400),
          q(0),
          ],
       q(pdu) => [
-         q(5402),
+         q(5401),
          q(0),
          ],
       q(pea) => [
-         q(5403),
+         q(5402),
          q(0),
          ],
       q(peb) => [
-         q(5404),
+         q(5403),
          q(0),
          ],
       q(ped) => [
-         q(5405),
+         q(5404),
          q(0),
          ],
       q(pee) => [
-         q(5406),
+         q(5405),
          q(0),
          ],
       q(pef) => [
-         q(5407),
+         q(5406),
          q(0),
          ],
       q(peg) => [
-         q(5408),
+         q(5407),
          q(0),
          ],
       q(peh) => [
-         q(5409),
+         q(5408),
          q(0),
          ],
       q(pei) => [
-         q(5410),
+         q(5409),
          q(0),
          ],
       q(pej) => [
-         q(5411),
+         q(5410),
          q(0),
          ],
       q(pek) => [
-         q(5412),
+         q(5411),
          q(0),
          ],
       q(pel) => [
-         q(5413),
+         q(5412),
          q(0),
          ],
       q(pem) => [
-         q(5414),
+         q(5413),
          q(0),
          ],
       q(peo) => [
@@ -79240,11 +79290,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(pep) => [
-         q(5415),
+         q(5414),
          q(0),
          ],
       q(peq) => [
-         q(5416),
+         q(5415),
          q(0),
          ],
       q(per) => [
@@ -79252,87 +79302,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pes) => [
-         q(5417),
+         q(5416),
          q(0),
          ],
       q(pev) => [
-         q(5418),
+         q(5417),
          q(0),
          ],
       q(pex) => [
-         q(5419),
+         q(5418),
          q(0),
          ],
       q(pey) => [
-         q(5420),
+         q(5419),
          q(0),
          ],
       q(pez) => [
-         q(5421),
+         q(5420),
          q(0),
          ],
       q(pfa) => [
-         q(5422),
+         q(5421),
          q(0),
          ],
       q(pfe) => [
-         q(5423),
+         q(5422),
          q(0),
          ],
       q(pfl) => [
-         q(5424),
+         q(5423),
          q(0),
          ],
       q(pga) => [
-         q(5425),
+         q(5424),
          q(0),
          ],
       q(pgd) => [
-         q(5426),
+         q(5425),
          q(0),
          ],
       q(pgg) => [
-         q(5427),
+         q(5426),
          q(0),
          ],
       q(pgi) => [
-         q(5428),
+         q(5427),
          q(0),
          ],
       q(pgk) => [
-         q(5429),
+         q(5428),
          q(0),
          ],
       q(pgl) => [
-         q(5430),
+         q(5429),
          q(0),
          ],
       q(pgn) => [
-         q(5431),
+         q(5430),
          q(0),
          ],
       q(pgs) => [
-         q(5432),
+         q(5431),
          q(0),
          ],
       q(pgu) => [
-         q(5433),
+         q(5432),
          q(0),
          ],
       q(pha) => [
-         q(5434),
+         q(5433),
          q(0),
          ],
       q(phd) => [
-         q(5435),
+         q(5434),
          q(0),
          ],
       q(phg) => [
-         q(5436),
+         q(5435),
          q(0),
          ],
       q(phh) => [
-         q(5437),
+         q(5436),
          q(0),
          ],
       q(phi) => [
@@ -79340,15 +79390,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(phk) => [
-         q(5438),
+         q(5437),
          q(0),
          ],
       q(phl) => [
-         q(5439),
+         q(5438),
          q(0),
          ],
       q(phm) => [
-         q(5440),
+         q(5439),
          q(0),
          ],
       q(phn) => [
@@ -79356,199 +79406,199 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pho) => [
-         q(5441),
+         q(5440),
          q(0),
          ],
       q(phq) => [
-         q(5442),
+         q(5441),
          q(0),
          ],
       q(phr) => [
-         q(5443),
+         q(5442),
          q(0),
          ],
       q(pht) => [
-         q(5444),
+         q(5443),
          q(0),
          ],
       q(phu) => [
-         q(5445),
+         q(5444),
          q(0),
          ],
       q(phv) => [
-         q(5446),
+         q(5445),
          q(0),
          ],
       q(phw) => [
-         q(5447),
+         q(5446),
          q(0),
          ],
       q(pia) => [
-         q(5448),
+         q(5447),
          q(0),
          ],
       q(pib) => [
-         q(5449),
+         q(5448),
          q(0),
          ],
       q(pic) => [
-         q(5450),
+         q(5449),
          q(0),
          ],
       q(pid) => [
-         q(5451),
+         q(5450),
          q(0),
          ],
       q(pie) => [
-         q(5452),
+         q(5451),
          q(0),
          ],
       q(pif) => [
-         q(5453),
+         q(5452),
          q(0),
          ],
       q(pig) => [
-         q(5454),
+         q(5453),
          q(0),
          ],
       q(pih) => [
-         q(5455),
+         q(5454),
          q(0),
          ],
       q(pii) => [
-         q(5456),
+         q(5455),
          q(0),
          ],
       q(pij) => [
-         q(5457),
+         q(5456),
          q(0),
          ],
       q(pil) => [
-         q(5458),
+         q(5457),
          q(0),
          ],
       q(pim) => [
-         q(5459),
+         q(5458),
          q(0),
          ],
       q(pin) => [
-         q(5460),
+         q(5459),
          q(0),
          ],
       q(pio) => [
-         q(5461),
+         q(5460),
          q(0),
          ],
       q(pip) => [
-         q(5462),
+         q(5461),
          q(0),
          ],
       q(pir) => [
-         q(5463),
+         q(5462),
          q(0),
          ],
       q(pis) => [
-         q(5464),
+         q(5463),
          q(0),
          ],
       q(pit) => [
-         q(5465),
+         q(5464),
          q(0),
          ],
       q(piu) => [
-         q(5466),
+         q(5465),
          q(0),
          ],
       q(piv) => [
-         q(5467),
+         q(5466),
          q(0),
          ],
       q(piw) => [
-         q(5468),
+         q(5467),
          q(0),
          ],
       q(pix) => [
-         q(5469),
+         q(5468),
          q(0),
          ],
       q(piy) => [
-         q(5470),
+         q(5469),
          q(0),
          ],
       q(piz) => [
-         q(5471),
+         q(5470),
          q(0),
          ],
       q(pjt) => [
-         q(5472),
+         q(5471),
          q(0),
          ],
       q(pka) => [
-         q(5473),
+         q(5472),
          q(0),
          ],
       q(pkb) => [
-         q(5474),
+         q(5473),
          q(0),
          ],
       q(pkc) => [
-         q(5475),
+         q(5474),
          q(0),
          ],
       q(pkg) => [
-         q(5476),
+         q(5475),
          q(0),
          ],
       q(pkh) => [
-         q(5477),
+         q(5476),
          q(0),
          ],
       q(pkn) => [
-         q(5478),
+         q(5477),
          q(0),
          ],
       q(pko) => [
-         q(5479),
+         q(5478),
          q(0),
          ],
       q(pkp) => [
-         q(5480),
+         q(5479),
          q(0),
          ],
       q(pkr) => [
-         q(5481),
+         q(5480),
          q(0),
          ],
       q(pks) => [
-         q(5482),
+         q(5481),
          q(0),
          ],
       q(pkt) => [
-         q(5483),
+         q(5482),
          q(0),
          ],
       q(pku) => [
-         q(5484),
+         q(5483),
          q(0),
          ],
       q(pla) => [
-         q(5485),
+         q(5484),
          q(0),
          ],
       q(plb) => [
-         q(5486),
+         q(5485),
          q(0),
          ],
       q(plc) => [
-         q(5487),
+         q(5486),
          q(0),
          ],
       q(pld) => [
-         q(5488),
+         q(5487),
          q(0),
          ],
       q(ple) => [
-         q(5489),
+         q(5488),
          q(0),
          ],
       q(plf) => [
@@ -79556,11 +79606,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(plg) => [
-         q(5490),
+         q(5489),
          q(0),
          ],
       q(plh) => [
-         q(5491),
+         q(5490),
          q(0),
          ],
       q(pli) => [
@@ -79568,279 +79618,279 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(plj) => [
-         q(5492),
+         q(5491),
          q(0),
          ],
       q(plk) => [
-         q(5493),
+         q(5492),
          q(0),
          ],
       q(pll) => [
-         q(5494),
+         q(5493),
          q(0),
          ],
       q(pln) => [
-         q(5495),
+         q(5494),
          q(0),
          ],
       q(plo) => [
-         q(5496),
+         q(5495),
          q(0),
          ],
       q(plp) => [
-         q(5497),
+         q(5496),
          q(0),
          ],
       q(plq) => [
-         q(5498),
+         q(5497),
          q(0),
          ],
       q(plr) => [
-         q(5499),
+         q(5498),
          q(0),
          ],
       q(pls) => [
-         q(5500),
+         q(5499),
          q(0),
          ],
       q(plt) => [
-         q(5501),
+         q(5500),
          q(0),
          ],
       q(plu) => [
-         q(5502),
+         q(5501),
          q(0),
          ],
       q(plv) => [
-         q(5503),
+         q(5502),
          q(0),
          ],
       q(plw) => [
-         q(5504),
+         q(5503),
          q(0),
          ],
       q(ply) => [
-         q(5505),
+         q(5504),
          q(0),
          ],
       q(plz) => [
-         q(5506),
+         q(5505),
          q(0),
          ],
       q(pma) => [
-         q(5507),
+         q(5506),
          q(0),
          ],
       q(pmb) => [
-         q(5508),
+         q(5507),
          q(0),
          ],
       q(pmc) => [
-         q(5509),
+         q(5508),
          q(0),
          ],
       q(pmd) => [
-         q(5510),
+         q(5509),
          q(0),
          ],
       q(pme) => [
-         q(5511),
+         q(5510),
          q(0),
          ],
       q(pmf) => [
-         q(5512),
+         q(5511),
          q(0),
          ],
       q(pmh) => [
-         q(5513),
+         q(5512),
          q(0),
          ],
       q(pmi) => [
-         q(5514),
+         q(5513),
          q(0),
          ],
       q(pmj) => [
-         q(5515),
+         q(5514),
          q(0),
          ],
       q(pmk) => [
-         q(5516),
+         q(5515),
          q(0),
          ],
       q(pml) => [
-         q(5517),
+         q(5516),
          q(0),
          ],
       q(pmm) => [
-         q(5518),
+         q(5517),
          q(0),
          ],
       q(pmn) => [
-         q(5519),
+         q(5518),
          q(0),
          ],
       q(pmo) => [
-         q(5520),
+         q(5519),
          q(0),
          ],
       q(pmq) => [
-         q(5521),
+         q(5520),
          q(0),
          ],
       q(pmr) => [
-         q(5522),
+         q(5521),
          q(0),
          ],
       q(pms) => [
-         q(5523),
+         q(5522),
          q(0),
          ],
       q(pmt) => [
-         q(5524),
+         q(5523),
          q(0),
          ],
       q(pmw) => [
-         q(5525),
+         q(5524),
          q(0),
          ],
       q(pmx) => [
-         q(5526),
+         q(5525),
          q(0),
          ],
       q(pmy) => [
-         q(5527),
+         q(5526),
          q(0),
          ],
       q(pmz) => [
-         q(5528),
+         q(5527),
          q(0),
          ],
       q(pna) => [
-         q(5529),
+         q(5528),
          q(0),
          ],
       q(pnb) => [
-         q(5530),
+         q(5529),
          q(0),
          ],
       q(pnc) => [
-         q(5531),
+         q(5530),
          q(0),
          ],
       q(pne) => [
-         q(5532),
+         q(5531),
          q(0),
          ],
       q(png) => [
-         q(5533),
+         q(5532),
          q(0),
          ],
       q(pnh) => [
-         q(5534),
+         q(5533),
          q(0),
          ],
       q(pni) => [
-         q(5535),
+         q(5534),
          q(0),
          ],
       q(pnj) => [
-         q(5536),
+         q(5535),
          q(0),
          ],
       q(pnk) => [
-         q(5537),
+         q(5536),
          q(0),
          ],
       q(pnl) => [
-         q(5538),
+         q(5537),
          q(0),
          ],
       q(pnm) => [
-         q(5539),
+         q(5538),
          q(0),
          ],
       q(pnn) => [
-         q(5540),
+         q(5539),
          q(0),
          ],
       q(pno) => [
-         q(5541),
+         q(5540),
          q(0),
          ],
       q(pnp) => [
-         q(5542),
+         q(5541),
          q(0),
          ],
       q(pnq) => [
-         q(5543),
+         q(5542),
          q(0),
          ],
       q(pnr) => [
-         q(5544),
+         q(5543),
          q(0),
          ],
       q(pns) => [
-         q(5545),
+         q(5544),
          q(0),
          ],
       q(pnt) => [
-         q(5546),
+         q(5545),
          q(0),
          ],
       q(pnu) => [
-         q(5547),
+         q(5546),
          q(0),
          ],
       q(pnv) => [
-         q(5548),
+         q(5547),
          q(0),
          ],
       q(pnw) => [
-         q(5549),
+         q(5548),
          q(0),
          ],
       q(pnx) => [
-         q(5550),
+         q(5549),
          q(0),
          ],
       q(pny) => [
-         q(5551),
+         q(5550),
          q(0),
          ],
       q(pnz) => [
-         q(5552),
+         q(5551),
          q(0),
          ],
       q(poc) => [
-         q(5553),
+         q(5552),
          q(0),
          ],
       q(pod) => [
-         q(5554),
+         q(5553),
          q(0),
          ],
       q(poe) => [
-         q(5555),
+         q(5554),
          q(0),
          ],
       q(pof) => [
-         q(5556),
+         q(5555),
          q(0),
          ],
       q(pog) => [
-         q(5557),
+         q(5556),
          q(0),
          ],
       q(poh) => [
-         q(5558),
+         q(5557),
          q(0),
          ],
       q(poi) => [
-         q(5559),
+         q(5558),
          q(0),
          ],
       q(pok) => [
-         q(5560),
+         q(5559),
          q(0),
          ],
       q(pol) => [
@@ -79848,7 +79898,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pom) => [
-         q(5561),
+         q(5560),
          q(0),
          ],
       q(pon) => [
@@ -79856,15 +79906,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(poo) => [
-         q(5562),
+         q(5561),
          q(0),
          ],
       q(pop) => [
-         q(5563),
+         q(5562),
          q(0),
          ],
       q(poq) => [
-         q(5564),
+         q(5563),
          q(0),
          ],
       q(por) => [
@@ -79872,27 +79922,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pos) => [
-         q(5565),
+         q(5564),
          q(0),
          ],
       q(pot) => [
-         q(5566),
+         q(5565),
          q(0),
          ],
       q(pov) => [
-         q(5567),
+         q(5566),
          q(0),
          ],
       q(pow) => [
-         q(5568),
+         q(5567),
          q(0),
          ],
       q(pox) => [
-         q(5569),
+         q(5568),
          q(0),
          ],
       q(poy) => [
-         q(5570),
+         q(5569),
          q(0),
          ],
       q(poz) => [
@@ -79900,59 +79950,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ppa) => [
-         q(5571),
+         q(5570),
          q(0),
          ],
       q(ppe) => [
-         q(5572),
+         q(5571),
          q(0),
          ],
       q(ppi) => [
-         q(5573),
+         q(5572),
          q(0),
          ],
       q(ppk) => [
-         q(5574),
+         q(5573),
          q(0),
          ],
       q(ppl) => [
-         q(5575),
+         q(5574),
          q(0),
          ],
       q(ppm) => [
-         q(5576),
+         q(5575),
          q(0),
          ],
       q(ppn) => [
-         q(5577),
+         q(5576),
          q(0),
          ],
       q(ppo) => [
-         q(5578),
+         q(5577),
          q(0),
          ],
       q(ppp) => [
-         q(5579),
+         q(5578),
          q(0),
          ],
       q(ppq) => [
-         q(5580),
+         q(5579),
          q(0),
          ],
       q(pps) => [
-         q(5581),
+         q(5580),
          q(0),
          ],
       q(ppt) => [
-         q(5582),
+         q(5581),
          q(0),
          ],
       q(ppu) => [
-         q(5583),
+         q(5582),
          q(0),
          ],
       q(pqa) => [
-         q(5584),
+         q(5583),
          q(0),
          ],
       q(pqe) => [
@@ -79960,7 +80010,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pqm) => [
-         q(5585),
+         q(5584),
          q(0),
          ],
       q(pqw) => [
@@ -79972,51 +80022,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(prb) => [
-         q(5586),
+         q(5585),
          q(0),
          ],
       q(prc) => [
-         q(5587),
+         q(5586),
          q(0),
          ],
       q(prd) => [
-         q(5588),
+         q(5587),
          q(0),
          ],
       q(pre) => [
-         q(5589),
+         q(5588),
          q(0),
          ],
       q(prf) => [
-         q(5590),
+         q(5589),
          q(0),
          ],
       q(prg) => [
-         q(5591),
+         q(5590),
          q(0),
          ],
       q(prh) => [
-         q(5592),
+         q(5591),
          q(0),
          ],
       q(pri) => [
-         q(5593),
+         q(5592),
          q(0),
          ],
       q(prk) => [
-         q(5594),
+         q(5593),
          q(0),
          ],
       q(prl) => [
-         q(5595),
+         q(5594),
          q(0),
          ],
       q(prm) => [
-         q(5596),
+         q(5595),
          q(0),
          ],
       q(prn) => [
-         q(5597),
+         q(5596),
          q(0),
          ],
       q(pro) => [
@@ -80024,231 +80074,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(prp) => [
-         q(5598),
+         q(5597),
          q(0),
          ],
       q(prq) => [
-         q(5599),
+         q(5598),
          q(0),
          ],
       q(prr) => [
-         q(5600),
+         q(5599),
          q(0),
          ],
       q(prs) => [
-         q(5601),
+         q(5600),
          q(0),
          ],
       q(prt) => [
-         q(5602),
+         q(5601),
          q(0),
          ],
       q(pru) => [
-         q(5603),
+         q(5602),
          q(0),
          ],
       q(prw) => [
-         q(5604),
+         q(5603),
          q(0),
          ],
       q(prx) => [
-         q(5605),
+         q(5604),
          q(0),
          ],
       q(pry) => [
-         q(5606),
+         q(5605),
          q(0),
          ],
       q(prz) => [
-         q(5607),
+         q(5606),
          q(0),
          ],
       q(psa) => [
-         q(5608),
+         q(5607),
          q(0),
          ],
       q(psc) => [
-         q(5609),
+         q(5608),
          q(0),
          ],
       q(psd) => [
-         q(5610),
+         q(5609),
          q(0),
          ],
       q(pse) => [
-         q(5611),
+         q(5610),
          q(0),
          ],
       q(psg) => [
-         q(5612),
+         q(5611),
          q(0),
          ],
       q(psh) => [
-         q(5613),
+         q(5612),
          q(0),
          ],
       q(psi) => [
-         q(5614),
+         q(5613),
          q(0),
          ],
       q(psl) => [
-         q(5615),
+         q(5614),
          q(0),
          ],
       q(psm) => [
-         q(5616),
+         q(5615),
          q(0),
          ],
       q(psn) => [
-         q(5617),
+         q(5616),
          q(0),
          ],
       q(pso) => [
-         q(5618),
+         q(5617),
          q(0),
          ],
       q(psp) => [
-         q(5619),
+         q(5618),
          q(0),
          ],
       q(psq) => [
-         q(5620),
+         q(5619),
          q(0),
          ],
       q(psr) => [
-         q(5621),
+         q(5620),
          q(0),
          ],
       q(pss) => [
-         q(5622),
+         q(5621),
          q(0),
          ],
       q(pst) => [
-         q(5623),
+         q(5622),
          q(0),
          ],
       q(psu) => [
-         q(5624),
+         q(5623),
          q(0),
          ],
       q(psw) => [
-         q(5625),
+         q(5624),
          q(0),
          ],
       q(psy) => [
-         q(5626),
+         q(5625),
          q(0),
          ],
       q(pta) => [
-         q(5627),
+         q(5626),
          q(0),
          ],
       q(pth) => [
-         q(5628),
+         q(5627),
          q(0),
          ],
       q(pti) => [
-         q(5629),
+         q(5628),
          q(0),
          ],
       q(ptn) => [
-         q(5630),
+         q(5629),
          q(0),
          ],
       q(pto) => [
-         q(5631),
+         q(5630),
          q(0),
          ],
       q(ptp) => [
-         q(5632),
+         q(5631),
          q(0),
          ],
       q(ptq) => [
-         q(5633),
+         q(5632),
          q(0),
          ],
       q(ptr) => [
-         q(5634),
+         q(5633),
          q(0),
          ],
       q(ptt) => [
-         q(5635),
+         q(5634),
          q(0),
          ],
       q(ptu) => [
-         q(5636),
+         q(5635),
          q(0),
          ],
       q(ptv) => [
-         q(5637),
+         q(5636),
          q(0),
          ],
       q(ptw) => [
-         q(5638),
+         q(5637),
          q(0),
          ],
       q(pty) => [
-         q(5639),
+         q(5638),
          q(0),
          ],
       q(pua) => [
-         q(5640),
+         q(5639),
          q(0),
          ],
       q(pub) => [
-         q(5641),
+         q(5640),
          q(0),
          ],
       q(puc) => [
-         q(5642),
+         q(5641),
          q(0),
          ],
       q(pud) => [
-         q(5643),
+         q(5642),
          q(0),
          ],
       q(pue) => [
-         q(5644),
+         q(5643),
          q(0),
          ],
       q(puf) => [
-         q(5645),
+         q(5644),
          q(0),
          ],
       q(pug) => [
-         q(5646),
+         q(5645),
          q(0),
          ],
       q(pui) => [
-         q(5647),
+         q(5646),
          q(0),
          ],
       q(puj) => [
-         q(5648),
+         q(5647),
          q(0),
          ],
       q(puk) => [
-         q(5649),
+         q(5648),
          q(0),
          ],
       q(pum) => [
-         q(5650),
+         q(5649),
          q(0),
          ],
       q(puo) => [
-         q(5651),
+         q(5650),
          q(0),
          ],
       q(pup) => [
-         q(5652),
+         q(5651),
          q(0),
          ],
       q(puq) => [
-         q(5653),
+         q(5652),
          q(0),
          ],
       q(pur) => [
-         q(5654),
+         q(5653),
          q(0),
          ],
       q(pus) => [
@@ -80256,95 +80306,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(put) => [
-         q(5655),
+         q(5654),
          q(0),
          ],
       q(puu) => [
-         q(5656),
+         q(5655),
          q(0),
          ],
       q(puw) => [
-         q(5657),
+         q(5656),
          q(0),
          ],
       q(pux) => [
-         q(5658),
+         q(5657),
          q(0),
          ],
       q(puy) => [
-         q(5659),
+         q(5658),
          q(0),
          ],
       q(pwa) => [
-         q(5660),
+         q(5659),
          q(0),
          ],
       q(pwb) => [
-         q(5661),
+         q(5660),
          q(0),
          ],
       q(pwg) => [
-         q(5662),
+         q(5661),
          q(0),
          ],
       q(pwi) => [
-         q(5663),
+         q(5662),
          q(0),
          ],
       q(pwm) => [
-         q(5664),
+         q(5663),
          q(0),
          ],
       q(pwn) => [
-         q(5665),
+         q(5664),
          q(0),
          ],
       q(pwo) => [
-         q(5666),
+         q(5665),
          q(0),
          ],
       q(pwr) => [
-         q(5667),
+         q(5666),
          q(0),
          ],
       q(pww) => [
-         q(5668),
+         q(5667),
          q(0),
          ],
       q(pxm) => [
-         q(5669),
+         q(5668),
          q(0),
          ],
       q(pye) => [
-         q(5670),
+         q(5669),
          q(0),
          ],
       q(pym) => [
-         q(5671),
+         q(5670),
          q(0),
          ],
       q(pyn) => [
-         q(5672),
+         q(5671),
          q(0),
          ],
       q(pys) => [
-         q(5673),
+         q(5672),
          q(0),
          ],
       q(pyu) => [
-         q(5674),
+         q(5673),
          q(0),
          ],
       q(pyx) => [
-         q(5675),
+         q(5674),
          q(0),
          ],
       q(pyy) => [
-         q(5676),
+         q(5675),
          q(0),
          ],
       q(pzn) => [
-         q(5677),
+         q(5676),
          q(0),
          ],
       q(qtz) => [
@@ -80352,19 +80402,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(qua) => [
-         q(5678),
+         q(5677),
          q(0),
          ],
       q(qub) => [
-         q(5679),
+         q(5678),
          q(0),
          ],
       q(quc) => [
-         q(5680),
+         q(5679),
          q(0),
          ],
       q(qud) => [
-         q(5681),
+         q(5680),
          q(0),
          ],
       q(que) => [
@@ -80372,139 +80422,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(quf) => [
-         q(5682),
+         q(5681),
          q(0),
          ],
       q(qug) => [
-         q(5683),
+         q(5682),
          q(0),
          ],
       q(quh) => [
-         q(5684),
+         q(5683),
          q(0),
          ],
       q(qui) => [
-         q(5685),
+         q(5684),
          q(0),
          ],
       q(quk) => [
-         q(5686),
+         q(5685),
          q(0),
          ],
       q(qul) => [
-         q(5687),
+         q(5686),
          q(0),
          ],
       q(qum) => [
-         q(5688),
+         q(5687),
          q(0),
          ],
       q(qun) => [
-         q(5689),
+         q(5688),
          q(0),
          ],
       q(qup) => [
-         q(5690),
+         q(5689),
          q(0),
          ],
       q(quq) => [
-         q(5691),
+         q(5690),
          q(0),
          ],
       q(qur) => [
-         q(5692),
+         q(5691),
          q(0),
          ],
       q(qus) => [
-         q(5693),
+         q(5692),
          q(0),
          ],
       q(quv) => [
-         q(5694),
+         q(5693),
          q(0),
          ],
       q(quw) => [
-         q(5695),
+         q(5694),
          q(0),
          ],
       q(qux) => [
-         q(5696),
+         q(5695),
          q(0),
          ],
       q(quy) => [
-         q(5697),
+         q(5696),
          q(0),
          ],
       q(quz) => [
-         q(5698),
+         q(5697),
          q(0),
          ],
       q(qva) => [
-         q(5699),
+         q(5698),
          q(0),
          ],
       q(qvc) => [
-         q(5700),
+         q(5699),
          q(0),
          ],
       q(qve) => [
-         q(5701),
+         q(5700),
          q(0),
          ],
       q(qvh) => [
-         q(5702),
+         q(5701),
          q(0),
          ],
       q(qvi) => [
-         q(5703),
+         q(5702),
          q(0),
          ],
       q(qvj) => [
-         q(5704),
+         q(5703),
          q(0),
          ],
       q(qvl) => [
-         q(5705),
+         q(5704),
          q(0),
          ],
       q(qvm) => [
-         q(5706),
+         q(5705),
          q(0),
          ],
       q(qvn) => [
-         q(5707),
+         q(5706),
          q(0),
          ],
       q(qvo) => [
-         q(5708),
+         q(5707),
          q(0),
          ],
       q(qvp) => [
-         q(5709),
+         q(5708),
          q(0),
          ],
       q(qvs) => [
-         q(5710),
+         q(5709),
          q(0),
          ],
       q(qvw) => [
-         q(5711),
+         q(5710),
          q(0),
          ],
       q(qvy) => [
-         q(5712),
+         q(5711),
          q(0),
          ],
       q(qvz) => [
-         q(5713),
+         q(5712),
          q(0),
          ],
       q(qwa) => [
-         q(5714),
+         q(5713),
          q(0),
          ],
       q(qwc) => [
-         q(5715),
+         q(5714),
          q(0),
          ],
       q(qwe) => [
@@ -80512,111 +80562,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(qwh) => [
-         q(5716),
+         q(5715),
          q(0),
          ],
       q(qwm) => [
-         q(5717),
+         q(5716),
          q(0),
          ],
       q(qws) => [
-         q(5718),
+         q(5717),
          q(0),
          ],
       q(qwt) => [
-         q(5719),
+         q(5718),
          q(0),
          ],
       q(qxa) => [
-         q(5720),
+         q(5719),
          q(0),
          ],
       q(qxc) => [
-         q(5721),
+         q(5720),
          q(0),
          ],
       q(qxh) => [
-         q(5722),
+         q(5721),
          q(0),
          ],
       q(qxl) => [
-         q(5723),
+         q(5722),
          q(0),
          ],
       q(qxn) => [
-         q(5724),
+         q(5723),
          q(0),
          ],
       q(qxo) => [
-         q(5725),
+         q(5724),
          q(0),
          ],
       q(qxp) => [
-         q(5726),
+         q(5725),
          q(0),
          ],
       q(qxq) => [
-         q(5727),
+         q(5726),
          q(0),
          ],
       q(qxr) => [
-         q(5728),
+         q(5727),
          q(0),
          ],
       q(qxs) => [
-         q(5729),
+         q(5728),
          q(0),
          ],
       q(qxt) => [
-         q(5730),
+         q(5729),
          q(0),
          ],
       q(qxu) => [
-         q(5731),
+         q(5730),
          q(0),
          ],
       q(qxw) => [
-         q(5732),
+         q(5731),
          q(0),
          ],
       q(qya) => [
-         q(5733),
+         q(5732),
          q(0),
          ],
       q(qyp) => [
-         q(5734),
+         q(5733),
          q(0),
          ],
       q(raa) => [
-         q(5735),
+         q(5734),
          q(0),
          ],
       q(rab) => [
-         q(5736),
+         q(5735),
          q(0),
          ],
       q(rac) => [
-         q(5737),
+         q(5736),
          q(0),
          ],
       q(rad) => [
-         q(5738),
+         q(5737),
          q(0),
          ],
       q(raf) => [
-         q(5739),
+         q(5738),
          q(0),
          ],
       q(rag) => [
-         q(5740),
+         q(5739),
          q(0),
          ],
       q(rah) => [
-         q(5741),
+         q(5740),
          q(0),
          ],
       q(rai) => [
-         q(5742),
+         q(5741),
          q(0),
          ],
       q(raj) => [
@@ -80624,23 +80674,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(rak) => [
-         q(5743),
+         q(5742),
          q(0),
          ],
       q(ral) => [
-         q(5744),
+         q(5743),
          q(0),
          ],
       q(ram) => [
-         q(5745),
+         q(5744),
          q(0),
          ],
       q(ran) => [
-         q(5746),
+         q(5745),
          q(0),
          ],
       q(rao) => [
-         q(5747),
+         q(5746),
          q(0),
          ],
       q(rap) => [
@@ -80648,7 +80698,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(raq) => [
-         q(5748),
+         q(5747),
          q(0),
          ],
       q(rar) => [
@@ -80656,351 +80706,351 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ras) => [
-         q(5749),
+         q(5748),
          q(0),
          ],
       q(rat) => [
-         q(5750),
+         q(5749),
          q(0),
          ],
       q(rau) => [
-         q(5751),
+         q(5750),
          q(0),
          ],
       q(rav) => [
-         q(5752),
+         q(5751),
          q(0),
          ],
       q(raw) => [
-         q(5753),
+         q(5752),
          q(0),
          ],
       q(rax) => [
-         q(5754),
+         q(5753),
          q(0),
          ],
       q(ray) => [
-         q(5755),
+         q(5754),
          q(0),
          ],
       q(raz) => [
-         q(5756),
+         q(5755),
          q(0),
          ],
       q(rbb) => [
-         q(5757),
+         q(5756),
          q(0),
          ],
       q(rbk) => [
-         q(5758),
+         q(5757),
          q(0),
          ],
       q(rbl) => [
-         q(5759),
+         q(5758),
          q(0),
          ],
       q(rbp) => [
-         q(5760),
+         q(5759),
          q(0),
          ],
       q(rcf) => [
-         q(5761),
+         q(5760),
          q(0),
          ],
       q(rdb) => [
-         q(5762),
+         q(5761),
          q(0),
          ],
       q(rea) => [
-         q(5763),
+         q(5762),
          q(0),
          ],
       q(reb) => [
-         q(5764),
+         q(5763),
          q(0),
          ],
       q(ree) => [
-         q(5765),
+         q(5764),
          q(0),
          ],
       q(reg) => [
-         q(5766),
+         q(5765),
          q(0),
          ],
       q(rei) => [
-         q(5767),
+         q(5766),
          q(0),
          ],
       q(rej) => [
-         q(5768),
+         q(5767),
          q(0),
          ],
       q(rel) => [
-         q(5769),
+         q(5768),
          q(0),
          ],
       q(rem) => [
-         q(5770),
+         q(5769),
          q(0),
          ],
       q(ren) => [
-         q(5771),
+         q(5770),
          q(0),
          ],
       q(rer) => [
-         q(5772),
+         q(5771),
          q(0),
          ],
       q(res) => [
-         q(5773),
+         q(5772),
          q(0),
          ],
       q(ret) => [
-         q(5774),
+         q(5773),
          q(0),
          ],
       q(rey) => [
-         q(5775),
+         q(5774),
          q(0),
          ],
       q(rga) => [
-         q(5776),
+         q(5775),
          q(0),
          ],
       q(rge) => [
-         q(5777),
+         q(5776),
          q(0),
          ],
       q(rgk) => [
-         q(5778),
+         q(5777),
          q(0),
          ],
       q(rgn) => [
-         q(5779),
+         q(5778),
          q(0),
          ],
       q(rgr) => [
-         q(5780),
+         q(5779),
          q(0),
          ],
       q(rgs) => [
-         q(5781),
+         q(5780),
          q(0),
          ],
       q(rgu) => [
-         q(5782),
+         q(5781),
          q(0),
          ],
       q(rhg) => [
-         q(5783),
+         q(5782),
          q(0),
          ],
       q(rhp) => [
-         q(5784),
+         q(5783),
          q(0),
          ],
       q(ria) => [
-         q(5785),
+         q(5784),
          q(0),
          ],
       q(rie) => [
-         q(5786),
+         q(5785),
          q(0),
          ],
       q(rif) => [
-         q(5787),
+         q(5786),
          q(0),
          ],
       q(ril) => [
-         q(5788),
+         q(5787),
          q(0),
          ],
       q(rim) => [
-         q(5789),
+         q(5788),
          q(0),
          ],
       q(rin) => [
-         q(5790),
+         q(5789),
          q(0),
          ],
       q(rir) => [
-         q(5791),
+         q(5790),
          q(0),
          ],
       q(rit) => [
-         q(5792),
+         q(5791),
          q(0),
          ],
       q(riu) => [
-         q(5793),
+         q(5792),
          q(0),
          ],
       q(rjg) => [
-         q(5794),
+         q(5793),
          q(0),
          ],
       q(rji) => [
-         q(5795),
+         q(5794),
          q(0),
          ],
       q(rjs) => [
-         q(5796),
+         q(5795),
          q(0),
          ],
       q(rka) => [
-         q(5797),
+         q(5796),
          q(0),
          ],
       q(rkb) => [
-         q(5798),
+         q(5797),
          q(0),
          ],
       q(rkh) => [
-         q(5799),
+         q(5798),
          q(0),
          ],
       q(rki) => [
-         q(5800),
+         q(5799),
          q(0),
          ],
       q(rkm) => [
-         q(5801),
+         q(5800),
          q(0),
          ],
       q(rkt) => [
-         q(5802),
+         q(5801),
          q(0),
          ],
       q(rkw) => [
-         q(5803),
+         q(5802),
          q(0),
          ],
       q(rma) => [
-         q(5804),
+         q(5803),
          q(0),
          ],
       q(rmb) => [
-         q(5805),
+         q(5804),
          q(0),
          ],
       q(rmc) => [
-         q(5806),
+         q(5805),
          q(0),
          ],
       q(rmd) => [
-         q(5807),
+         q(5806),
          q(0),
          ],
       q(rme) => [
-         q(5808),
+         q(5807),
          q(0),
          ],
       q(rmf) => [
-         q(5809),
+         q(5808),
          q(0),
          ],
       q(rmg) => [
-         q(5810),
+         q(5809),
          q(0),
          ],
       q(rmh) => [
-         q(5811),
+         q(5810),
          q(0),
          ],
       q(rmi) => [
-         q(5812),
+         q(5811),
          q(0),
          ],
       q(rmk) => [
-         q(5813),
+         q(5812),
          q(0),
          ],
       q(rml) => [
-         q(5814),
+         q(5813),
          q(0),
          ],
       q(rmm) => [
-         q(5815),
+         q(5814),
          q(0),
          ],
       q(rmn) => [
-         q(5816),
+         q(5815),
          q(0),
          ],
       q(rmo) => [
-         q(5817),
+         q(5816),
          q(0),
          ],
       q(rmp) => [
-         q(5818),
+         q(5817),
          q(0),
          ],
       q(rmq) => [
-         q(5819),
+         q(5818),
          q(0),
          ],
       q(rms) => [
-         q(5820),
+         q(5819),
          q(0),
          ],
       q(rmt) => [
-         q(5821),
+         q(5820),
          q(0),
          ],
       q(rmu) => [
-         q(5822),
+         q(5821),
          q(0),
          ],
       q(rmv) => [
-         q(5823),
+         q(5822),
          q(0),
          ],
       q(rmw) => [
-         q(5824),
+         q(5823),
          q(0),
          ],
       q(rmx) => [
-         q(5825),
+         q(5824),
          q(0),
          ],
       q(rmy) => [
-         q(5826),
+         q(5825),
          q(0),
          ],
       q(rmz) => [
-         q(5827),
+         q(5826),
          q(0),
          ],
       q(rna) => [
-         q(5828),
+         q(5827),
          q(0),
          ],
       q(rnd) => [
-         q(5829),
+         q(5828),
          q(0),
          ],
       q(rng) => [
-         q(5830),
+         q(5829),
          q(0),
          ],
       q(rnl) => [
-         q(5831),
+         q(5830),
          q(0),
          ],
       q(rnn) => [
-         q(5832),
+         q(5831),
          q(0),
          ],
       q(rnp) => [
-         q(5833),
+         q(5832),
          q(0),
          ],
       q(rnr) => [
-         q(5834),
+         q(5833),
          q(0),
          ],
       q(rnw) => [
-         q(5835),
+         q(5834),
          q(0),
          ],
       q(roa) => [
@@ -81008,27 +81058,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(rob) => [
-         q(5836),
+         q(5835),
          q(0),
          ],
       q(roc) => [
-         q(5837),
+         q(5836),
          q(0),
          ],
       q(rod) => [
-         q(5838),
+         q(5837),
          q(0),
          ],
       q(roe) => [
-         q(5839),
+         q(5838),
          q(0),
          ],
       q(rof) => [
-         q(5840),
+         q(5839),
          q(0),
          ],
       q(rog) => [
-         q(5841),
+         q(5840),
          q(0),
          ],
       q(roh) => [
@@ -81036,7 +81086,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(rol) => [
-         q(5842),
+         q(5841),
          q(0),
          ],
       q(rom) => [
@@ -81044,107 +81094,107 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(roo) => [
-         q(5843),
+         q(5842),
          q(0),
          ],
       q(rop) => [
-         q(5844),
+         q(5843),
          q(0),
          ],
       q(ror) => [
-         q(5845),
+         q(5844),
          q(0),
          ],
       q(rou) => [
-         q(5846),
+         q(5845),
          q(0),
          ],
       q(row) => [
-         q(5847),
+         q(5846),
          q(0),
          ],
       q(rpn) => [
-         q(5848),
+         q(5847),
          q(0),
          ],
       q(rpt) => [
-         q(5849),
+         q(5848),
          q(0),
          ],
       q(rri) => [
-         q(5850),
+         q(5849),
          q(0),
          ],
       q(rro) => [
-         q(5851),
+         q(5850),
          q(0),
          ],
       q(rrt) => [
-         q(5852),
+         q(5851),
          q(0),
          ],
       q(rsb) => [
-         q(5853),
+         q(5852),
          q(0),
          ],
       q(rsi) => [
-         q(5854),
+         q(5853),
          q(0),
          ],
       q(rsl) => [
-         q(5855),
+         q(5854),
          q(0),
          ],
       q(rtc) => [
-         q(5856),
+         q(5855),
          q(0),
          ],
       q(rth) => [
-         q(5857),
+         q(5856),
          q(0),
          ],
       q(rtm) => [
-         q(5858),
+         q(5857),
          q(0),
          ],
       q(rts) => [
-         q(5859),
+         q(5858),
          q(0),
          ],
       q(rtw) => [
-         q(5860),
+         q(5859),
          q(0),
          ],
       q(rub) => [
-         q(5861),
+         q(5860),
          q(0),
          ],
       q(ruc) => [
-         q(5862),
+         q(5861),
          q(0),
          ],
       q(rue) => [
-         q(5863),
+         q(5862),
          q(0),
          ],
       q(ruf) => [
-         q(5864),
+         q(5863),
          q(0),
          ],
       q(rug) => [
-         q(5865),
+         q(5864),
          q(0),
          ],
       q(ruh) => [
-         q(5866),
+         q(5865),
          q(0),
          ],
       q(rui) => [
-         q(5867),
+         q(5866),
          q(0),
          ],
       q(ruk) => [
-         q(5868),
+         q(5867),
          q(0),
          ],
       q(rum) => [
@@ -81156,7 +81206,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ruo) => [
-         q(5869),
+         q(5868),
          q(0),
          ],
       q(rup) => [
@@ -81164,7 +81214,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(2),
          ],
       q(ruq) => [
-         q(5870),
+         q(5869),
          q(0),
          ],
       q(rus) => [
@@ -81172,71 +81222,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(rut) => [
-         q(5871),
+         q(5870),
          q(0),
          ],
       q(ruu) => [
-         q(5872),
+         q(5871),
          q(0),
          ],
       q(ruy) => [
-         q(5873),
+         q(5872),
          q(0),
          ],
       q(ruz) => [
-         q(5874),
+         q(5873),
          q(0),
          ],
       q(rwa) => [
-         q(5875),
+         q(5874),
          q(0),
          ],
       q(rwk) => [
-         q(5876),
+         q(5875),
          q(0),
          ],
       q(rwm) => [
-         q(5877),
+         q(5876),
          q(0),
          ],
       q(rwo) => [
-         q(5878),
+         q(5877),
          q(0),
          ],
       q(rwr) => [
-         q(5879),
+         q(5878),
          q(0),
          ],
       q(rxd) => [
-         q(5880),
+         q(5879),
          q(0),
          ],
       q(rxw) => [
-         q(5881),
+         q(5880),
          q(0),
          ],
       q(ryn) => [
-         q(5882),
+         q(5881),
          q(0),
          ],
       q(rys) => [
-         q(5883),
+         q(5882),
          q(0),
          ],
       q(ryu) => [
-         q(5884),
+         q(5883),
          q(0),
          ],
       q(saa) => [
-         q(5885),
+         q(5884),
          q(0),
          ],
       q(sab) => [
-         q(5886),
+         q(5885),
          q(0),
          ],
       q(sac) => [
-         q(5887),
+         q(5886),
          q(0),
          ],
       q(sad) => [
@@ -81244,11 +81294,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sae) => [
-         q(5888),
+         q(5887),
          q(0),
          ],
       q(saf) => [
-         q(5889),
+         q(5888),
          q(0),
          ],
       q(sag) => [
@@ -81264,11 +81314,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(saj) => [
-         q(5890),
+         q(5889),
          q(0),
          ],
       q(sak) => [
-         q(5891),
+         q(5890),
          q(0),
          ],
       q(sal) => [
@@ -81284,15 +81334,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sao) => [
-         q(5892),
+         q(5891),
          q(0),
          ],
       q(saq) => [
-         q(5893),
+         q(5892),
          q(0),
          ],
       q(sar) => [
-         q(5894),
+         q(5893),
          q(0),
          ],
       q(sas) => [
@@ -81304,163 +81354,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sau) => [
-         q(5895),
+         q(5894),
          q(0),
          ],
       q(sav) => [
-         q(5896),
+         q(5895),
          q(0),
          ],
       q(saw) => [
-         q(5897),
+         q(5896),
          q(0),
          ],
       q(sax) => [
-         q(5898),
+         q(5897),
          q(0),
          ],
       q(say) => [
-         q(5899),
+         q(5898),
          q(0),
          ],
       q(saz) => [
-         q(5900),
+         q(5899),
          q(0),
          ],
       q(sba) => [
-         q(5901),
+         q(5900),
          q(0),
          ],
       q(sbb) => [
-         q(5902),
+         q(5901),
          q(0),
          ],
       q(sbc) => [
-         q(5903),
+         q(5902),
          q(0),
          ],
       q(sbd) => [
-         q(5904),
+         q(5903),
          q(0),
          ],
       q(sbe) => [
-         q(5905),
+         q(5904),
          q(0),
          ],
       q(sbf) => [
-         q(5906),
+         q(5905),
          q(0),
          ],
       q(sbg) => [
-         q(5907),
+         q(5906),
          q(0),
          ],
       q(sbh) => [
-         q(5908),
+         q(5907),
          q(0),
          ],
       q(sbi) => [
-         q(5909),
+         q(5908),
          q(0),
          ],
       q(sbj) => [
-         q(5910),
+         q(5909),
          q(0),
          ],
       q(sbk) => [
-         q(5911),
+         q(5910),
          q(0),
          ],
       q(sbl) => [
-         q(5912),
+         q(5911),
          q(0),
          ],
       q(sbm) => [
-         q(5913),
+         q(5912),
          q(0),
          ],
       q(sbn) => [
-         q(5914),
+         q(5913),
          q(0),
          ],
       q(sbo) => [
-         q(5915),
+         q(5914),
          q(0),
          ],
       q(sbp) => [
-         q(5916),
+         q(5915),
          q(0),
          ],
       q(sbq) => [
-         q(5917),
+         q(5916),
          q(0),
          ],
       q(sbr) => [
-         q(5918),
+         q(5917),
          q(0),
          ],
       q(sbs) => [
-         q(5919),
+         q(5918),
          q(0),
          ],
       q(sbt) => [
-         q(5920),
+         q(5919),
          q(0),
          ],
       q(sbu) => [
-         q(5921),
+         q(5920),
          q(0),
          ],
       q(sbv) => [
-         q(5922),
+         q(5921),
          q(0),
          ],
       q(sbw) => [
-         q(5923),
+         q(5922),
          q(0),
          ],
       q(sbx) => [
-         q(5924),
+         q(5923),
          q(0),
          ],
       q(sby) => [
-         q(5925),
+         q(5924),
          q(0),
          ],
       q(sbz) => [
-         q(5926),
+         q(5925),
          q(0),
          ],
       q(scb) => [
-         q(5927),
+         q(5926),
          q(0),
          ],
       q(sce) => [
-         q(5928),
+         q(5927),
          q(0),
          ],
       q(scf) => [
-         q(5929),
+         q(5928),
          q(0),
          ],
       q(scg) => [
-         q(5930),
+         q(5929),
          q(0),
          ],
       q(sch) => [
-         q(5931),
+         q(5930),
          q(0),
          ],
       q(sci) => [
-         q(5932),
+         q(5931),
          q(0),
          ],
       q(sck) => [
-         q(5933),
+         q(5932),
          q(0),
          ],
       q(scl) => [
-         q(5934),
+         q(5933),
          q(0),
          ],
       q(scn) => [
@@ -81472,103 +81522,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(scp) => [
-         q(5935),
+         q(5934),
          q(0),
          ],
       q(scq) => [
-         q(5936),
+         q(5935),
          q(0),
          ],
       q(scs) => [
-         q(5937),
+         q(5936),
          q(0),
          ],
       q(scu) => [
-         q(5938),
+         q(5937),
          q(0),
          ],
       q(scv) => [
-         q(5939),
+         q(5938),
          q(0),
          ],
       q(scw) => [
-         q(5940),
+         q(5939),
          q(0),
          ],
       q(scx) => [
-         q(5941),
+         q(5940),
          q(0),
          ],
       q(sda) => [
-         q(5942),
+         q(5941),
          q(0),
          ],
       q(sdb) => [
-         q(5943),
+         q(5942),
          q(0),
          ],
       q(sdc) => [
-         q(5944),
+         q(5943),
          q(0),
          ],
       q(sde) => [
-         q(5945),
+         q(5944),
          q(0),
          ],
       q(sdf) => [
-         q(5946),
+         q(5945),
          q(0),
          ],
       q(sdg) => [
-         q(5947),
+         q(5946),
          q(0),
          ],
       q(sdh) => [
-         q(5948),
+         q(5947),
          q(0),
          ],
       q(sdj) => [
-         q(5949),
+         q(5948),
          q(0),
          ],
       q(sdk) => [
-         q(5950),
+         q(5949),
          q(0),
          ],
       q(sdl) => [
-         q(5951),
+         q(5950),
          q(0),
          ],
       q(sdm) => [
-         q(5952),
+         q(5951),
          q(0),
          ],
       q(sdn) => [
-         q(5953),
+         q(5952),
          q(0),
          ],
       q(sdo) => [
-         q(5954),
+         q(5953),
          q(0),
          ],
       q(sdp) => [
-         q(5955),
+         q(5954),
          q(0),
          ],
       q(sdr) => [
-         q(5956),
+         q(5955),
          q(0),
          ],
       q(sds) => [
-         q(5957),
+         q(5956),
          q(0),
          ],
       q(sdt) => [
-         q(5958),
+         q(5957),
          q(0),
          ],
       q(sdu) => [
-         q(5959),
+         q(5958),
          q(0),
          ],
       q(sdv) => [
@@ -81576,55 +81626,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sdx) => [
-         q(5960),
+         q(5959),
          q(0),
          ],
       q(sdz) => [
-         q(5961),
+         q(5960),
          q(0),
          ],
       q(sea) => [
-         q(5962),
+         q(5961),
          q(0),
          ],
       q(seb) => [
-         q(5963),
+         q(5962),
          q(0),
          ],
       q(sec) => [
-         q(5964),
+         q(5963),
          q(0),
          ],
       q(sed) => [
-         q(5965),
+         q(5964),
          q(0),
          ],
       q(see) => [
-         q(5966),
+         q(5965),
          q(0),
          ],
       q(sef) => [
-         q(5967),
+         q(5966),
          q(0),
          ],
       q(seg) => [
-         q(5968),
+         q(5967),
          q(0),
          ],
       q(seh) => [
-         q(5969),
+         q(5968),
          q(0),
          ],
       q(sei) => [
-         q(5970),
+         q(5969),
          q(0),
          ],
       q(sej) => [
-         q(5971),
+         q(5970),
          q(0),
          ],
       q(sek) => [
-         q(5972),
+         q(5971),
          q(0),
          ],
       q(sel) => [
@@ -81636,71 +81686,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sen) => [
-         q(5973),
+         q(5972),
          q(0),
          ],
       q(seo) => [
-         q(5974),
+         q(5973),
          q(0),
          ],
       q(sep) => [
-         q(5975),
+         q(5974),
          q(0),
          ],
       q(seq) => [
-         q(5976),
+         q(5975),
          q(0),
          ],
       q(ser) => [
-         q(5977),
+         q(5976),
          q(0),
          ],
       q(ses) => [
-         q(5978),
+         q(5977),
          q(0),
          ],
       q(set) => [
-         q(5979),
+         q(5978),
          q(0),
          ],
       q(seu) => [
-         q(5980),
+         q(5979),
          q(0),
          ],
       q(sev) => [
-         q(5981),
+         q(5980),
          q(0),
          ],
       q(sew) => [
-         q(5982),
+         q(5981),
          q(0),
          ],
       q(sey) => [
-         q(5983),
+         q(5982),
          q(0),
          ],
       q(sez) => [
-         q(5984),
+         q(5983),
          q(0),
          ],
       q(sfb) => [
-         q(5985),
+         q(5984),
          q(0),
          ],
       q(sfe) => [
-         q(5986),
+         q(5985),
          q(0),
          ],
       q(sfm) => [
-         q(5987),
+         q(5986),
          q(0),
          ],
       q(sfs) => [
-         q(5988),
+         q(5987),
          q(0),
          ],
       q(sfw) => [
-         q(5989),
+         q(5988),
          q(0),
          ],
       q(sga) => [
@@ -81708,43 +81758,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(sgb) => [
-         q(5990),
+         q(5989),
          q(0),
          ],
       q(sgc) => [
-         q(5991),
+         q(5990),
          q(0),
          ],
       q(sgd) => [
-         q(5992),
+         q(5991),
          q(0),
          ],
       q(sge) => [
-         q(5993),
+         q(5992),
          q(0),
          ],
       q(sgg) => [
-         q(5994),
+         q(5993),
          q(0),
          ],
       q(sgh) => [
-         q(5995),
+         q(5994),
          q(0),
          ],
       q(sgi) => [
-         q(5996),
+         q(5995),
          q(0),
          ],
       q(sgj) => [
-         q(5997),
+         q(5996),
          q(0),
          ],
       q(sgk) => [
-         q(5998),
+         q(5997),
          q(0),
          ],
       q(sgm) => [
-         q(5999),
+         q(5998),
          q(0),
          ],
       q(sgn) => [
@@ -81752,87 +81802,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sgp) => [
-         q(6000),
+         q(5999),
          q(0),
          ],
       q(sgr) => [
-         q(6001),
+         q(6000),
          q(0),
          ],
       q(sgs) => [
-         q(6002),
+         q(6001),
          q(0),
          ],
       q(sgt) => [
-         q(6003),
+         q(6002),
          q(0),
          ],
       q(sgu) => [
-         q(6004),
+         q(6003),
          q(0),
          ],
       q(sgw) => [
-         q(6005),
+         q(6004),
          q(0),
          ],
       q(sgx) => [
-         q(6006),
+         q(6005),
          q(0),
          ],
       q(sgy) => [
-         q(6007),
+         q(6006),
          q(0),
          ],
       q(sgz) => [
-         q(6008),
+         q(6007),
          q(0),
          ],
       q(sha) => [
-         q(6009),
+         q(6008),
          q(0),
          ],
       q(shb) => [
-         q(6010),
+         q(6009),
          q(0),
          ],
       q(shc) => [
-         q(6011),
+         q(6010),
          q(0),
          ],
       q(shd) => [
-         q(6012),
+         q(6011),
          q(0),
          ],
       q(she) => [
-         q(6013),
+         q(6012),
          q(0),
          ],
       q(shg) => [
-         q(6014),
+         q(6013),
          q(0),
          ],
       q(shh) => [
-         q(6015),
+         q(6014),
          q(0),
          ],
       q(shi) => [
-         q(6016),
+         q(6015),
          q(0),
          ],
       q(shj) => [
-         q(6017),
+         q(6016),
          q(0),
          ],
       q(shk) => [
-         q(6018),
+         q(6017),
          q(0),
          ],
       q(shl) => [
-         q(6019),
+         q(6018),
          q(0),
          ],
       q(shm) => [
-         q(6020),
+         q(6019),
          q(0),
          ],
       q(shn) => [
@@ -81840,59 +81890,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sho) => [
-         q(6021),
+         q(6020),
          q(0),
          ],
       q(shp) => [
-         q(6022),
+         q(6021),
          q(0),
          ],
       q(shq) => [
-         q(6023),
+         q(6022),
          q(0),
          ],
       q(shr) => [
-         q(6024),
+         q(6023),
          q(0),
          ],
       q(shs) => [
-         q(6025),
+         q(6024),
          q(0),
          ],
       q(sht) => [
-         q(6026),
+         q(6025),
          q(0),
          ],
       q(shu) => [
-         q(6027),
+         q(6026),
          q(0),
          ],
       q(shv) => [
-         q(6028),
+         q(6027),
          q(0),
          ],
       q(shw) => [
-         q(6029),
+         q(6028),
          q(0),
          ],
       q(shx) => [
-         q(6030),
+         q(6029),
          q(0),
          ],
       q(shy) => [
-         q(6031),
+         q(6030),
          q(0),
          ],
       q(shz) => [
-         q(6032),
+         q(6031),
          q(0),
          ],
       q(sia) => [
-         q(6033),
+         q(6032),
          q(0),
          ],
       q(sib) => [
-         q(6034),
+         q(6033),
          q(0),
          ],
       q(sid) => [
@@ -81900,39 +81950,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sie) => [
-         q(6035),
+         q(6034),
          q(0),
          ],
       q(sif) => [
-         q(6036),
+         q(6035),
          q(0),
          ],
       q(sig) => [
-         q(6037),
+         q(6036),
          q(0),
          ],
       q(sih) => [
-         q(6038),
+         q(6037),
          q(0),
          ],
       q(sii) => [
-         q(6039),
+         q(6038),
          q(0),
          ],
       q(sij) => [
-         q(6040),
+         q(6039),
          q(0),
          ],
       q(sik) => [
-         q(6041),
+         q(6040),
          q(0),
          ],
       q(sil) => [
-         q(6042),
+         q(6041),
          q(0),
          ],
       q(sim) => [
-         q(6043),
+         q(6042),
          q(0),
          ],
       q(sin) => [
@@ -81944,19 +81994,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sip) => [
-         q(6044),
+         q(6043),
          q(0),
          ],
       q(siq) => [
-         q(6045),
+         q(6044),
          q(0),
          ],
       q(sir) => [
-         q(6046),
+         q(6045),
          q(0),
          ],
       q(sis) => [
-         q(6047),
+         q(6046),
          q(0),
          ],
       q(sit) => [
@@ -81964,191 +82014,191 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(siu) => [
-         q(6048),
+         q(6047),
          q(0),
          ],
       q(siv) => [
-         q(6049),
+         q(6048),
          q(0),
          ],
       q(siw) => [
-         q(6050),
+         q(6049),
          q(0),
          ],
       q(six) => [
-         q(6051),
+         q(6050),
          q(0),
          ],
       q(siy) => [
-         q(6052),
+         q(6051),
          q(0),
          ],
       q(siz) => [
-         q(6053),
+         q(6052),
          q(0),
          ],
       q(sja) => [
-         q(6054),
+         q(6053),
          q(0),
          ],
       q(sjb) => [
-         q(6055),
+         q(6054),
          q(0),
          ],
       q(sjd) => [
-         q(6056),
+         q(6055),
          q(0),
          ],
       q(sje) => [
-         q(6057),
+         q(6056),
          q(0),
          ],
       q(sjg) => [
-         q(6058),
+         q(6057),
          q(0),
          ],
       q(sjk) => [
-         q(6059),
+         q(6058),
          q(0),
          ],
       q(sjl) => [
-         q(6060),
+         q(6059),
          q(0),
          ],
       q(sjm) => [
-         q(6061),
+         q(6060),
          q(0),
          ],
       q(sjn) => [
-         q(6062),
+         q(6061),
          q(0),
          ],
       q(sjo) => [
-         q(6063),
+         q(6062),
          q(0),
          ],
       q(sjp) => [
-         q(6064),
+         q(6063),
          q(0),
          ],
       q(sjr) => [
-         q(6065),
+         q(6064),
          q(0),
          ],
       q(sjs) => [
-         q(6066),
+         q(6065),
          q(0),
          ],
       q(sjt) => [
-         q(6067),
+         q(6066),
          q(0),
          ],
       q(sju) => [
-         q(6068),
+         q(6067),
          q(0),
          ],
       q(sjw) => [
-         q(6069),
+         q(6068),
          q(0),
          ],
       q(ska) => [
-         q(6070),
+         q(6069),
          q(0),
          ],
       q(skb) => [
-         q(6071),
+         q(6070),
          q(0),
          ],
       q(skc) => [
-         q(6072),
+         q(6071),
          q(0),
          ],
       q(skd) => [
-         q(6073),
+         q(6072),
          q(0),
          ],
       q(ske) => [
-         q(6074),
+         q(6073),
          q(0),
          ],
       q(skf) => [
-         q(6075),
+         q(6074),
          q(0),
          ],
       q(skg) => [
-         q(6076),
+         q(6075),
          q(0),
          ],
       q(skh) => [
-         q(6077),
+         q(6076),
          q(0),
          ],
       q(ski) => [
-         q(6078),
+         q(6077),
          q(0),
          ],
       q(skj) => [
-         q(6079),
+         q(6078),
          q(0),
          ],
       q(skk) => [
-         q(6080),
+         q(6079),
          q(0),
          ],
       q(skm) => [
-         q(6081),
+         q(6080),
          q(0),
          ],
       q(skn) => [
-         q(6082),
+         q(6081),
          q(0),
          ],
       q(sko) => [
-         q(6083),
+         q(6082),
          q(0),
          ],
       q(skp) => [
-         q(6084),
+         q(6083),
          q(0),
          ],
       q(skq) => [
-         q(6085),
+         q(6084),
          q(0),
          ],
       q(skr) => [
-         q(6086),
+         q(6085),
          q(0),
          ],
       q(sks) => [
-         q(6087),
+         q(6086),
          q(0),
          ],
       q(skt) => [
-         q(6088),
+         q(6087),
          q(0),
          ],
       q(sku) => [
-         q(6089),
+         q(6088),
          q(0),
          ],
       q(skv) => [
-         q(6090),
+         q(6089),
          q(0),
          ],
       q(skw) => [
-         q(6091),
+         q(6090),
          q(0),
          ],
       q(skx) => [
-         q(6092),
+         q(6091),
          q(0),
          ],
       q(sky) => [
-         q(6093),
+         q(6092),
          q(0),
          ],
       q(skz) => [
-         q(6094),
+         q(6093),
          q(0),
          ],
       q(sla) => [
@@ -82156,47 +82206,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(slc) => [
-         q(5905),
+         q(5904),
          q(0),
          ],
       q(sld) => [
-         q(6095),
+         q(6094),
          q(0),
          ],
       q(sle) => [
-         q(6096),
+         q(6095),
          q(0),
          ],
       q(slf) => [
-         q(6097),
+         q(6096),
          q(0),
          ],
       q(slg) => [
-         q(6098),
+         q(6097),
          q(0),
          ],
       q(slh) => [
-         q(6099),
+         q(6098),
          q(0),
          ],
       q(sli) => [
-         q(6100),
+         q(6099),
          q(0),
          ],
       q(slj) => [
-         q(6101),
+         q(6100),
          q(0),
          ],
       q(sll) => [
-         q(6102),
+         q(6101),
          q(0),
          ],
       q(slm) => [
-         q(6103),
+         q(6102),
          q(0),
          ],
       q(sln) => [
-         q(6104),
+         q(6103),
          q(0),
          ],
       q(slo) => [
@@ -82204,27 +82254,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(slp) => [
-         q(6105),
+         q(6104),
          q(0),
          ],
       q(slq) => [
-         q(6106),
+         q(6105),
          q(0),
          ],
       q(slr) => [
-         q(6107),
+         q(6106),
          q(0),
          ],
       q(sls) => [
-         q(6108),
+         q(6107),
          q(0),
          ],
       q(slt) => [
-         q(6109),
+         q(6108),
          q(0),
          ],
       q(slu) => [
-         q(6110),
+         q(6109),
          q(0),
          ],
       q(slv) => [
@@ -82232,19 +82282,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(slw) => [
-         q(6111),
+         q(6110),
          q(0),
          ],
       q(slx) => [
-         q(6112),
+         q(6111),
          q(0),
          ],
       q(sly) => [
-         q(6113),
+         q(6112),
          q(0),
          ],
       q(slz) => [
-         q(6114),
+         q(6113),
          q(0),
          ],
       q(sma) => [
@@ -82252,15 +82302,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smb) => [
-         q(6115),
+         q(6114),
          q(0),
          ],
       q(smc) => [
-         q(6116),
+         q(6115),
          q(0),
          ],
       q(smd) => [
-         q(6117),
+         q(6116),
          q(0),
          ],
       q(sme) => [
@@ -82268,15 +82318,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smf) => [
-         q(6118),
+         q(6117),
          q(0),
          ],
       q(smg) => [
-         q(6119),
+         q(6118),
          q(0),
          ],
       q(smh) => [
-         q(6120),
+         q(6119),
          q(0),
          ],
       q(smi) => [
@@ -82288,15 +82338,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smk) => [
-         q(6121),
+         q(6120),
          q(0),
          ],
       q(sml) => [
-         q(6122),
+         q(6121),
          q(0),
          ],
       q(smm) => [
-         q(6123),
+         q(6122),
          q(0),
          ],
       q(smn) => [
@@ -82308,15 +82358,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smp) => [
-         q(6124),
+         q(6123),
          q(0),
          ],
       q(smq) => [
-         q(6125),
+         q(6124),
          q(0),
          ],
       q(smr) => [
-         q(6126),
+         q(6125),
          q(0),
          ],
       q(sms) => [
@@ -82324,31 +82374,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smt) => [
-         q(6127),
+         q(6126),
          q(0),
          ],
       q(smu) => [
-         q(6128),
+         q(6127),
          q(0),
          ],
       q(smv) => [
-         q(6129),
+         q(6128),
          q(0),
          ],
       q(smw) => [
-         q(6130),
+         q(6129),
          q(0),
          ],
       q(smx) => [
-         q(6131),
+         q(6130),
          q(0),
          ],
       q(smy) => [
-         q(6132),
+         q(6131),
          q(0),
          ],
       q(smz) => [
-         q(6133),
+         q(6132),
          q(0),
          ],
       q(sna) => [
@@ -82356,11 +82406,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(snb) => [
-         q(6134),
+         q(6133),
          q(0),
          ],
       q(snc) => [
-         q(6135),
+         q(6134),
          q(0),
          ],
       q(snd) => [
@@ -82368,27 +82418,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sne) => [
-         q(6136),
+         q(6135),
          q(0),
          ],
       q(snf) => [
-         q(6137),
+         q(6136),
          q(0),
          ],
       q(sng) => [
-         q(6138),
+         q(6137),
          q(0),
          ],
       q(snh) => [
-         q(6139),
+         q(6138),
          q(0),
          ],
       q(sni) => [
-         q(6140),
+         q(6139),
          q(0),
          ],
       q(snj) => [
-         q(6141),
+         q(6140),
          q(0),
          ],
       q(snk) => [
@@ -82396,79 +82446,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(snl) => [
-         q(6142),
+         q(6141),
          q(0),
          ],
       q(snm) => [
-         q(6143),
+         q(6142),
          q(0),
          ],
       q(snn) => [
-         q(6144),
+         q(6143),
          q(0),
          ],
       q(sno) => [
-         q(6145),
+         q(6144),
          q(0),
          ],
       q(snp) => [
-         q(6146),
+         q(6145),
          q(0),
          ],
       q(snq) => [
-         q(6147),
+         q(6146),
          q(0),
          ],
       q(snr) => [
-         q(6148),
+         q(6147),
          q(0),
          ],
       q(sns) => [
-         q(6149),
+         q(6148),
          q(0),
          ],
       q(snu) => [
-         q(6150),
+         q(6149),
          q(0),
          ],
       q(snv) => [
-         q(6151),
+         q(6150),
          q(0),
          ],
       q(snw) => [
-         q(6152),
+         q(6151),
          q(0),
          ],
       q(snx) => [
-         q(6153),
+         q(6152),
          q(0),
          ],
       q(sny) => [
-         q(6154),
+         q(6153),
          q(0),
          ],
       q(snz) => [
-         q(6155),
+         q(6154),
          q(0),
          ],
       q(soa) => [
-         q(6156),
+         q(6155),
          q(0),
          ],
       q(sob) => [
-         q(6157),
+         q(6156),
          q(0),
          ],
       q(soc) => [
-         q(6158),
+         q(6157),
          q(0),
          ],
       q(sod) => [
-         q(6159),
+         q(6158),
          q(0),
          ],
       q(soe) => [
-         q(6160),
+         q(6159),
          q(0),
          ],
       q(sog) => [
@@ -82476,23 +82526,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(soh) => [
-         q(6161),
+         q(6160),
          q(0),
          ],
       q(soi) => [
-         q(6162),
+         q(6161),
          q(0),
          ],
       q(soj) => [
-         q(6163),
+         q(6162),
          q(0),
          ],
       q(sok) => [
-         q(6164),
+         q(6163),
          q(0),
          ],
       q(sol) => [
-         q(6165),
+         q(6164),
          q(0),
          ],
       q(som) => [
@@ -82504,23 +82554,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(soo) => [
-         q(6166),
+         q(6165),
          q(0),
          ],
       q(sop) => [
-         q(6167),
+         q(6166),
          q(0),
          ],
       q(soq) => [
-         q(6168),
+         q(6167),
          q(0),
          ],
       q(sor) => [
-         q(6169),
+         q(6168),
          q(0),
          ],
       q(sos) => [
-         q(6170),
+         q(6169),
          q(0),
          ],
       q(sot) => [
@@ -82528,27 +82578,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sou) => [
-         q(6171),
+         q(6170),
          q(0),
          ],
       q(sov) => [
-         q(6172),
+         q(6171),
          q(0),
          ],
       q(sow) => [
-         q(6173),
+         q(6172),
          q(0),
          ],
       q(sox) => [
-         q(6174),
+         q(6173),
          q(0),
          ],
       q(soy) => [
-         q(6175),
+         q(6174),
          q(0),
          ],
       q(soz) => [
-         q(6176),
+         q(6175),
          q(0),
          ],
       q(spa) => [
@@ -82556,91 +82606,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(spb) => [
-         q(6177),
+         q(6176),
          q(0),
          ],
       q(spc) => [
-         q(6178),
+         q(6177),
          q(0),
          ],
       q(spd) => [
-         q(6179),
+         q(6178),
          q(0),
          ],
       q(spe) => [
-         q(6180),
+         q(6179),
          q(0),
          ],
       q(spg) => [
-         q(6181),
+         q(6180),
          q(0),
          ],
       q(spi) => [
-         q(6182),
+         q(6181),
          q(0),
          ],
       q(spk) => [
-         q(6183),
+         q(6182),
          q(0),
          ],
       q(spl) => [
-         q(6184),
+         q(6183),
          q(0),
          ],
       q(spm) => [
-         q(6185),
+         q(6184),
          q(0),
          ],
       q(spn) => [
-         q(6186),
+         q(6185),
          q(0),
          ],
       q(spo) => [
-         q(6187),
+         q(6186),
          q(0),
          ],
       q(spp) => [
-         q(6188),
+         q(6187),
          q(0),
          ],
       q(spq) => [
-         q(6189),
+         q(6188),
          q(0),
          ],
       q(spr) => [
-         q(6190),
+         q(6189),
          q(0),
          ],
       q(sps) => [
-         q(6191),
+         q(6190),
          q(0),
          ],
       q(spt) => [
-         q(6192),
+         q(6191),
          q(0),
          ],
       q(spu) => [
-         q(6193),
+         q(6192),
          q(0),
          ],
       q(spv) => [
-         q(6194),
+         q(6193),
          q(0),
          ],
       q(spx) => [
-         q(6195),
+         q(6194),
          q(0),
          ],
       q(spy) => [
-         q(6196),
+         q(6195),
          q(0),
          ],
       q(sqa) => [
-         q(6197),
+         q(6196),
          q(0),
          ],
       q(sqh) => [
-         q(6198),
+         q(6197),
          q(0),
          ],
       q(sqj) => [
@@ -82648,51 +82698,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sqk) => [
-         q(6199),
+         q(6198),
          q(0),
          ],
       q(sqm) => [
-         q(6200),
+         q(6199),
          q(0),
          ],
       q(sqn) => [
-         q(6201),
+         q(6200),
          q(0),
          ],
       q(sqo) => [
-         q(6202),
+         q(6201),
          q(0),
          ],
       q(sqq) => [
-         q(6203),
+         q(6202),
          q(0),
          ],
       q(sqr) => [
-         q(6204),
+         q(6203),
          q(0),
          ],
       q(sqs) => [
-         q(6205),
+         q(6204),
          q(0),
          ],
       q(sqt) => [
-         q(6206),
+         q(6205),
          q(0),
          ],
       q(squ) => [
-         q(6207),
+         q(6206),
          q(0),
          ],
       q(sra) => [
-         q(6208),
+         q(6207),
          q(0),
          ],
       q(srb) => [
-         q(6209),
+         q(6208),
          q(0),
          ],
       q(src) => [
-         q(6210),
+         q(6209),
          q(0),
          ],
       q(srd) => [
@@ -82700,35 +82750,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sre) => [
-         q(6211),
+         q(6210),
          q(0),
          ],
       q(srf) => [
-         q(6212),
+         q(6211),
          q(0),
          ],
       q(srg) => [
-         q(6213),
+         q(6212),
          q(0),
          ],
       q(srh) => [
-         q(6214),
+         q(6213),
          q(0),
          ],
       q(sri) => [
-         q(6215),
+         q(6214),
          q(0),
          ],
       q(srk) => [
-         q(6216),
+         q(6215),
          q(0),
          ],
       q(srl) => [
-         q(6217),
+         q(6216),
          q(0),
          ],
       q(srm) => [
-         q(6218),
+         q(6217),
          q(0),
          ],
       q(srn) => [
@@ -82736,7 +82786,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sro) => [
-         q(6219),
+         q(6218),
          q(0),
          ],
       q(srp) => [
@@ -82744,7 +82794,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(srq) => [
-         q(6220),
+         q(6219),
          q(0),
          ],
       q(srr) => [
@@ -82752,35 +82802,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(srs) => [
-         q(6221),
+         q(6220),
          q(0),
          ],
       q(srt) => [
-         q(6222),
+         q(6221),
          q(0),
          ],
       q(sru) => [
-         q(6223),
+         q(6222),
          q(0),
          ],
       q(srv) => [
-         q(6224),
+         q(6223),
          q(0),
          ],
       q(srw) => [
-         q(6225),
+         q(6224),
          q(0),
          ],
       q(srx) => [
-         q(6226),
+         q(6225),
          q(0),
          ],
       q(sry) => [
-         q(6227),
+         q(6226),
          q(0),
          ],
       q(srz) => [
-         q(6228),
+         q(6227),
          q(0),
          ],
       q(ssa) => [
@@ -82788,87 +82838,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ssb) => [
-         q(6229),
+         q(6228),
          q(0),
          ],
       q(ssc) => [
-         q(6230),
+         q(6229),
          q(0),
          ],
       q(ssd) => [
-         q(6231),
+         q(6230),
          q(0),
          ],
       q(sse) => [
-         q(6232),
+         q(6231),
          q(0),
          ],
       q(ssf) => [
-         q(6233),
+         q(6232),
          q(0),
          ],
       q(ssg) => [
-         q(6234),
+         q(6233),
          q(0),
          ],
       q(ssh) => [
-         q(6235),
+         q(6234),
          q(0),
          ],
       q(ssi) => [
-         q(6236),
+         q(6235),
          q(0),
          ],
       q(ssj) => [
-         q(6237),
+         q(6236),
          q(0),
          ],
       q(ssk) => [
-         q(6238),
+         q(6237),
          q(0),
          ],
       q(ssl) => [
-         q(6239),
+         q(6238),
          q(0),
          ],
       q(ssm) => [
-         q(6240),
+         q(6239),
          q(0),
          ],
       q(ssn) => [
-         q(6241),
+         q(6240),
          q(0),
          ],
       q(sso) => [
-         q(6242),
+         q(6241),
          q(0),
          ],
       q(ssp) => [
-         q(6243),
+         q(6242),
          q(0),
          ],
       q(ssq) => [
-         q(6244),
+         q(6243),
          q(0),
          ],
       q(ssr) => [
-         q(6245),
+         q(6244),
          q(0),
          ],
       q(sss) => [
-         q(6246),
+         q(6245),
          q(0),
          ],
       q(sst) => [
-         q(6247),
+         q(6246),
          q(0),
          ],
       q(ssu) => [
-         q(6248),
+         q(6247),
          q(0),
          ],
       q(ssv) => [
-         q(6249),
+         q(6248),
          q(0),
          ],
       q(ssw) => [
@@ -82876,135 +82926,135 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ssx) => [
-         q(6250),
+         q(6249),
          q(0),
          ],
       q(ssy) => [
-         q(6251),
+         q(6250),
          q(0),
          ],
       q(ssz) => [
-         q(6252),
+         q(6251),
          q(0),
          ],
       q(sta) => [
-         q(6253),
+         q(6252),
          q(0),
          ],
       q(stb) => [
-         q(6254),
+         q(6253),
          q(0),
          ],
       q(std) => [
-         q(6255),
+         q(6254),
          q(0),
          ],
       q(ste) => [
-         q(6256),
+         q(6255),
          q(0),
          ],
       q(stf) => [
-         q(6257),
+         q(6256),
          q(0),
          ],
       q(stg) => [
-         q(6258),
+         q(6257),
          q(0),
          ],
       q(sth) => [
-         q(6259),
+         q(6258),
          q(0),
          ],
       q(sti) => [
-         q(6260),
+         q(6259),
          q(0),
          ],
       q(stj) => [
-         q(6261),
+         q(6260),
          q(0),
          ],
       q(stk) => [
-         q(6262),
+         q(6261),
          q(0),
          ],
       q(stl) => [
-         q(6263),
+         q(6262),
          q(0),
          ],
       q(stm) => [
-         q(6264),
+         q(6263),
          q(0),
          ],
       q(stn) => [
-         q(6265),
+         q(6264),
          q(0),
          ],
       q(sto) => [
-         q(6266),
+         q(6265),
          q(0),
          ],
       q(stp) => [
-         q(6267),
+         q(6266),
          q(0),
          ],
       q(stq) => [
-         q(6268),
+         q(6267),
          q(0),
          ],
       q(str) => [
-         q(6269),
+         q(6268),
          q(0),
          ],
       q(sts) => [
-         q(6270),
+         q(6269),
          q(0),
          ],
       q(stt) => [
-         q(6271),
+         q(6270),
          q(0),
          ],
       q(stu) => [
-         q(6272),
+         q(6271),
          q(0),
          ],
       q(stv) => [
-         q(6273),
+         q(6272),
          q(0),
          ],
       q(stw) => [
-         q(6274),
+         q(6273),
          q(0),
          ],
       q(sty) => [
-         q(6275),
+         q(6274),
          q(0),
          ],
       q(sua) => [
-         q(6276),
+         q(6275),
          q(0),
          ],
       q(sub) => [
-         q(6277),
+         q(6276),
          q(0),
          ],
       q(suc) => [
-         q(6278),
+         q(6277),
          q(0),
          ],
       q(sue) => [
-         q(6279),
+         q(6278),
          q(0),
          ],
       q(sug) => [
-         q(6280),
+         q(6279),
          q(0),
          ],
       q(sui) => [
-         q(6281),
+         q(6280),
          q(0),
          ],
       q(suj) => [
-         q(6282),
+         q(6281),
          q(0),
          ],
       q(suk) => [
@@ -83016,11 +83066,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(suq) => [
-         q(6283),
+         q(6282),
          q(0),
          ],
       q(sur) => [
-         q(6284),
+         q(6283),
          q(0),
          ],
       q(sus) => [
@@ -83028,15 +83078,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sut) => [
-         q(6285),
+         q(6284),
          q(0),
          ],
       q(suv) => [
-         q(6286),
+         q(6285),
          q(0),
          ],
       q(suw) => [
-         q(6287),
+         q(6286),
          q(0),
          ],
       q(sux) => [
@@ -83044,47 +83094,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(suy) => [
-         q(6288),
+         q(6287),
          q(0),
          ],
       q(suz) => [
-         q(6289),
+         q(6288),
          q(0),
          ],
       q(sva) => [
-         q(6290),
+         q(6289),
          q(0),
          ],
       q(svb) => [
-         q(6291),
+         q(6290),
          q(0),
          ],
       q(svc) => [
-         q(6292),
+         q(6291),
          q(0),
          ],
       q(sve) => [
-         q(6293),
+         q(6292),
          q(0),
          ],
       q(svk) => [
-         q(6294),
+         q(6293),
          q(0),
          ],
       q(svm) => [
-         q(6295),
+         q(6294),
          q(0),
          ],
       q(svr) => [
-         q(6296),
+         q(6295),
          q(0),
          ],
       q(svs) => [
-         q(6297),
+         q(6296),
          q(0),
          ],
       q(svx) => [
-         q(6298),
+         q(6297),
          q(0),
          ],
       q(swa) => [
@@ -83092,11 +83142,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(swb) => [
-         q(6299),
+         q(6298),
          q(0),
          ],
       q(swc) => [
-         q(6300),
+         q(6299),
          q(0),
          ],
       q(swe) => [
@@ -83104,143 +83154,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(swf) => [
-         q(6301),
+         q(6300),
          q(0),
          ],
       q(swg) => [
-         q(6302),
+         q(6301),
          q(0),
          ],
       q(swh) => [
-         q(6303),
+         q(6302),
          q(0),
          ],
       q(swi) => [
-         q(6304),
+         q(6303),
          q(0),
          ],
       q(swj) => [
-         q(6305),
+         q(6304),
          q(0),
          ],
       q(swk) => [
-         q(6306),
+         q(6305),
          q(0),
          ],
       q(swl) => [
-         q(6307),
+         q(6306),
          q(0),
          ],
       q(swm) => [
-         q(6308),
+         q(6307),
          q(0),
          ],
       q(swn) => [
-         q(6309),
+         q(6308),
          q(0),
          ],
       q(swo) => [
-         q(6310),
+         q(6309),
          q(0),
          ],
       q(swp) => [
-         q(6311),
+         q(6310),
          q(0),
          ],
       q(swq) => [
-         q(6312),
+         q(6311),
          q(0),
          ],
       q(swr) => [
-         q(6313),
+         q(6312),
          q(0),
          ],
       q(sws) => [
-         q(6314),
+         q(6313),
          q(0),
          ],
       q(swt) => [
-         q(6315),
+         q(6314),
          q(0),
          ],
       q(swu) => [
-         q(6316),
+         q(6315),
          q(0),
          ],
       q(swv) => [
-         q(6317),
+         q(6316),
          q(0),
          ],
       q(sww) => [
-         q(6318),
+         q(6317),
          q(0),
          ],
       q(swx) => [
-         q(6319),
+         q(6318),
          q(0),
          ],
       q(swy) => [
-         q(6320),
+         q(6319),
          q(0),
          ],
       q(sxb) => [
-         q(6321),
+         q(6320),
          q(0),
          ],
       q(sxc) => [
-         q(6322),
+         q(6321),
          q(0),
          ],
       q(sxe) => [
-         q(6323),
+         q(6322),
          q(0),
          ],
       q(sxg) => [
-         q(6324),
+         q(6323),
          q(0),
          ],
       q(sxk) => [
-         q(6325),
+         q(6324),
          q(0),
          ],
       q(sxl) => [
-         q(6326),
+         q(6325),
          q(0),
          ],
       q(sxm) => [
-         q(6327),
+         q(6326),
          q(0),
          ],
       q(sxn) => [
-         q(6328),
+         q(6327),
          q(0),
          ],
       q(sxo) => [
-         q(6329),
+         q(6328),
          q(0),
          ],
       q(sxr) => [
-         q(6330),
+         q(6329),
          q(0),
          ],
       q(sxs) => [
-         q(6331),
+         q(6330),
          q(0),
          ],
       q(sxu) => [
-         q(6332),
+         q(6331),
          q(0),
          ],
       q(sxw) => [
-         q(6333),
+         q(6332),
          q(0),
          ],
       q(sya) => [
-         q(6334),
+         q(6333),
          q(0),
          ],
       q(syb) => [
-         q(6335),
+         q(6334),
          q(0),
          ],
       q(syc) => [
@@ -83252,27 +83302,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(syi) => [
-         q(6336),
+         q(6335),
          q(0),
          ],
       q(syk) => [
-         q(6337),
+         q(6336),
          q(0),
          ],
       q(syl) => [
-         q(6338),
+         q(6337),
          q(0),
          ],
       q(sym) => [
-         q(6339),
+         q(6338),
          q(0),
          ],
       q(syn) => [
-         q(6340),
+         q(6339),
          q(0),
          ],
       q(syo) => [
-         q(6341),
+         q(6340),
          q(0),
          ],
       q(syr) => [
@@ -83280,91 +83330,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sys) => [
-         q(6342),
+         q(6341),
          q(0),
          ],
       q(syw) => [
-         q(6343),
+         q(6342),
          q(0),
          ],
       q(syx) => [
-         q(6344),
+         q(6343),
          q(0),
          ],
       q(syy) => [
-         q(6345),
+         q(6344),
          q(0),
          ],
       q(sza) => [
-         q(6346),
+         q(6345),
          q(0),
          ],
       q(szb) => [
-         q(6347),
+         q(6346),
          q(0),
          ],
       q(szc) => [
-         q(6348),
+         q(6347),
          q(0),
          ],
       q(szd) => [
-         q(6349),
+         q(6348),
          q(0),
          ],
       q(sze) => [
-         q(6350),
+         q(6349),
          q(0),
          ],
       q(szg) => [
-         q(6351),
+         q(6350),
          q(0),
          ],
       q(szl) => [
-         q(6352),
+         q(6351),
          q(0),
          ],
       q(szn) => [
-         q(6353),
+         q(6352),
          q(0),
          ],
       q(szp) => [
-         q(6354),
+         q(6353),
          q(0),
          ],
       q(szv) => [
-         q(6355),
+         q(6354),
          q(0),
          ],
       q(szw) => [
-         q(6356),
+         q(6355),
          q(0),
          ],
       q(taa) => [
-         q(6357),
+         q(6356),
          q(0),
          ],
       q(tab) => [
-         q(6358),
+         q(6357),
          q(0),
          ],
       q(tac) => [
-         q(6359),
+         q(6358),
          q(0),
          ],
       q(tad) => [
-         q(6360),
+         q(6359),
          q(0),
          ],
       q(tae) => [
-         q(6361),
+         q(6360),
          q(0),
          ],
       q(taf) => [
-         q(6362),
+         q(6361),
          q(0),
          ],
       q(tag) => [
-         q(6363),
+         q(6362),
          q(0),
          ],
       q(tah) => [
@@ -83376,15 +83426,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(taj) => [
-         q(6364),
+         q(6363),
          q(0),
          ],
       q(tak) => [
-         q(6365),
+         q(6364),
          q(0),
          ],
       q(tal) => [
-         q(6366),
+         q(6365),
          q(0),
          ],
       q(tam) => [
@@ -83392,27 +83442,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tan) => [
-         q(6367),
+         q(6366),
          q(0),
          ],
       q(tao) => [
-         q(6368),
+         q(6367),
          q(0),
          ],
       q(tap) => [
-         q(6369),
+         q(6368),
          q(0),
          ],
       q(taq) => [
-         q(6370),
+         q(6369),
          q(0),
          ],
       q(tar) => [
-         q(6371),
+         q(6370),
          q(0),
          ],
       q(tas) => [
-         q(6372),
+         q(6371),
          q(0),
          ],
       q(tat) => [
@@ -83420,91 +83470,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tau) => [
-         q(6373),
+         q(6372),
          q(0),
          ],
       q(tav) => [
-         q(6374),
+         q(6373),
          q(0),
          ],
       q(taw) => [
-         q(6375),
+         q(6374),
          q(0),
          ],
       q(tax) => [
-         q(6376),
+         q(6375),
          q(0),
          ],
       q(tay) => [
-         q(6377),
+         q(6376),
          q(0),
          ],
       q(taz) => [
-         q(6378),
+         q(6377),
          q(0),
          ],
       q(tba) => [
-         q(6379),
+         q(6378),
          q(0),
          ],
       q(tbb) => [
-         q(6380),
+         q(6379),
          q(0),
          ],
       q(tbc) => [
-         q(6381),
+         q(6380),
          q(0),
          ],
       q(tbd) => [
-         q(6382),
+         q(6381),
          q(0),
          ],
       q(tbe) => [
-         q(6383),
+         q(6382),
          q(0),
          ],
       q(tbf) => [
-         q(6384),
+         q(6383),
          q(0),
          ],
       q(tbg) => [
-         q(6385),
+         q(6384),
          q(0),
          ],
       q(tbh) => [
-         q(6386),
+         q(6385),
          q(0),
          ],
       q(tbi) => [
-         q(6387),
+         q(6386),
          q(0),
          ],
       q(tbj) => [
-         q(6388),
+         q(6387),
          q(0),
          ],
       q(tbk) => [
-         q(6389),
+         q(6388),
          q(0),
          ],
       q(tbl) => [
-         q(6390),
+         q(6389),
          q(0),
          ],
       q(tbm) => [
-         q(6391),
+         q(6390),
          q(0),
          ],
       q(tbn) => [
-         q(6392),
+         q(6391),
          q(0),
          ],
       q(tbo) => [
-         q(6393),
+         q(6392),
          q(0),
          ],
       q(tbp) => [
-         q(6394),
+         q(6393),
          q(0),
          ],
       q(tbq) => [
@@ -83512,259 +83562,259 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tbr) => [
-         q(6395),
+         q(6394),
          q(0),
          ],
       q(tbs) => [
-         q(6396),
+         q(6395),
          q(0),
          ],
       q(tbt) => [
-         q(6397),
+         q(6396),
          q(0),
          ],
       q(tbu) => [
-         q(6398),
+         q(6397),
          q(0),
          ],
       q(tbv) => [
-         q(6399),
+         q(6398),
          q(0),
          ],
       q(tbw) => [
-         q(6400),
+         q(6399),
          q(0),
          ],
       q(tbx) => [
-         q(6401),
+         q(6400),
          q(0),
          ],
       q(tby) => [
-         q(6402),
+         q(6401),
          q(0),
          ],
       q(tbz) => [
-         q(6403),
+         q(6402),
          q(0),
          ],
       q(tca) => [
-         q(6404),
+         q(6403),
          q(0),
          ],
       q(tcb) => [
-         q(6405),
+         q(6404),
          q(0),
          ],
       q(tcc) => [
-         q(6406),
+         q(6405),
          q(0),
          ],
       q(tcd) => [
-         q(6407),
+         q(6406),
          q(0),
          ],
       q(tce) => [
-         q(6408),
+         q(6407),
          q(0),
          ],
       q(tcf) => [
-         q(6409),
+         q(6408),
          q(0),
          ],
       q(tcg) => [
-         q(6410),
+         q(6409),
          q(0),
          ],
       q(tch) => [
-         q(6411),
+         q(6410),
          q(0),
          ],
       q(tci) => [
-         q(6412),
+         q(6411),
          q(0),
          ],
       q(tck) => [
-         q(6413),
+         q(6412),
          q(0),
          ],
       q(tcl) => [
-         q(6414),
+         q(6413),
          q(0),
          ],
       q(tcm) => [
-         q(6415),
+         q(6414),
          q(0),
          ],
       q(tcn) => [
-         q(6416),
+         q(6415),
          q(0),
          ],
       q(tco) => [
-         q(6417),
+         q(6416),
          q(0),
          ],
       q(tcp) => [
-         q(6418),
+         q(6417),
          q(0),
          ],
       q(tcq) => [
-         q(6419),
+         q(6418),
          q(0),
          ],
       q(tcs) => [
-         q(6420),
+         q(6419),
          q(0),
          ],
       q(tct) => [
-         q(6421),
+         q(6420),
          q(0),
          ],
       q(tcu) => [
-         q(6422),
+         q(6421),
          q(0),
          ],
       q(tcw) => [
-         q(6423),
+         q(6422),
          q(0),
          ],
       q(tcx) => [
-         q(6424),
+         q(6423),
          q(0),
          ],
       q(tcy) => [
-         q(6425),
+         q(6424),
          q(0),
          ],
       q(tcz) => [
-         q(6426),
+         q(6425),
          q(0),
          ],
       q(tda) => [
-         q(6427),
+         q(6426),
          q(0),
          ],
       q(tdb) => [
-         q(6428),
+         q(6427),
          q(0),
          ],
       q(tdc) => [
-         q(6429),
+         q(6428),
          q(0),
          ],
       q(tdd) => [
-         q(6430),
+         q(6429),
          q(0),
          ],
       q(tde) => [
-         q(6431),
+         q(6430),
          q(0),
          ],
       q(tdf) => [
-         q(6432),
+         q(6431),
          q(0),
          ],
       q(tdg) => [
-         q(6433),
+         q(6432),
          q(0),
          ],
       q(tdh) => [
-         q(6434),
+         q(6433),
          q(0),
          ],
       q(tdi) => [
-         q(6435),
+         q(6434),
          q(0),
          ],
       q(tdj) => [
-         q(6436),
+         q(6435),
          q(0),
          ],
       q(tdk) => [
-         q(6437),
+         q(6436),
          q(0),
          ],
       q(tdl) => [
-         q(6438),
+         q(6437),
          q(0),
          ],
       q(tdn) => [
-         q(6439),
+         q(6438),
          q(0),
          ],
       q(tdo) => [
-         q(6440),
+         q(6439),
          q(0),
          ],
       q(tdq) => [
-         q(6441),
+         q(6440),
          q(0),
          ],
       q(tdr) => [
-         q(6442),
+         q(6441),
          q(0),
          ],
       q(tds) => [
-         q(6443),
+         q(6442),
          q(0),
          ],
       q(tdt) => [
-         q(6444),
+         q(6443),
          q(0),
          ],
       q(tdu) => [
-         q(6445),
+         q(6444),
          q(0),
          ],
       q(tdv) => [
-         q(6446),
+         q(6445),
          q(0),
          ],
       q(tdx) => [
-         q(6447),
+         q(6446),
          q(0),
          ],
       q(tdy) => [
-         q(6448),
+         q(6447),
          q(0),
          ],
       q(tea) => [
-         q(6449),
+         q(6448),
          q(0),
          ],
       q(teb) => [
-         q(6450),
+         q(6449),
          q(0),
          ],
       q(tec) => [
-         q(6451),
+         q(6450),
          q(0),
          ],
       q(ted) => [
-         q(6452),
+         q(6451),
          q(0),
          ],
       q(tee) => [
-         q(6453),
+         q(6452),
          q(0),
          ],
       q(tef) => [
-         q(6454),
+         q(6453),
          q(0),
          ],
       q(teg) => [
-         q(6455),
+         q(6454),
          q(0),
          ],
       q(teh) => [
-         q(6456),
+         q(6455),
          q(0),
          ],
       q(tei) => [
-         q(6457),
+         q(6456),
          q(0),
          ],
       q(tek) => [
-         q(6458),
+         q(6457),
          q(0),
          ],
       q(tel) => [
@@ -83776,19 +83826,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ten) => [
-         q(6459),
+         q(6458),
          q(0),
          ],
       q(teo) => [
-         q(6460),
+         q(6459),
          q(0),
          ],
       q(tep) => [
-         q(6461),
+         q(6460),
          q(0),
          ],
       q(teq) => [
-         q(6462),
+         q(6461),
          q(0),
          ],
       q(ter) => [
@@ -83796,7 +83846,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tes) => [
-         q(6463),
+         q(6462),
          q(0),
          ],
       q(tet) => [
@@ -83804,79 +83854,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(teu) => [
-         q(6464),
+         q(6463),
          q(0),
          ],
       q(tev) => [
-         q(6465),
+         q(6464),
          q(0),
          ],
       q(tew) => [
-         q(6466),
+         q(6465),
          q(0),
          ],
       q(tex) => [
-         q(6467),
+         q(6466),
          q(0),
          ],
       q(tey) => [
-         q(6468),
+         q(6467),
          q(0),
          ],
       q(tfi) => [
-         q(6469),
+         q(6468),
          q(0),
          ],
       q(tfn) => [
-         q(6470),
+         q(6469),
          q(0),
          ],
       q(tfo) => [
-         q(6471),
+         q(6470),
          q(0),
          ],
       q(tfr) => [
-         q(6472),
+         q(6471),
          q(0),
          ],
       q(tft) => [
-         q(6473),
+         q(6472),
          q(0),
          ],
       q(tga) => [
-         q(6474),
+         q(6473),
          q(0),
          ],
       q(tgb) => [
-         q(6475),
+         q(6474),
          q(0),
          ],
       q(tgc) => [
-         q(6476),
+         q(6475),
          q(0),
          ],
       q(tgd) => [
-         q(6477),
+         q(6476),
          q(0),
          ],
       q(tge) => [
-         q(6478),
+         q(6477),
          q(0),
          ],
       q(tgf) => [
-         q(6479),
+         q(6478),
          q(0),
          ],
       q(tgh) => [
-         q(6480),
+         q(6479),
          q(0),
          ],
       q(tgi) => [
-         q(6481),
+         q(6480),
          q(0),
          ],
       q(tgj) => [
-         q(6482),
+         q(6481),
          q(0),
          ],
       q(tgk) => [
@@ -83888,55 +83938,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tgn) => [
-         q(6483),
+         q(6482),
          q(0),
          ],
       q(tgo) => [
-         q(6484),
+         q(6483),
          q(0),
          ],
       q(tgp) => [
-         q(6485),
+         q(6484),
          q(0),
          ],
       q(tgq) => [
-         q(6486),
+         q(6485),
          q(0),
          ],
       q(tgr) => [
-         q(6487),
+         q(6486),
          q(0),
          ],
       q(tgs) => [
-         q(6488),
+         q(6487),
          q(0),
          ],
       q(tgt) => [
-         q(6489),
+         q(6488),
          q(0),
          ],
       q(tgu) => [
-         q(6490),
+         q(6489),
          q(0),
          ],
       q(tgv) => [
-         q(6491),
+         q(6490),
          q(0),
          ],
       q(tgw) => [
-         q(6492),
+         q(6491),
          q(0),
          ],
       q(tgx) => [
-         q(6493),
+         q(6492),
          q(0),
          ],
       q(tgy) => [
-         q(6494),
+         q(6493),
          q(0),
          ],
       q(tgz) => [
-         q(6495),
+         q(6494),
          q(0),
          ],
       q(tha) => [
@@ -83944,87 +83994,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(thc) => [
-         q(6496),
+         q(6495),
          q(0),
          ],
       q(thd) => [
-         q(6497),
+         q(6496),
          q(0),
          ],
       q(the) => [
-         q(6498),
+         q(6497),
          q(0),
          ],
       q(thf) => [
-         q(6499),
+         q(6498),
          q(0),
          ],
       q(thh) => [
-         q(6500),
+         q(6499),
          q(0),
          ],
       q(thi) => [
-         q(6501),
+         q(6500),
          q(0),
          ],
       q(thk) => [
-         q(6502),
+         q(6501),
          q(0),
          ],
       q(thl) => [
-         q(6503),
+         q(6502),
          q(0),
          ],
       q(thm) => [
-         q(6504),
+         q(6503),
          q(0),
          ],
       q(thn) => [
-         q(6505),
+         q(6504),
          q(0),
          ],
       q(thp) => [
-         q(6506),
+         q(6505),
          q(0),
          ],
       q(thq) => [
-         q(6507),
+         q(6506),
          q(0),
          ],
       q(thr) => [
-         q(6508),
+         q(6507),
          q(0),
          ],
       q(ths) => [
-         q(6509),
+         q(6508),
          q(0),
          ],
       q(tht) => [
-         q(6510),
+         q(6509),
          q(0),
          ],
       q(thu) => [
-         q(6511),
+         q(6510),
          q(0),
          ],
       q(thv) => [
-         q(6512),
+         q(6511),
          q(0),
          ],
       q(thw) => [
-         q(6513),
+         q(6512),
          q(0),
          ],
       q(thy) => [
-         q(6514),
+         q(6513),
          q(0),
          ],
       q(thz) => [
-         q(6515),
+         q(6514),
          q(0),
          ],
       q(tia) => [
-         q(6516),
+         q(6515),
          q(0),
          ],
       q(tib) => [
@@ -84032,15 +84082,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tic) => [
-         q(6517),
+         q(6516),
          q(0),
          ],
       q(tid) => [
-         q(6518),
+         q(6517),
          q(0),
          ],
       q(tif) => [
-         q(6519),
+         q(6518),
          q(0),
          ],
       q(tig) => [
@@ -84048,43 +84098,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tih) => [
-         q(6520),
+         q(6519),
          q(0),
          ],
       q(tii) => [
-         q(6521),
+         q(6520),
          q(0),
          ],
       q(tij) => [
-         q(6522),
+         q(6521),
          q(0),
          ],
       q(tik) => [
-         q(6523),
+         q(6522),
          q(0),
          ],
       q(til) => [
-         q(6524),
+         q(6523),
          q(0),
          ],
       q(tim) => [
-         q(6525),
+         q(6524),
          q(0),
          ],
       q(tin) => [
-         q(6526),
+         q(6525),
          q(0),
          ],
       q(tio) => [
-         q(6527),
+         q(6526),
          q(0),
          ],
       q(tip) => [
-         q(6528),
+         q(6527),
          q(0),
          ],
       q(tiq) => [
-         q(6529),
+         q(6528),
          q(0),
          ],
       q(tir) => [
@@ -84092,15 +84142,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tis) => [
-         q(6530),
+         q(6529),
          q(0),
          ],
       q(tit) => [
-         q(6531),
+         q(6530),
          q(0),
          ],
       q(tiu) => [
-         q(6532),
+         q(6531),
          q(0),
          ],
       q(tiv) => [
@@ -84108,83 +84158,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tiw) => [
-         q(6533),
+         q(6532),
          q(0),
          ],
       q(tix) => [
-         q(6534),
+         q(6533),
          q(0),
          ],
       q(tiy) => [
-         q(6535),
+         q(6534),
          q(0),
          ],
       q(tiz) => [
-         q(6536),
+         q(6535),
          q(0),
          ],
       q(tja) => [
-         q(6537),
+         q(6536),
          q(0),
          ],
       q(tjg) => [
-         q(6538),
+         q(6537),
          q(0),
          ],
       q(tji) => [
-         q(6539),
+         q(6538),
          q(0),
          ],
       q(tjl) => [
-         q(6540),
+         q(6539),
          q(0),
          ],
       q(tjm) => [
-         q(6541),
+         q(6540),
          q(0),
          ],
       q(tjn) => [
-         q(6542),
+         q(6541),
          q(0),
          ],
       q(tjo) => [
-         q(6543),
+         q(6542),
          q(0),
          ],
       q(tjs) => [
-         q(6544),
+         q(6543),
          q(0),
          ],
       q(tju) => [
-         q(6545),
+         q(6544),
          q(0),
          ],
       q(tjw) => [
-         q(6546),
+         q(6545),
          q(0),
          ],
       q(tka) => [
-         q(6547),
+         q(6546),
          q(0),
          ],
       q(tkb) => [
-         q(6548),
+         q(6547),
          q(0),
          ],
       q(tkd) => [
-         q(6549),
+         q(6548),
          q(0),
          ],
       q(tke) => [
-         q(6550),
+         q(6549),
          q(0),
          ],
       q(tkf) => [
-         q(6551),
+         q(6550),
          q(0),
          ],
       q(tkg) => [
-         q(6552),
+         q(6551),
          q(0),
          ],
       q(tkl) => [
@@ -84192,75 +84242,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tkm) => [
-         q(6553),
+         q(6552),
          q(0),
          ],
       q(tkn) => [
-         q(6554),
+         q(6553),
          q(0),
          ],
       q(tkp) => [
-         q(6555),
+         q(6554),
          q(0),
          ],
       q(tkq) => [
-         q(6556),
+         q(6555),
          q(0),
          ],
       q(tkr) => [
-         q(6557),
+         q(6556),
          q(0),
          ],
       q(tks) => [
-         q(6558),
+         q(6557),
          q(0),
          ],
       q(tkt) => [
-         q(6559),
+         q(6558),
          q(0),
          ],
       q(tku) => [
-         q(6560),
+         q(6559),
          q(0),
          ],
       q(tkv) => [
-         q(6561),
+         q(6560),
          q(0),
          ],
       q(tkw) => [
-         q(6562),
+         q(6561),
          q(0),
          ],
       q(tkx) => [
-         q(6563),
+         q(6562),
          q(0),
          ],
       q(tkz) => [
-         q(6564),
+         q(6563),
          q(0),
          ],
       q(tla) => [
-         q(6565),
+         q(6564),
          q(0),
          ],
       q(tlb) => [
-         q(6566),
+         q(6565),
          q(0),
          ],
       q(tlc) => [
-         q(6567),
+         q(6566),
          q(0),
          ],
       q(tld) => [
-         q(6568),
+         q(6567),
          q(0),
          ],
       q(tlf) => [
-         q(6569),
+         q(6568),
          q(0),
          ],
       q(tlg) => [
-         q(6570),
+         q(6569),
          q(0),
          ],
       q(tlh) => [
@@ -84272,91 +84322,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tlj) => [
-         q(6571),
+         q(6570),
          q(0),
          ],
       q(tlk) => [
-         q(6572),
+         q(6571),
          q(0),
          ],
       q(tll) => [
-         q(6573),
+         q(6572),
          q(0),
          ],
       q(tlm) => [
-         q(6574),
+         q(6573),
          q(0),
          ],
       q(tln) => [
-         q(6575),
+         q(6574),
          q(0),
          ],
       q(tlo) => [
-         q(6576),
+         q(6575),
          q(0),
          ],
       q(tlp) => [
-         q(6577),
+         q(6576),
          q(0),
          ],
       q(tlq) => [
-         q(6578),
+         q(6577),
          q(0),
          ],
       q(tlr) => [
-         q(6579),
+         q(6578),
          q(0),
          ],
       q(tls) => [
-         q(6580),
+         q(6579),
          q(0),
          ],
       q(tlt) => [
-         q(6581),
+         q(6580),
          q(0),
          ],
       q(tlu) => [
-         q(6582),
+         q(6581),
          q(0),
          ],
       q(tlv) => [
-         q(6583),
+         q(6582),
          q(0),
          ],
       q(tlx) => [
-         q(6584),
+         q(6583),
          q(0),
          ],
       q(tly) => [
-         q(6585),
+         q(6584),
          q(0),
          ],
       q(tma) => [
-         q(6586),
+         q(6585),
          q(0),
          ],
       q(tmb) => [
-         q(6587),
+         q(6586),
          q(0),
          ],
       q(tmc) => [
-         q(6588),
+         q(6587),
          q(0),
          ],
       q(tmd) => [
-         q(6589),
+         q(6588),
          q(0),
          ],
       q(tme) => [
-         q(6590),
+         q(6589),
          q(0),
          ],
       q(tmf) => [
-         q(6591),
+         q(6590),
          q(0),
          ],
       q(tmg) => [
-         q(6592),
+         q(6591),
          q(0),
          ],
       q(tmh) => [
@@ -84364,187 +84414,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tmi) => [
-         q(6593),
+         q(6592),
          q(0),
          ],
       q(tmj) => [
-         q(6594),
+         q(6593),
          q(0),
          ],
       q(tmk) => [
-         q(6595),
+         q(6594),
          q(0),
          ],
       q(tml) => [
-         q(6596),
+         q(6595),
          q(0),
          ],
       q(tmm) => [
-         q(6597),
+         q(6596),
          q(0),
          ],
       q(tmn) => [
-         q(6598),
+         q(6597),
          q(0),
          ],
       q(tmo) => [
-         q(6599),
+         q(6598),
          q(0),
          ],
       q(tmp) => [
-         q(6600),
+         q(6599),
          q(0),
          ],
       q(tmq) => [
-         q(6601),
+         q(6600),
          q(0),
          ],
       q(tmr) => [
-         q(6602),
+         q(6601),
          q(0),
          ],
       q(tms) => [
-         q(6603),
+         q(6602),
          q(0),
          ],
       q(tmt) => [
-         q(6604),
+         q(6603),
          q(0),
          ],
       q(tmu) => [
-         q(6605),
+         q(6604),
          q(0),
          ],
       q(tmv) => [
-         q(6606),
+         q(6605),
          q(0),
          ],
       q(tmw) => [
-         q(6607),
+         q(6606),
          q(0),
          ],
       q(tmy) => [
-         q(6608),
+         q(6607),
          q(0),
          ],
       q(tmz) => [
-         q(6609),
+         q(6608),
          q(0),
          ],
       q(tna) => [
-         q(6610),
+         q(6609),
          q(0),
          ],
       q(tnb) => [
-         q(6611),
+         q(6610),
          q(0),
          ],
       q(tnc) => [
-         q(6612),
+         q(6611),
          q(0),
          ],
       q(tnd) => [
-         q(6613),
+         q(6612),
          q(0),
          ],
       q(tne) => [
-         q(6614),
+         q(6613),
          q(0),
          ],
       q(tng) => [
-         q(6615),
+         q(6614),
          q(0),
          ],
       q(tnh) => [
-         q(6616),
+         q(6615),
          q(0),
          ],
       q(tni) => [
-         q(6617),
+         q(6616),
          q(0),
          ],
       q(tnk) => [
-         q(6618),
+         q(6617),
          q(0),
          ],
       q(tnl) => [
-         q(6619),
+         q(6618),
          q(0),
          ],
       q(tnm) => [
-         q(6620),
+         q(6619),
          q(0),
          ],
       q(tnn) => [
-         q(6621),
+         q(6620),
          q(0),
          ],
       q(tno) => [
-         q(6622),
+         q(6621),
          q(0),
          ],
       q(tnp) => [
-         q(6623),
+         q(6622),
          q(0),
          ],
       q(tnq) => [
-         q(6624),
+         q(6623),
          q(0),
          ],
       q(tnr) => [
-         q(6625),
+         q(6624),
          q(0),
          ],
       q(tns) => [
-         q(6626),
+         q(6625),
          q(0),
          ],
       q(tnt) => [
-         q(6627),
+         q(6626),
          q(0),
          ],
       q(tnu) => [
-         q(6628),
+         q(6627),
          q(0),
          ],
       q(tnv) => [
-         q(6629),
+         q(6628),
          q(0),
          ],
       q(tnw) => [
-         q(6630),
+         q(6629),
          q(0),
          ],
       q(tnx) => [
-         q(6631),
+         q(6630),
          q(0),
          ],
       q(tny) => [
-         q(6632),
+         q(6631),
          q(0),
          ],
       q(tnz) => [
-         q(6633),
+         q(6632),
          q(0),
          ],
       q(tob) => [
-         q(6634),
+         q(6633),
          q(0),
          ],
       q(toc) => [
-         q(6635),
+         q(6634),
          q(0),
          ],
       q(tod) => [
-         q(6636),
+         q(6635),
          q(0),
          ],
       q(toe) => [
-         q(6637),
+         q(6636),
          q(0),
          ],
       q(tof) => [
-         q(6638),
+         q(6637),
          q(0),
          ],
       q(tog) => [
@@ -84552,23 +84602,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(toh) => [
-         q(6639),
+         q(6638),
          q(0),
          ],
       q(toi) => [
-         q(6640),
+         q(6639),
          q(0),
          ],
       q(toj) => [
-         q(6641),
+         q(6640),
          q(0),
          ],
       q(tol) => [
-         q(6642),
+         q(6641),
          q(0),
          ],
       q(tom) => [
-         q(6643),
+         q(6642),
          q(0),
          ],
       q(ton) => [
@@ -84576,67 +84626,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(too) => [
-         q(6644),
+         q(6643),
          q(0),
          ],
       q(top) => [
-         q(6645),
+         q(6644),
          q(0),
          ],
       q(toq) => [
-         q(6646),
+         q(6645),
          q(0),
          ],
       q(tor) => [
-         q(6647),
+         q(6646),
          q(0),
          ],
       q(tos) => [
-         q(6648),
+         q(6647),
          q(0),
          ],
       q(tou) => [
-         q(6649),
+         q(6648),
          q(0),
          ],
       q(tov) => [
-         q(6650),
+         q(6649),
          q(0),
          ],
       q(tow) => [
-         q(6651),
+         q(6650),
          q(0),
          ],
       q(tox) => [
-         q(6652),
+         q(6651),
          q(0),
          ],
       q(toy) => [
-         q(6653),
+         q(6652),
          q(0),
          ],
       q(toz) => [
-         q(6654),
+         q(6653),
          q(0),
          ],
       q(tpa) => [
-         q(6655),
+         q(6654),
          q(0),
          ],
       q(tpc) => [
-         q(6656),
+         q(6655),
          q(0),
          ],
       q(tpe) => [
-         q(6657),
+         q(6656),
          q(0),
          ],
       q(tpf) => [
-         q(6658),
+         q(6657),
          q(0),
          ],
       q(tpg) => [
-         q(6659),
+         q(6658),
          q(0),
          ],
       q(tpi) => [
@@ -84644,151 +84694,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tpj) => [
-         q(6660),
+         q(6659),
          q(0),
          ],
       q(tpk) => [
-         q(6661),
+         q(6660),
          q(0),
          ],
       q(tpl) => [
-         q(6662),
+         q(6661),
          q(0),
          ],
       q(tpm) => [
-         q(6663),
+         q(6662),
          q(0),
          ],
       q(tpn) => [
-         q(6664),
+         q(6663),
          q(0),
          ],
       q(tpo) => [
-         q(6665),
+         q(6664),
          q(0),
          ],
       q(tpp) => [
-         q(6666),
+         q(6665),
          q(0),
          ],
       q(tpq) => [
-         q(6667),
+         q(6666),
          q(0),
          ],
       q(tpr) => [
-         q(6668),
+         q(6667),
          q(0),
          ],
       q(tpt) => [
-         q(6669),
+         q(6668),
          q(0),
          ],
       q(tpu) => [
-         q(6670),
+         q(6669),
          q(0),
          ],
       q(tpv) => [
-         q(6671),
+         q(6670),
          q(0),
          ],
       q(tpw) => [
-         q(6672),
+         q(6671),
          q(0),
          ],
       q(tpx) => [
-         q(6673),
+         q(6672),
          q(0),
          ],
       q(tpy) => [
-         q(6674),
+         q(6673),
          q(0),
          ],
       q(tpz) => [
-         q(6675),
+         q(6674),
          q(0),
          ],
       q(tqb) => [
-         q(6676),
+         q(6675),
          q(0),
          ],
       q(tql) => [
-         q(6677),
+         q(6676),
          q(0),
          ],
       q(tqm) => [
-         q(6678),
+         q(6677),
          q(0),
          ],
       q(tqn) => [
-         q(6679),
+         q(6678),
          q(0),
          ],
       q(tqo) => [
-         q(6680),
+         q(6679),
          q(0),
          ],
       q(tqp) => [
-         q(6681),
+         q(6680),
          q(0),
          ],
       q(tqq) => [
-         q(6682),
+         q(6681),
          q(0),
          ],
       q(tqr) => [
-         q(6683),
+         q(6682),
          q(0),
          ],
       q(tqt) => [
-         q(6684),
+         q(6683),
          q(0),
          ],
       q(tqu) => [
-         q(6685),
+         q(6684),
          q(0),
          ],
       q(tqw) => [
-         q(6686),
+         q(6685),
          q(0),
          ],
       q(tra) => [
-         q(6687),
+         q(6686),
          q(0),
          ],
       q(trb) => [
-         q(6688),
+         q(6687),
          q(0),
          ],
       q(trc) => [
-         q(6689),
+         q(6688),
          q(0),
          ],
       q(trd) => [
-         q(6690),
+         q(6689),
          q(0),
          ],
       q(tre) => [
-         q(6691),
+         q(6690),
          q(0),
          ],
       q(trf) => [
-         q(6692),
+         q(6691),
          q(0),
          ],
       q(trg) => [
-         q(6693),
+         q(6692),
          q(0),
          ],
       q(trh) => [
-         q(6694),
+         q(6693),
          q(0),
          ],
       q(tri) => [
-         q(6695),
+         q(6694),
          q(0),
          ],
       q(trj) => [
-         q(6696),
+         q(6695),
          q(0),
          ],
       q(trk) => [
@@ -84796,91 +84846,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(trl) => [
-         q(6697),
+         q(6696),
          q(0),
          ],
       q(trm) => [
-         q(6698),
+         q(6697),
          q(0),
          ],
       q(trn) => [
-         q(6699),
+         q(6698),
          q(0),
          ],
       q(tro) => [
-         q(6700),
+         q(6699),
          q(0),
          ],
       q(trp) => [
-         q(6701),
+         q(6700),
          q(0),
          ],
       q(trq) => [
-         q(6702),
+         q(6701),
          q(0),
          ],
       q(trr) => [
-         q(6703),
+         q(6702),
          q(0),
          ],
       q(trs) => [
-         q(6704),
+         q(6703),
          q(0),
          ],
       q(trt) => [
-         q(6705),
+         q(6704),
          q(0),
          ],
       q(tru) => [
-         q(6706),
+         q(6705),
          q(0),
          ],
       q(trv) => [
-         q(6707),
+         q(6706),
          q(0),
          ],
       q(trw) => [
-         q(6708),
+         q(6707),
          q(0),
          ],
       q(trx) => [
-         q(6709),
+         q(6708),
          q(0),
          ],
       q(try) => [
-         q(6710),
+         q(6709),
          q(0),
          ],
       q(trz) => [
-         q(6711),
+         q(6710),
          q(0),
          ],
       q(tsa) => [
-         q(6712),
+         q(6711),
          q(0),
          ],
       q(tsb) => [
-         q(6713),
+         q(6712),
          q(0),
          ],
       q(tsc) => [
-         q(6714),
+         q(6713),
          q(0),
          ],
       q(tsd) => [
-         q(6715),
+         q(6714),
          q(0),
          ],
       q(tse) => [
-         q(6716),
+         q(6715),
          q(0),
          ],
       q(tsg) => [
-         q(6717),
+         q(6716),
          q(0),
          ],
       q(tsh) => [
-         q(6718),
+         q(6717),
          q(0),
          ],
       q(tsi) => [
@@ -84888,19 +84938,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tsj) => [
-         q(6719),
+         q(6718),
          q(0),
          ],
       q(tsk) => [
-         q(6720),
+         q(6719),
          q(0),
          ],
       q(tsl) => [
-         q(6721),
+         q(6720),
          q(0),
          ],
       q(tsm) => [
-         q(6722),
+         q(6721),
          q(0),
          ],
       q(tsn) => [
@@ -84912,187 +84962,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tsp) => [
-         q(6723),
+         q(6722),
          q(0),
          ],
       q(tsq) => [
-         q(6724),
+         q(6723),
          q(0),
          ],
       q(tsr) => [
-         q(6725),
+         q(6724),
          q(0),
          ],
       q(tss) => [
-         q(6726),
+         q(6725),
          q(0),
          ],
       q(tst) => [
-         q(6727),
+         q(6726),
          q(0),
          ],
       q(tsu) => [
-         q(6728),
+         q(6727),
          q(0),
          ],
       q(tsv) => [
-         q(6729),
+         q(6728),
          q(0),
          ],
       q(tsw) => [
-         q(6730),
+         q(6729),
          q(0),
          ],
       q(tsx) => [
-         q(6731),
+         q(6730),
          q(0),
          ],
       q(tsy) => [
-         q(6732),
+         q(6731),
          q(0),
          ],
       q(tsz) => [
-         q(6733),
+         q(6732),
          q(0),
          ],
       q(tta) => [
-         q(6734),
+         q(6733),
          q(0),
          ],
       q(ttb) => [
-         q(6735),
+         q(6734),
          q(0),
          ],
       q(ttc) => [
-         q(6736),
+         q(6735),
          q(0),
          ],
       q(ttd) => [
-         q(6737),
+         q(6736),
          q(0),
          ],
       q(tte) => [
-         q(6738),
+         q(6737),
          q(0),
          ],
       q(ttf) => [
-         q(6739),
+         q(6738),
          q(0),
          ],
       q(ttg) => [
-         q(6740),
+         q(6739),
          q(0),
          ],
       q(tth) => [
-         q(6741),
+         q(6740),
          q(0),
          ],
       q(tti) => [
-         q(6742),
+         q(6741),
          q(0),
          ],
       q(ttj) => [
-         q(6743),
+         q(6742),
          q(0),
          ],
       q(ttk) => [
-         q(6744),
+         q(6743),
          q(0),
          ],
       q(ttl) => [
-         q(6745),
+         q(6744),
          q(0),
          ],
       q(ttm) => [
-         q(6746),
+         q(6745),
          q(0),
          ],
       q(ttn) => [
-         q(6747),
+         q(6746),
          q(0),
          ],
       q(tto) => [
-         q(6748),
+         q(6747),
          q(0),
          ],
       q(ttp) => [
-         q(6749),
+         q(6748),
          q(0),
          ],
       q(ttq) => [
-         q(6750),
+         q(6749),
          q(0),
          ],
       q(ttr) => [
-         q(6751),
+         q(6750),
          q(0),
          ],
       q(tts) => [
-         q(6752),
+         q(6751),
          q(0),
          ],
       q(ttt) => [
-         q(6753),
+         q(6752),
          q(0),
          ],
       q(ttu) => [
-         q(6754),
+         q(6753),
          q(0),
          ],
       q(ttv) => [
-         q(6755),
+         q(6754),
          q(0),
          ],
       q(ttw) => [
-         q(6756),
+         q(6755),
          q(0),
          ],
       q(tty) => [
-         q(6757),
+         q(6756),
          q(0),
          ],
       q(ttz) => [
-         q(6758),
+         q(6757),
          q(0),
          ],
       q(tua) => [
-         q(6759),
+         q(6758),
          q(0),
          ],
       q(tub) => [
-         q(6760),
+         q(6759),
          q(0),
          ],
       q(tuc) => [
-         q(6761),
+         q(6760),
          q(0),
          ],
       q(tud) => [
-         q(6762),
+         q(6761),
          q(0),
          ],
       q(tue) => [
-         q(6763),
+         q(6762),
          q(0),
          ],
       q(tuf) => [
-         q(6764),
+         q(6763),
          q(0),
          ],
       q(tug) => [
-         q(6765),
+         q(6764),
          q(0),
          ],
       q(tuh) => [
-         q(6766),
+         q(6765),
          q(0),
          ],
       q(tui) => [
-         q(6767),
+         q(6766),
          q(0),
          ],
       q(tuj) => [
-         q(6768),
+         q(6767),
          q(0),
          ],
       q(tuk) => [
@@ -85100,7 +85150,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tul) => [
-         q(6769),
+         q(6768),
          q(0),
          ],
       q(tum) => [
@@ -85108,11 +85158,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tun) => [
-         q(6770),
+         q(6769),
          q(0),
          ],
       q(tuo) => [
-         q(6771),
+         q(6770),
          q(0),
          ],
       q(tup) => [
@@ -85120,7 +85170,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tuq) => [
-         q(6772),
+         q(6771),
          q(0),
          ],
       q(tur) => [
@@ -85128,7 +85178,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tus) => [
-         q(6773),
+         q(6772),
          q(0),
          ],
       q(tut) => [
@@ -85136,11 +85186,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tuu) => [
-         q(6774),
+         q(6773),
          q(0),
          ],
       q(tuv) => [
-         q(6775),
+         q(6774),
          q(0),
          ],
       q(tuw) => [
@@ -85148,31 +85198,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tux) => [
-         q(6776),
+         q(6775),
          q(0),
          ],
       q(tuy) => [
-         q(6777),
+         q(6776),
          q(0),
          ],
       q(tuz) => [
-         q(6778),
+         q(6777),
          q(0),
          ],
       q(tva) => [
-         q(6779),
+         q(6778),
          q(0),
          ],
       q(tvd) => [
-         q(6780),
+         q(6779),
          q(0),
          ],
       q(tve) => [
-         q(6781),
+         q(6780),
          q(0),
          ],
       q(tvk) => [
-         q(6782),
+         q(6781),
          q(0),
          ],
       q(tvl) => [
@@ -85180,67 +85230,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tvm) => [
-         q(6783),
+         q(6782),
          q(0),
          ],
       q(tvn) => [
-         q(6784),
+         q(6783),
          q(0),
          ],
       q(tvo) => [
-         q(6785),
+         q(6784),
          q(0),
          ],
       q(tvs) => [
-         q(6786),
+         q(6785),
          q(0),
          ],
       q(tvt) => [
-         q(6787),
+         q(6786),
          q(0),
          ],
       q(tvu) => [
-         q(6788),
+         q(6787),
          q(0),
          ],
       q(tvw) => [
-         q(6789),
+         q(6788),
          q(0),
          ],
       q(tvy) => [
-         q(6790),
+         q(6789),
          q(0),
          ],
       q(twa) => [
-         q(6791),
+         q(6790),
          q(0),
          ],
       q(twb) => [
-         q(6792),
+         q(6791),
          q(0),
          ],
       q(twc) => [
-         q(6793),
+         q(6792),
          q(0),
          ],
       q(twd) => [
-         q(6794),
+         q(6793),
          q(0),
          ],
       q(twe) => [
-         q(6795),
+         q(6794),
          q(0),
          ],
       q(twf) => [
-         q(6796),
+         q(6795),
          q(0),
          ],
       q(twg) => [
-         q(6797),
+         q(6796),
          q(0),
          ],
       q(twh) => [
-         q(6798),
+         q(6797),
          q(0),
          ],
       q(twi) => [
@@ -85248,171 +85298,171 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(twl) => [
-         q(6799),
+         q(6798),
          q(0),
          ],
       q(twm) => [
-         q(6800),
+         q(6799),
          q(0),
          ],
       q(twn) => [
-         q(6801),
+         q(6800),
          q(0),
          ],
       q(two) => [
-         q(6802),
+         q(6801),
          q(0),
          ],
       q(twp) => [
-         q(6803),
+         q(6802),
          q(0),
          ],
       q(twq) => [
-         q(6804),
+         q(6803),
          q(0),
          ],
       q(twr) => [
-         q(6805),
+         q(6804),
          q(0),
          ],
       q(twt) => [
-         q(6806),
+         q(6805),
          q(0),
          ],
       q(twu) => [
-         q(6807),
+         q(6806),
          q(0),
          ],
       q(tww) => [
-         q(6808),
+         q(6807),
          q(0),
          ],
       q(twx) => [
-         q(6809),
+         q(6808),
          q(0),
          ],
       q(twy) => [
-         q(6810),
+         q(6809),
          q(0),
          ],
       q(txa) => [
-         q(6811),
+         q(6810),
          q(0),
          ],
       q(txb) => [
-         q(6812),
+         q(6811),
          q(0),
          ],
       q(txc) => [
-         q(6813),
+         q(6812),
          q(0),
          ],
       q(txe) => [
-         q(6814),
+         q(6813),
          q(0),
          ],
       q(txg) => [
-         q(6815),
+         q(6814),
          q(0),
          ],
       q(txh) => [
-         q(6816),
+         q(6815),
          q(0),
          ],
       q(txi) => [
-         q(6817),
+         q(6816),
          q(0),
          ],
       q(txj) => [
-         q(6818),
+         q(6817),
          q(0),
          ],
       q(txm) => [
-         q(6819),
+         q(6818),
          q(0),
          ],
       q(txn) => [
-         q(6820),
+         q(6819),
          q(0),
          ],
       q(txo) => [
-         q(6821),
+         q(6820),
          q(0),
          ],
       q(txq) => [
-         q(6822),
+         q(6821),
          q(0),
          ],
       q(txr) => [
-         q(6823),
+         q(6822),
          q(0),
          ],
       q(txs) => [
-         q(6824),
+         q(6823),
          q(0),
          ],
       q(txt) => [
-         q(6825),
+         q(6824),
          q(0),
          ],
       q(txu) => [
-         q(6826),
+         q(6825),
          q(0),
          ],
       q(txx) => [
-         q(6827),
+         q(6826),
          q(0),
          ],
       q(txy) => [
-         q(6828),
+         q(6827),
          q(0),
          ],
       q(tya) => [
-         q(6829),
+         q(6828),
          q(0),
          ],
       q(tye) => [
-         q(6830),
+         q(6829),
          q(0),
          ],
       q(tyh) => [
-         q(6831),
+         q(6830),
          q(0),
          ],
       q(tyi) => [
-         q(6832),
+         q(6831),
          q(0),
          ],
       q(tyj) => [
-         q(6833),
+         q(6832),
          q(0),
          ],
       q(tyl) => [
-         q(6834),
+         q(6833),
          q(0),
          ],
       q(tyn) => [
-         q(6835),
+         q(6834),
          q(0),
          ],
       q(typ) => [
-         q(6836),
+         q(6835),
          q(0),
          ],
       q(tyr) => [
-         q(6837),
+         q(6836),
          q(0),
          ],
       q(tys) => [
-         q(6838),
+         q(6837),
          q(0),
          ],
       q(tyt) => [
-         q(6839),
+         q(6838),
          q(0),
          ],
       q(tyu) => [
-         q(6840),
+         q(6839),
          q(0),
          ],
       q(tyv) => [
@@ -85420,103 +85470,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tyx) => [
-         q(6841),
+         q(6840),
          q(0),
          ],
       q(tyz) => [
-         q(6842),
+         q(6841),
          q(0),
          ],
       q(tza) => [
-         q(6843),
+         q(6842),
          q(0),
          ],
       q(tzh) => [
-         q(6844),
+         q(6843),
          q(0),
          ],
       q(tzj) => [
-         q(6845),
+         q(6844),
          q(0),
          ],
       q(tzl) => [
-         q(6846),
+         q(6845),
          q(0),
          ],
       q(tzm) => [
-         q(6847),
+         q(6846),
          q(0),
          ],
       q(tzn) => [
-         q(6848),
+         q(6847),
          q(0),
          ],
       q(tzo) => [
-         q(6849),
+         q(6848),
          q(0),
          ],
       q(tzx) => [
-         q(6850),
+         q(6849),
          q(0),
          ],
       q(uam) => [
-         q(6851),
+         q(6850),
          q(0),
          ],
       q(uan) => [
-         q(6852),
+         q(6851),
          q(0),
          ],
       q(uar) => [
-         q(6853),
+         q(6852),
          q(0),
          ],
       q(uba) => [
-         q(6854),
+         q(6853),
          q(0),
          ],
       q(ubi) => [
-         q(6855),
+         q(6854),
          q(0),
          ],
       q(ubl) => [
-         q(6856),
+         q(6855),
          q(0),
          ],
       q(ubr) => [
-         q(6857),
+         q(6856),
          q(0),
          ],
       q(ubu) => [
-         q(6858),
+         q(6857),
          q(0),
          ],
       q(uby) => [
-         q(6859),
+         q(6858),
          q(0),
          ],
       q(uda) => [
-         q(6860),
+         q(6859),
          q(0),
          ],
       q(ude) => [
-         q(6861),
+         q(6860),
          q(0),
          ],
       q(udg) => [
-         q(6862),
+         q(6861),
          q(0),
          ],
       q(udi) => [
-         q(6863),
+         q(6862),
          q(0),
          ],
       q(udj) => [
-         q(6864),
+         q(6863),
          q(0),
          ],
       q(udl) => [
-         q(6865),
+         q(6864),
          q(0),
          ],
       q(udm) => [
@@ -85524,15 +85574,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(udu) => [
-         q(6866),
+         q(6865),
          q(0),
          ],
       q(ues) => [
-         q(6867),
+         q(6866),
          q(0),
          ],
       q(ufi) => [
-         q(6868),
+         q(6867),
          q(0),
          ],
       q(uga) => [
@@ -85540,31 +85590,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ugb) => [
-         q(6869),
+         q(6868),
          q(0),
          ],
       q(uge) => [
-         q(6870),
+         q(6869),
          q(0),
          ],
       q(ugn) => [
-         q(6871),
+         q(6870),
          q(0),
          ],
       q(ugo) => [
-         q(6872),
+         q(6871),
          q(0),
          ],
       q(ugy) => [
-         q(6873),
+         q(6872),
          q(0),
          ],
       q(uha) => [
-         q(6874),
+         q(6873),
          q(0),
          ],
       q(uhn) => [
-         q(6875),
+         q(6874),
          q(0),
          ],
       q(uig) => [
@@ -85572,39 +85622,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(uis) => [
-         q(6876),
+         q(6875),
          q(0),
          ],
       q(uiv) => [
-         q(6877),
+         q(6876),
          q(0),
          ],
       q(uji) => [
-         q(6878),
+         q(6877),
          q(0),
          ],
       q(uka) => [
-         q(6879),
+         q(6878),
          q(0),
          ],
       q(ukg) => [
-         q(6880),
+         q(6879),
          q(0),
          ],
       q(ukh) => [
-         q(6881),
+         q(6880),
          q(0),
          ],
       q(ukl) => [
-         q(6882),
+         q(6881),
          q(0),
          ],
       q(ukp) => [
-         q(6883),
+         q(6882),
          q(0),
          ],
       q(ukq) => [
-         q(6884),
+         q(6883),
          q(0),
          ],
       q(ukr) => [
@@ -85612,71 +85662,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(uks) => [
-         q(6885),
+         q(6884),
          q(0),
          ],
       q(uku) => [
-         q(6886),
+         q(6885),
          q(0),
          ],
       q(ukw) => [
-         q(6887),
+         q(6886),
          q(0),
          ],
       q(uky) => [
-         q(6888),
+         q(6887),
          q(0),
          ],
       q(ula) => [
-         q(6889),
+         q(6888),
          q(0),
          ],
       q(ulb) => [
-         q(6890),
+         q(6889),
          q(0),
          ],
       q(ulc) => [
-         q(6891),
+         q(6890),
          q(0),
          ],
       q(ule) => [
-         q(6892),
+         q(6891),
          q(0),
          ],
       q(ulf) => [
-         q(6893),
+         q(6892),
          q(0),
          ],
       q(uli) => [
-         q(6894),
+         q(6893),
          q(0),
          ],
       q(ulk) => [
-         q(6895),
+         q(6894),
          q(0),
          ],
       q(ull) => [
-         q(6896),
+         q(6895),
          q(0),
          ],
       q(ulm) => [
-         q(6897),
+         q(6896),
          q(0),
          ],
       q(uln) => [
-         q(6898),
+         q(6897),
          q(0),
          ],
       q(ulu) => [
-         q(6899),
+         q(6898),
          q(0),
          ],
       q(ulw) => [
-         q(6900),
+         q(6899),
          q(0),
          ],
       q(uma) => [
-         q(6901),
+         q(6900),
          q(0),
          ],
       q(umb) => [
@@ -85684,51 +85734,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(umc) => [
-         q(6902),
+         q(6901),
          q(0),
          ],
       q(umd) => [
-         q(6903),
+         q(6902),
          q(0),
          ],
       q(umg) => [
-         q(6904),
+         q(6903),
          q(0),
          ],
       q(umi) => [
-         q(6905),
+         q(6904),
          q(0),
          ],
       q(umm) => [
-         q(6906),
+         q(6905),
          q(0),
          ],
       q(umn) => [
-         q(6907),
+         q(6906),
          q(0),
          ],
       q(umo) => [
-         q(6908),
+         q(6907),
          q(0),
          ],
       q(ump) => [
-         q(6909),
+         q(6908),
          q(0),
          ],
       q(umr) => [
-         q(6910),
+         q(6909),
          q(0),
          ],
       q(ums) => [
-         q(6911),
+         q(6910),
          q(0),
          ],
       q(umu) => [
-         q(6912),
+         q(6911),
          q(0),
          ],
       q(una) => [
-         q(6913),
+         q(6912),
          q(0),
          ],
       q(und) => [
@@ -85736,59 +85786,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(une) => [
-         q(6914),
+         q(6913),
          q(0),
          ],
       q(ung) => [
-         q(6915),
+         q(6914),
          q(0),
          ],
       q(unk) => [
-         q(6916),
+         q(6915),
          q(0),
          ],
       q(unm) => [
-         q(6917),
+         q(6916),
          q(0),
          ],
       q(unn) => [
-         q(6918),
+         q(6917),
          q(0),
          ],
       q(unr) => [
-         q(6919),
+         q(6918),
          q(0),
          ],
       q(unu) => [
-         q(6920),
+         q(6919),
          q(0),
          ],
       q(unx) => [
-         q(6921),
+         q(6920),
          q(0),
          ],
       q(unz) => [
-         q(6922),
+         q(6921),
          q(0),
          ],
       q(upi) => [
-         q(6923),
+         q(6922),
          q(0),
          ],
       q(upv) => [
-         q(6924),
+         q(6923),
          q(0),
          ],
       q(ura) => [
-         q(6925),
+         q(6924),
          q(0),
          ],
       q(urb) => [
-         q(6926),
+         q(6925),
          q(0),
          ],
       q(urc) => [
-         q(6927),
+         q(6926),
          q(0),
          ],
       q(urd) => [
@@ -85796,23 +85846,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ure) => [
-         q(6928),
+         q(6927),
          q(0),
          ],
       q(urf) => [
-         q(6929),
+         q(6928),
          q(0),
          ],
       q(urg) => [
-         q(6930),
+         q(6929),
          q(0),
          ],
       q(urh) => [
-         q(6931),
+         q(6930),
          q(0),
          ],
       q(uri) => [
-         q(6932),
+         q(6931),
          q(0),
          ],
       q(urj) => [
@@ -85820,139 +85870,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(urk) => [
-         q(6933),
+         q(6932),
          q(0),
          ],
       q(url) => [
-         q(6934),
+         q(6933),
          q(0),
          ],
       q(urm) => [
-         q(6935),
+         q(6934),
          q(0),
          ],
       q(urn) => [
-         q(6936),
+         q(6935),
          q(0),
          ],
       q(uro) => [
-         q(6937),
+         q(6936),
          q(0),
          ],
       q(urp) => [
-         q(6938),
+         q(6937),
          q(0),
          ],
       q(urr) => [
-         q(6939),
+         q(6938),
          q(0),
          ],
       q(urt) => [
-         q(6940),
+         q(6939),
          q(0),
          ],
       q(uru) => [
-         q(6941),
+         q(6940),
          q(0),
          ],
       q(urv) => [
-         q(6942),
+         q(6941),
          q(0),
          ],
       q(urw) => [
-         q(6943),
+         q(6942),
          q(0),
          ],
       q(urx) => [
-         q(6944),
+         q(6943),
          q(0),
          ],
       q(ury) => [
-         q(6945),
+         q(6944),
          q(0),
          ],
       q(urz) => [
-         q(6946),
+         q(6945),
          q(0),
          ],
       q(usa) => [
-         q(6947),
+         q(6946),
          q(0),
          ],
       q(ush) => [
-         q(6948),
+         q(6947),
          q(0),
          ],
       q(usi) => [
-         q(6949),
+         q(6948),
          q(0),
          ],
       q(usk) => [
-         q(6950),
+         q(6949),
          q(0),
          ],
       q(usp) => [
-         q(6951),
+         q(6950),
          q(0),
          ],
       q(usu) => [
-         q(6952),
+         q(6951),
          q(0),
          ],
       q(uta) => [
-         q(6953),
+         q(6952),
          q(0),
          ],
       q(ute) => [
-         q(6954),
+         q(6953),
          q(0),
          ],
       q(utp) => [
-         q(6955),
+         q(6954),
          q(0),
          ],
       q(utr) => [
-         q(6956),
+         q(6955),
          q(0),
          ],
       q(utu) => [
-         q(6957),
+         q(6956),
          q(0),
          ],
       q(uum) => [
-         q(6958),
+         q(6957),
          q(0),
          ],
       q(uun) => [
-         q(6959),
+         q(6958),
          q(0),
          ],
       q(uur) => [
-         q(6960),
+         q(6959),
          q(0),
          ],
       q(uuu) => [
-         q(6961),
+         q(6960),
          q(0),
          ],
       q(uve) => [
-         q(6962),
+         q(6961),
          q(0),
          ],
       q(uvh) => [
-         q(6963),
+         q(6962),
          q(0),
          ],
       q(uvl) => [
-         q(6964),
+         q(6963),
          q(0),
          ],
       q(uwa) => [
-         q(6965),
+         q(6964),
          q(0),
          ],
       q(uya) => [
-         q(6966),
+         q(6965),
          q(0),
          ],
       q(uzb) => [
@@ -85960,31 +86010,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(uzn) => [
-         q(6967),
+         q(6966),
          q(0),
          ],
       q(uzs) => [
-         q(6968),
+         q(6967),
          q(0),
          ],
       q(vaa) => [
-         q(6969),
+         q(6968),
          q(0),
          ],
       q(vae) => [
-         q(6970),
+         q(6969),
          q(0),
          ],
       q(vaf) => [
-         q(6971),
+         q(6970),
          q(0),
          ],
       q(vag) => [
-         q(6972),
+         q(6971),
          q(0),
          ],
       q(vah) => [
-         q(6973),
+         q(6972),
          q(0),
          ],
       q(vai) => [
@@ -85992,71 +86042,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(vaj) => [
-         q(6974),
+         q(6973),
          q(0),
          ],
       q(val) => [
-         q(6975),
+         q(6974),
          q(0),
          ],
       q(vam) => [
-         q(6976),
+         q(6975),
          q(0),
          ],
       q(van) => [
-         q(6977),
+         q(6976),
          q(0),
          ],
       q(vao) => [
-         q(6978),
+         q(6977),
          q(0),
          ],
       q(vap) => [
-         q(6979),
+         q(6978),
          q(0),
          ],
       q(var) => [
-         q(6980),
+         q(6979),
          q(0),
          ],
       q(vas) => [
-         q(6981),
+         q(6980),
          q(0),
          ],
       q(vau) => [
-         q(6982),
+         q(6981),
          q(0),
          ],
       q(vav) => [
-         q(6983),
+         q(6982),
          q(0),
          ],
       q(vay) => [
-         q(6984),
+         q(6983),
          q(0),
          ],
       q(vbb) => [
-         q(6985),
+         q(6984),
          q(0),
          ],
       q(vbk) => [
-         q(6986),
+         q(6985),
          q(0),
          ],
       q(vec) => [
-         q(6987),
+         q(6986),
          q(0),
          ],
       q(ved) => [
-         q(6988),
+         q(6987),
          q(0),
          ],
       q(vel) => [
-         q(6989),
+         q(6988),
          q(0),
          ],
       q(vem) => [
-         q(6990),
+         q(6989),
          q(0),
          ],
       q(ven) => [
@@ -86064,31 +86114,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(veo) => [
-         q(6991),
+         q(6990),
          q(0),
          ],
       q(vep) => [
-         q(6992),
+         q(6991),
          q(0),
          ],
       q(ver) => [
-         q(6993),
+         q(6992),
          q(0),
          ],
       q(vgr) => [
-         q(6994),
+         q(6993),
          q(0),
          ],
       q(vgt) => [
-         q(6995),
+         q(6994),
          q(0),
          ],
       q(vic) => [
-         q(6996),
+         q(6995),
          q(0),
          ],
       q(vid) => [
-         q(6997),
+         q(6996),
          q(0),
          ],
       q(vie) => [
@@ -86096,183 +86146,183 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(vif) => [
-         q(6998),
+         q(6997),
          q(0),
          ],
       q(vig) => [
-         q(6999),
+         q(6998),
          q(0),
          ],
       q(vil) => [
-         q(7000),
+         q(6999),
          q(0),
          ],
       q(vin) => [
-         q(7001),
+         q(7000),
          q(0),
          ],
       q(vis) => [
-         q(7002),
+         q(7001),
          q(0),
          ],
       q(vit) => [
-         q(7003),
+         q(7002),
          q(0),
          ],
       q(viv) => [
-         q(7004),
+         q(7003),
          q(0),
          ],
       q(vka) => [
-         q(7005),
+         q(7004),
          q(0),
          ],
       q(vki) => [
-         q(7006),
+         q(7005),
          q(0),
          ],
       q(vkj) => [
-         q(7007),
+         q(7006),
          q(0),
          ],
       q(vkk) => [
-         q(7008),
+         q(7007),
          q(0),
          ],
       q(vkl) => [
-         q(7009),
+         q(7008),
          q(0),
          ],
       q(vkm) => [
-         q(7010),
+         q(7009),
          q(0),
          ],
       q(vko) => [
-         q(7011),
+         q(7010),
          q(0),
          ],
       q(vkp) => [
-         q(7012),
+         q(7011),
          q(0),
          ],
       q(vkt) => [
-         q(7013),
+         q(7012),
          q(0),
          ],
       q(vku) => [
-         q(7014),
+         q(7013),
          q(0),
          ],
       q(vlp) => [
-         q(7015),
+         q(7014),
          q(0),
          ],
       q(vls) => [
-         q(7016),
+         q(7015),
          q(0),
          ],
       q(vma) => [
-         q(7017),
+         q(7016),
          q(0),
          ],
       q(vmb) => [
-         q(7018),
+         q(7017),
          q(0),
          ],
       q(vmc) => [
-         q(7019),
+         q(7018),
          q(0),
          ],
       q(vmd) => [
-         q(7020),
+         q(7019),
          q(0),
          ],
       q(vme) => [
-         q(7021),
+         q(7020),
          q(0),
          ],
       q(vmf) => [
-         q(7022),
+         q(7021),
          q(0),
          ],
       q(vmg) => [
-         q(7023),
+         q(7022),
          q(0),
          ],
       q(vmh) => [
-         q(7024),
+         q(7023),
          q(0),
          ],
       q(vmi) => [
-         q(7025),
+         q(7024),
          q(0),
          ],
       q(vmj) => [
-         q(7026),
+         q(7025),
          q(0),
          ],
       q(vmk) => [
-         q(7027),
+         q(7026),
          q(0),
          ],
       q(vml) => [
-         q(7028),
+         q(7027),
          q(0),
          ],
       q(vmm) => [
-         q(7029),
+         q(7028),
          q(0),
          ],
       q(vmp) => [
-         q(7030),
+         q(7029),
          q(0),
          ],
       q(vmq) => [
-         q(7031),
+         q(7030),
          q(0),
          ],
       q(vmr) => [
-         q(7032),
+         q(7031),
          q(0),
          ],
       q(vms) => [
-         q(7033),
+         q(7032),
          q(0),
          ],
       q(vmu) => [
-         q(7034),
+         q(7033),
          q(0),
          ],
       q(vmv) => [
-         q(7035),
+         q(7034),
          q(0),
          ],
       q(vmw) => [
-         q(7036),
+         q(7035),
          q(0),
          ],
       q(vmx) => [
-         q(7037),
+         q(7036),
          q(0),
          ],
       q(vmy) => [
-         q(7038),
+         q(7037),
          q(0),
          ],
       q(vmz) => [
-         q(7039),
+         q(7038),
          q(0),
          ],
       q(vnk) => [
-         q(7040),
+         q(7039),
          q(0),
          ],
       q(vnm) => [
-         q(7041),
+         q(7040),
          q(0),
          ],
       q(vnp) => [
-         q(7042),
+         q(7041),
          q(0),
          ],
       q(vol) => [
@@ -86280,7 +86330,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(vor) => [
-         q(7043),
+         q(7042),
          q(0),
          ],
       q(vot) => [
@@ -86288,91 +86338,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(vra) => [
-         q(7044),
+         q(7043),
          q(0),
          ],
       q(vro) => [
-         q(7043),
+         q(7042),
          q(0),
          ],
       q(vrs) => [
-         q(7045),
+         q(7044),
          q(0),
          ],
       q(vrt) => [
-         q(7046),
+         q(7045),
          q(0),
          ],
       q(vsi) => [
-         q(7047),
+         q(7046),
          q(0),
          ],
       q(vsl) => [
-         q(7048),
+         q(7047),
          q(0),
          ],
       q(vsv) => [
-         q(7049),
+         q(7048),
          q(0),
          ],
       q(vto) => [
-         q(7050),
+         q(7049),
          q(0),
          ],
       q(vum) => [
-         q(7051),
+         q(7050),
          q(0),
          ],
       q(vun) => [
-         q(7052),
+         q(7051),
          q(0),
          ],
       q(vut) => [
-         q(7053),
+         q(7052),
          q(0),
          ],
       q(vwa) => [
-         q(7054),
+         q(7053),
          q(0),
          ],
       q(waa) => [
-         q(7055),
+         q(7054),
          q(0),
          ],
       q(wab) => [
-         q(7056),
+         q(7055),
          q(0),
          ],
       q(wac) => [
-         q(7057),
+         q(7056),
          q(0),
          ],
       q(wad) => [
-         q(7058),
+         q(7057),
          q(0),
          ],
       q(wae) => [
-         q(7059),
+         q(7058),
          q(0),
          ],
       q(waf) => [
-         q(7060),
+         q(7059),
          q(0),
          ],
       q(wag) => [
-         q(7061),
+         q(7060),
          q(0),
          ],
       q(wah) => [
-         q(7062),
+         q(7061),
          q(0),
          ],
       q(wai) => [
-         q(7063),
+         q(7062),
          q(0),
          ],
       q(waj) => [
-         q(7064),
+         q(7063),
          q(0),
          ],
       q(wak) => [
@@ -86384,23 +86434,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(wam) => [
-         q(7065),
+         q(7064),
          q(0),
          ],
       q(wan) => [
-         q(7066),
+         q(7065),
          q(0),
          ],
       q(wao) => [
-         q(7067),
+         q(7066),
          q(0),
          ],
       q(wap) => [
-         q(7068),
+         q(7067),
          q(0),
          ],
       q(waq) => [
-         q(7069),
+         q(7068),
          q(0),
          ],
       q(war) => [
@@ -86412,151 +86462,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(wat) => [
-         q(7070),
+         q(7069),
          q(0),
          ],
       q(wau) => [
-         q(7071),
+         q(7070),
          q(0),
          ],
       q(wav) => [
-         q(7072),
+         q(7071),
          q(0),
          ],
       q(waw) => [
-         q(7073),
+         q(7072),
          q(0),
          ],
       q(wax) => [
-         q(7074),
+         q(7073),
          q(0),
          ],
       q(way) => [
-         q(7075),
+         q(7074),
          q(0),
          ],
       q(waz) => [
-         q(7076),
+         q(7075),
          q(0),
          ],
       q(wba) => [
-         q(7077),
+         q(7076),
          q(0),
          ],
       q(wbb) => [
-         q(7078),
+         q(7077),
          q(0),
          ],
       q(wbe) => [
-         q(7079),
+         q(7078),
          q(0),
          ],
       q(wbf) => [
-         q(6412),
+         q(6411),
          q(0),
          ],
       q(wbh) => [
-         q(7080),
+         q(7079),
          q(0),
          ],
       q(wbi) => [
-         q(7081),
+         q(7080),
          q(0),
          ],
       q(wbj) => [
-         q(7082),
+         q(7081),
          q(0),
          ],
       q(wbk) => [
-         q(7083),
+         q(7082),
          q(0),
          ],
       q(wbl) => [
-         q(7084),
+         q(7083),
          q(0),
          ],
       q(wbm) => [
-         q(7085),
+         q(7084),
          q(0),
          ],
       q(wbp) => [
-         q(7086),
+         q(7085),
          q(0),
          ],
       q(wbq) => [
-         q(7087),
+         q(7086),
          q(0),
          ],
       q(wbr) => [
-         q(7088),
+         q(7087),
          q(0),
          ],
       q(wbt) => [
-         q(7089),
+         q(7088),
          q(0),
          ],
       q(wbv) => [
-         q(7090),
+         q(7089),
          q(0),
          ],
       q(wbw) => [
-         q(7091),
+         q(7090),
          q(0),
          ],
       q(wca) => [
-         q(7092),
+         q(7091),
          q(0),
          ],
       q(wci) => [
-         q(7093),
+         q(7092),
          q(0),
          ],
       q(wdd) => [
-         q(7094),
+         q(7093),
          q(0),
          ],
       q(wdg) => [
-         q(7095),
+         q(7094),
          q(0),
          ],
       q(wdj) => [
-         q(7096),
+         q(7095),
          q(0),
          ],
       q(wdk) => [
-         q(7097),
+         q(7096),
          q(0),
          ],
       q(wdu) => [
-         q(7098),
+         q(7097),
          q(0),
          ],
       q(wdy) => [
-         q(7099),
+         q(7098),
          q(0),
          ],
       q(wea) => [
-         q(7100),
+         q(7099),
          q(0),
          ],
       q(wec) => [
-         q(7101),
+         q(7100),
          q(0),
          ],
       q(wed) => [
-         q(7102),
+         q(7101),
          q(0),
          ],
       q(weg) => [
-         q(7103),
+         q(7102),
          q(0),
          ],
       q(weh) => [
-         q(7104),
+         q(7103),
          q(0),
          ],
       q(wei) => [
-         q(7105),
+         q(7104),
          q(0),
          ],
       q(wel) => [
@@ -86564,7 +86614,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(wem) => [
-         q(7106),
+         q(7105),
          q(0),
          ],
       q(wen) => [
@@ -86572,211 +86622,211 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(weo) => [
-         q(7107),
+         q(7106),
          q(0),
          ],
       q(wep) => [
-         q(7108),
+         q(7107),
          q(0),
          ],
       q(wer) => [
-         q(7109),
+         q(7108),
          q(0),
          ],
       q(wes) => [
-         q(7110),
+         q(7109),
          q(0),
          ],
       q(wet) => [
-         q(7111),
+         q(7110),
          q(0),
          ],
       q(weu) => [
-         q(7112),
+         q(7111),
          q(0),
          ],
       q(wew) => [
-         q(7113),
+         q(7112),
          q(0),
          ],
       q(wfg) => [
-         q(7114),
+         q(7113),
          q(0),
          ],
       q(wga) => [
-         q(7115),
+         q(7114),
          q(0),
          ],
       q(wgb) => [
-         q(7116),
+         q(7115),
          q(0),
          ],
       q(wgg) => [
-         q(7117),
+         q(7116),
          q(0),
          ],
       q(wgi) => [
-         q(7118),
+         q(7117),
          q(0),
          ],
       q(wgo) => [
-         q(7119),
+         q(7118),
          q(0),
          ],
       q(wgu) => [
-         q(7120),
+         q(7119),
          q(0),
          ],
       q(wgy) => [
-         q(7121),
+         q(7120),
          q(0),
          ],
       q(wha) => [
-         q(7122),
+         q(7121),
          q(0),
          ],
       q(whg) => [
-         q(7123),
+         q(7122),
          q(0),
          ],
       q(whk) => [
-         q(7124),
+         q(7123),
          q(0),
          ],
       q(whu) => [
-         q(7125),
+         q(7124),
          q(0),
          ],
       q(wib) => [
-         q(7126),
+         q(7125),
          q(0),
          ],
       q(wic) => [
-         q(7127),
+         q(7126),
          q(0),
          ],
       q(wie) => [
-         q(7128),
+         q(7127),
          q(0),
          ],
       q(wif) => [
-         q(7129),
+         q(7128),
          q(0),
          ],
       q(wig) => [
-         q(7130),
+         q(7129),
          q(0),
          ],
       q(wih) => [
-         q(7131),
+         q(7130),
          q(0),
          ],
       q(wii) => [
-         q(7132),
+         q(7131),
          q(0),
          ],
       q(wij) => [
-         q(7133),
+         q(7132),
          q(0),
          ],
       q(wik) => [
-         q(7134),
+         q(7133),
          q(0),
          ],
       q(wil) => [
-         q(7135),
+         q(7134),
          q(0),
          ],
       q(wim) => [
-         q(7136),
+         q(7135),
          q(0),
          ],
       q(win) => [
-         q(7137),
+         q(7136),
          q(0),
          ],
       q(wir) => [
-         q(7138),
+         q(7137),
          q(0),
          ],
       q(wiu) => [
-         q(7139),
+         q(7138),
          q(0),
          ],
       q(wiv) => [
-         q(7140),
+         q(7139),
          q(0),
          ],
       q(wiy) => [
-         q(7141),
+         q(7140),
          q(0),
          ],
       q(wja) => [
-         q(7142),
+         q(7141),
          q(0),
          ],
       q(wji) => [
-         q(7143),
+         q(7142),
          q(0),
          ],
       q(wka) => [
-         q(7144),
+         q(7143),
          q(0),
          ],
       q(wkb) => [
-         q(7145),
+         q(7144),
          q(0),
          ],
       q(wkd) => [
-         q(7146),
+         q(7145),
          q(0),
          ],
       q(wkl) => [
-         q(7147),
+         q(7146),
          q(0),
          ],
       q(wku) => [
-         q(7148),
+         q(7147),
          q(0),
          ],
       q(wkw) => [
-         q(7149),
+         q(7148),
          q(0),
          ],
       q(wky) => [
-         q(7150),
+         q(7149),
          q(0),
          ],
       q(wla) => [
-         q(7151),
+         q(7150),
          q(0),
          ],
       q(wlc) => [
-         q(7152),
+         q(7151),
          q(0),
          ],
       q(wle) => [
-         q(7153),
+         q(7152),
          q(0),
          ],
       q(wlg) => [
-         q(7154),
+         q(7153),
          q(0),
          ],
       q(wli) => [
-         q(7155),
+         q(7154),
          q(0),
          ],
       q(wlk) => [
-         q(7156),
+         q(7155),
          q(0),
          ],
       q(wll) => [
-         q(7157),
+         q(7156),
          q(0),
          ],
       q(wlm) => [
-         q(7158),
+         q(7157),
          q(0),
          ],
       q(wln) => [
@@ -86784,183 +86834,183 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(wlo) => [
-         q(7159),
+         q(7158),
          q(0),
          ],
       q(wlr) => [
-         q(7160),
+         q(7159),
          q(0),
          ],
       q(wls) => [
-         q(7161),
+         q(7160),
          q(0),
          ],
       q(wlu) => [
-         q(7162),
+         q(7161),
          q(0),
          ],
       q(wlv) => [
-         q(7163),
+         q(7162),
          q(0),
          ],
       q(wlw) => [
-         q(7164),
+         q(7163),
          q(0),
          ],
       q(wlx) => [
-         q(7165),
+         q(7164),
          q(0),
          ],
       q(wly) => [
-         q(7166),
+         q(7165),
          q(0),
          ],
       q(wma) => [
-         q(7167),
+         q(7166),
          q(0),
          ],
       q(wmb) => [
-         q(7168),
+         q(7167),
          q(0),
          ],
       q(wmc) => [
-         q(7169),
+         q(7168),
          q(0),
          ],
       q(wmd) => [
-         q(7170),
+         q(7169),
          q(0),
          ],
       q(wme) => [
-         q(7171),
+         q(7170),
          q(0),
          ],
       q(wmh) => [
-         q(7172),
+         q(7171),
          q(0),
          ],
       q(wmi) => [
-         q(7173),
+         q(7172),
          q(0),
          ],
       q(wmm) => [
-         q(7174),
+         q(7173),
          q(0),
          ],
       q(wmn) => [
-         q(7175),
+         q(7174),
          q(0),
          ],
       q(wmo) => [
-         q(7176),
+         q(7175),
          q(0),
          ],
       q(wms) => [
-         q(7177),
+         q(7176),
          q(0),
          ],
       q(wmt) => [
-         q(7178),
+         q(7177),
          q(0),
          ],
       q(wmw) => [
-         q(7179),
+         q(7178),
          q(0),
          ],
       q(wmx) => [
-         q(7180),
+         q(7179),
          q(0),
          ],
       q(wnb) => [
-         q(7181),
+         q(7180),
          q(0),
          ],
       q(wnc) => [
-         q(7182),
+         q(7181),
          q(0),
          ],
       q(wnd) => [
-         q(7183),
+         q(7182),
          q(0),
          ],
       q(wne) => [
-         q(7184),
+         q(7183),
          q(0),
          ],
       q(wng) => [
-         q(7185),
+         q(7184),
          q(0),
          ],
       q(wni) => [
-         q(7186),
+         q(7185),
          q(0),
          ],
       q(wnk) => [
-         q(7187),
+         q(7186),
          q(0),
          ],
       q(wnm) => [
-         q(7188),
+         q(7187),
          q(0),
          ],
       q(wnn) => [
-         q(7189),
+         q(7188),
          q(0),
          ],
       q(wno) => [
-         q(7190),
+         q(7189),
          q(0),
          ],
       q(wnp) => [
-         q(7191),
+         q(7190),
          q(0),
          ],
       q(wnu) => [
-         q(7192),
+         q(7191),
          q(0),
          ],
       q(wnw) => [
-         q(7193),
+         q(7192),
          q(0),
          ],
       q(wny) => [
-         q(7194),
+         q(7193),
          q(0),
          ],
       q(woa) => [
-         q(7195),
+         q(7194),
          q(0),
          ],
       q(wob) => [
-         q(7196),
+         q(7195),
          q(0),
          ],
       q(woc) => [
-         q(7197),
+         q(7196),
          q(0),
          ],
       q(wod) => [
-         q(7198),
+         q(7197),
          q(0),
          ],
       q(woe) => [
-         q(7199),
+         q(7198),
          q(0),
          ],
       q(wof) => [
-         q(7200),
+         q(7199),
          q(0),
          ],
       q(wog) => [
-         q(7201),
+         q(7200),
          q(0),
          ],
       q(woi) => [
-         q(7202),
+         q(7201),
          q(0),
          ],
       q(wok) => [
-         q(7203),
+         q(7202),
          q(0),
          ],
       q(wol) => [
@@ -86968,303 +87018,303 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(wom) => [
-         q(7204),
+         q(7203),
          q(0),
          ],
       q(won) => [
-         q(7205),
+         q(7204),
          q(0),
          ],
       q(woo) => [
-         q(7206),
+         q(7205),
          q(0),
          ],
       q(wor) => [
-         q(7207),
+         q(7206),
          q(0),
          ],
       q(wos) => [
-         q(7208),
+         q(7207),
          q(0),
          ],
       q(wow) => [
-         q(7209),
+         q(7208),
          q(0),
          ],
       q(woy) => [
-         q(7210),
+         q(7209),
          q(0),
          ],
       q(wpc) => [
-         q(7211),
+         q(7210),
          q(0),
          ],
       q(wra) => [
-         q(7212),
+         q(7211),
          q(0),
          ],
       q(wrb) => [
-         q(7213),
+         q(7212),
          q(0),
          ],
       q(wrd) => [
-         q(7214),
+         q(7213),
          q(0),
          ],
       q(wrg) => [
-         q(7215),
+         q(7214),
          q(0),
          ],
       q(wrh) => [
-         q(7216),
+         q(7215),
          q(0),
          ],
       q(wri) => [
-         q(7217),
+         q(7216),
          q(0),
          ],
       q(wrk) => [
-         q(7218),
+         q(7217),
          q(0),
          ],
       q(wrl) => [
-         q(7219),
+         q(7218),
          q(0),
          ],
       q(wrm) => [
-         q(7220),
+         q(7219),
          q(0),
          ],
       q(wrn) => [
-         q(7221),
+         q(7220),
          q(0),
          ],
       q(wro) => [
-         q(7222),
+         q(7221),
          q(0),
          ],
       q(wrp) => [
-         q(7223),
+         q(7222),
          q(0),
          ],
       q(wrr) => [
-         q(7224),
+         q(7223),
          q(0),
          ],
       q(wrs) => [
-         q(7225),
+         q(7224),
          q(0),
          ],
       q(wru) => [
-         q(7226),
+         q(7225),
          q(0),
          ],
       q(wrv) => [
-         q(7227),
+         q(7226),
          q(0),
          ],
       q(wrw) => [
-         q(7228),
+         q(7227),
          q(0),
          ],
       q(wrx) => [
-         q(7229),
+         q(7228),
          q(0),
          ],
       q(wry) => [
-         q(7230),
+         q(7229),
          q(0),
          ],
       q(wrz) => [
-         q(7231),
+         q(7230),
          q(0),
          ],
       q(wsa) => [
-         q(7232),
+         q(7231),
          q(0),
          ],
       q(wsi) => [
-         q(7233),
+         q(7232),
          q(0),
          ],
       q(wsk) => [
-         q(7234),
+         q(7233),
          q(0),
          ],
       q(wsr) => [
-         q(7235),
+         q(7234),
          q(0),
          ],
       q(wss) => [
-         q(7236),
+         q(7235),
          q(0),
          ],
       q(wsu) => [
-         q(7237),
+         q(7236),
          q(0),
          ],
       q(wsv) => [
-         q(7238),
+         q(7237),
          q(0),
          ],
       q(wtf) => [
-         q(7239),
+         q(7238),
          q(0),
          ],
       q(wth) => [
-         q(7240),
+         q(7239),
          q(0),
          ],
       q(wti) => [
-         q(7241),
+         q(7240),
          q(0),
          ],
       q(wtk) => [
-         q(7242),
+         q(7241),
          q(0),
          ],
       q(wtm) => [
-         q(7243),
+         q(7242),
          q(0),
          ],
       q(wtw) => [
-         q(7244),
+         q(7243),
          q(0),
          ],
       q(wua) => [
-         q(7245),
+         q(7244),
          q(0),
          ],
       q(wub) => [
-         q(7246),
+         q(7245),
          q(0),
          ],
       q(wud) => [
-         q(7247),
+         q(7246),
          q(0),
          ],
       q(wuh) => [
-         q(7248),
+         q(7247),
          q(0),
          ],
       q(wul) => [
-         q(7249),
+         q(7248),
          q(0),
          ],
       q(wum) => [
-         q(7250),
+         q(7249),
          q(0),
          ],
       q(wun) => [
-         q(7251),
+         q(7250),
          q(0),
          ],
       q(wur) => [
-         q(7252),
+         q(7251),
          q(0),
          ],
       q(wut) => [
-         q(7253),
+         q(7252),
          q(0),
          ],
       q(wuu) => [
-         q(7254),
+         q(7253),
          q(0),
          ],
       q(wuv) => [
-         q(7255),
+         q(7254),
          q(0),
          ],
       q(wux) => [
-         q(7256),
+         q(7255),
          q(0),
          ],
       q(wuy) => [
-         q(7257),
+         q(7256),
          q(0),
          ],
       q(wwa) => [
-         q(7258),
+         q(7257),
          q(0),
          ],
       q(wwb) => [
-         q(7259),
+         q(7258),
          q(0),
          ],
       q(wwo) => [
-         q(7260),
+         q(7259),
          q(0),
          ],
       q(wwr) => [
-         q(7261),
+         q(7260),
          q(0),
          ],
       q(www) => [
-         q(7262),
+         q(7261),
          q(0),
          ],
       q(wxa) => [
-         q(7263),
+         q(7262),
          q(0),
          ],
       q(wxw) => [
-         q(7264),
+         q(7263),
          q(0),
          ],
       q(wya) => [
-         q(7265),
+         q(7264),
          q(0),
          ],
       q(wyb) => [
-         q(7266),
+         q(7265),
          q(0),
          ],
       q(wyi) => [
-         q(7267),
+         q(7266),
          q(0),
          ],
       q(wym) => [
-         q(7268),
+         q(7267),
          q(0),
          ],
       q(wyr) => [
-         q(7269),
+         q(7268),
          q(0),
          ],
       q(wyy) => [
-         q(7270),
+         q(7269),
          q(0),
          ],
       q(xaa) => [
-         q(7271),
+         q(7270),
          q(0),
          ],
       q(xab) => [
-         q(7272),
+         q(7271),
          q(0),
          ],
       q(xac) => [
-         q(7273),
+         q(7272),
          q(0),
          ],
       q(xad) => [
-         q(7274),
+         q(7273),
          q(0),
          ],
       q(xae) => [
-         q(7275),
+         q(7274),
          q(0),
          ],
       q(xag) => [
-         q(7276),
+         q(7275),
          q(0),
          ],
       q(xai) => [
-         q(7277),
+         q(7276),
          q(0),
          ],
       q(xaj) => [
-         q(7278),
+         q(7277),
          q(0),
          ],
       q(xal) => [
@@ -87272,271 +87322,271 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(xam) => [
-         q(7279),
+         q(7278),
          q(0),
          ],
       q(xan) => [
-         q(7280),
+         q(7279),
          q(0),
          ],
       q(xao) => [
-         q(7281),
+         q(7280),
          q(0),
          ],
       q(xap) => [
-         q(7282),
+         q(7281),
          q(0),
          ],
       q(xaq) => [
-         q(7283),
+         q(7282),
          q(0),
          ],
       q(xar) => [
-         q(7284),
+         q(7283),
          q(0),
          ],
       q(xas) => [
-         q(7285),
+         q(7284),
          q(0),
          ],
       q(xat) => [
-         q(7286),
+         q(7285),
          q(0),
          ],
       q(xau) => [
-         q(7287),
+         q(7286),
          q(0),
          ],
       q(xav) => [
-         q(7288),
+         q(7287),
          q(0),
          ],
       q(xaw) => [
-         q(7289),
+         q(7288),
          q(0),
          ],
       q(xay) => [
-         q(7290),
+         q(7289),
          q(0),
          ],
       q(xba) => [
-         q(7291),
+         q(7290),
          q(0),
          ],
       q(xbb) => [
-         q(7292),
+         q(7291),
          q(0),
          ],
       q(xbc) => [
-         q(7293),
+         q(7292),
          q(0),
          ],
       q(xbd) => [
-         q(7294),
+         q(7293),
          q(0),
          ],
       q(xbe) => [
-         q(7295),
+         q(7294),
          q(0),
          ],
       q(xbg) => [
-         q(7296),
+         q(7295),
          q(0),
          ],
       q(xbi) => [
-         q(7297),
+         q(7296),
          q(0),
          ],
       q(xbj) => [
-         q(7298),
+         q(7297),
          q(0),
          ],
       q(xbm) => [
-         q(7299),
+         q(7298),
          q(0),
          ],
       q(xbn) => [
-         q(7300),
+         q(7299),
          q(0),
          ],
       q(xbo) => [
-         q(7301),
+         q(7300),
          q(0),
          ],
       q(xbp) => [
-         q(7302),
+         q(7301),
          q(0),
          ],
       q(xbr) => [
-         q(7303),
+         q(7302),
          q(0),
          ],
       q(xbw) => [
-         q(7304),
+         q(7303),
          q(0),
          ],
       q(xbx) => [
-         q(7305),
+         q(7304),
          q(0),
          ],
       q(xby) => [
-         q(7306),
+         q(7305),
          q(0),
          ],
       q(xcb) => [
-         q(7307),
+         q(7306),
          q(0),
          ],
       q(xcc) => [
-         q(7308),
+         q(7307),
          q(0),
          ],
       q(xce) => [
-         q(7309),
+         q(7308),
          q(0),
          ],
       q(xcg) => [
-         q(7310),
+         q(7309),
          q(0),
          ],
       q(xch) => [
-         q(7311),
+         q(7310),
          q(0),
          ],
       q(xcl) => [
-         q(7312),
+         q(7311),
          q(0),
          ],
       q(xcm) => [
-         q(7313),
+         q(7312),
          q(0),
          ],
       q(xcn) => [
-         q(7314),
+         q(7313),
          q(0),
          ],
       q(xco) => [
-         q(7315),
+         q(7314),
          q(0),
          ],
       q(xcr) => [
-         q(7316),
+         q(7315),
          q(0),
          ],
       q(xct) => [
-         q(7317),
+         q(7316),
          q(0),
          ],
       q(xcu) => [
-         q(7318),
+         q(7317),
          q(0),
          ],
       q(xcv) => [
-         q(7319),
+         q(7318),
          q(0),
          ],
       q(xcw) => [
-         q(7320),
+         q(7319),
          q(0),
          ],
       q(xcy) => [
-         q(7321),
+         q(7320),
          q(0),
          ],
       q(xda) => [
-         q(7322),
+         q(7321),
          q(0),
          ],
       q(xdc) => [
-         q(7323),
+         q(7322),
          q(0),
          ],
       q(xdk) => [
-         q(7324),
+         q(7323),
          q(0),
          ],
       q(xdm) => [
-         q(7325),
+         q(7324),
          q(0),
          ],
       q(xdy) => [
-         q(7326),
+         q(7325),
          q(0),
          ],
       q(xeb) => [
-         q(7327),
+         q(7326),
          q(0),
          ],
       q(xed) => [
-         q(7328),
+         q(7327),
          q(0),
          ],
       q(xeg) => [
-         q(7329),
+         q(7328),
          q(0),
          ],
       q(xel) => [
-         q(7330),
+         q(7329),
          q(0),
          ],
       q(xem) => [
-         q(7331),
+         q(7330),
          q(0),
          ],
       q(xep) => [
-         q(7332),
+         q(7331),
          q(0),
          ],
       q(xer) => [
-         q(7333),
+         q(7332),
          q(0),
          ],
       q(xes) => [
-         q(7334),
+         q(7333),
          q(0),
          ],
       q(xet) => [
-         q(7335),
+         q(7334),
          q(0),
          ],
       q(xeu) => [
-         q(7336),
+         q(7335),
          q(0),
          ],
       q(xfa) => [
-         q(7337),
+         q(7336),
          q(0),
          ],
       q(xga) => [
-         q(7338),
+         q(7337),
          q(0),
          ],
       q(xgb) => [
-         q(7339),
+         q(7338),
          q(0),
          ],
       q(xgd) => [
-         q(7340),
+         q(7339),
          q(0),
          ],
       q(xgf) => [
-         q(7341),
+         q(7340),
          q(0),
          ],
       q(xgg) => [
-         q(7342),
+         q(7341),
          q(0),
          ],
       q(xgi) => [
-         q(7343),
+         q(7342),
          q(0),
          ],
       q(xgl) => [
-         q(7344),
+         q(7343),
          q(0),
          ],
       q(xgm) => [
-         q(7345),
+         q(7344),
          q(0),
          ],
       q(xgn) => [
@@ -87544,31 +87594,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(xgr) => [
-         q(7346),
+         q(7345),
          q(0),
          ],
       q(xgu) => [
-         q(7347),
+         q(7346),
          q(0),
          ],
       q(xgw) => [
-         q(7348),
+         q(7347),
          q(0),
          ],
       q(xha) => [
-         q(7349),
+         q(7348),
          q(0),
          ],
       q(xhc) => [
-         q(7350),
+         q(7349),
          q(0),
          ],
       q(xhd) => [
-         q(7351),
+         q(7350),
          q(0),
          ],
       q(xhe) => [
-         q(7352),
+         q(7351),
          q(0),
          ],
       q(xho) => [
@@ -87576,323 +87626,323 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(xhr) => [
-         q(7353),
+         q(7352),
          q(0),
          ],
       q(xht) => [
-         q(7354),
+         q(7353),
          q(0),
          ],
       q(xhu) => [
-         q(7355),
+         q(7354),
          q(0),
          ],
       q(xhv) => [
-         q(7356),
+         q(7355),
          q(0),
          ],
       q(xib) => [
-         q(7357),
+         q(7356),
          q(0),
          ],
       q(xii) => [
-         q(7358),
+         q(7357),
          q(0),
          ],
       q(xil) => [
-         q(7359),
+         q(7358),
          q(0),
          ],
       q(xin) => [
-         q(7360),
+         q(7359),
          q(0),
          ],
       q(xip) => [
-         q(7361),
+         q(7360),
          q(0),
          ],
       q(xir) => [
-         q(7362),
+         q(7361),
          q(0),
          ],
       q(xis) => [
-         q(7363),
+         q(7362),
          q(0),
          ],
       q(xiv) => [
-         q(7364),
+         q(7363),
          q(0),
          ],
       q(xiy) => [
-         q(7365),
+         q(7364),
          q(0),
          ],
       q(xjb) => [
-         q(7366),
+         q(7365),
          q(0),
          ],
       q(xjt) => [
-         q(7367),
+         q(7366),
          q(0),
          ],
       q(xka) => [
-         q(7368),
+         q(7367),
          q(0),
          ],
       q(xkb) => [
-         q(7369),
+         q(7368),
          q(0),
          ],
       q(xkc) => [
-         q(7370),
+         q(7369),
          q(0),
          ],
       q(xkd) => [
-         q(7371),
+         q(7370),
          q(0),
          ],
       q(xke) => [
-         q(7372),
+         q(7371),
          q(0),
          ],
       q(xkf) => [
-         q(7373),
+         q(7372),
          q(0),
          ],
       q(xkg) => [
-         q(7374),
+         q(7373),
          q(0),
          ],
       q(xkh) => [
-         q(7375),
+         q(7374),
          q(0),
          ],
       q(xki) => [
-         q(7376),
+         q(7375),
          q(0),
          ],
       q(xkj) => [
-         q(7377),
+         q(7376),
          q(0),
          ],
       q(xkk) => [
-         q(7378),
+         q(7377),
          q(0),
          ],
       q(xkl) => [
-         q(7379),
+         q(7378),
          q(0),
          ],
       q(xkn) => [
-         q(7380),
+         q(7379),
          q(0),
          ],
       q(xko) => [
-         q(7381),
+         q(7380),
          q(0),
          ],
       q(xkp) => [
-         q(7382),
+         q(7381),
          q(0),
          ],
       q(xkq) => [
-         q(7383),
+         q(7382),
          q(0),
          ],
       q(xkr) => [
-         q(7384),
+         q(7383),
          q(0),
          ],
       q(xks) => [
-         q(7385),
+         q(7384),
          q(0),
          ],
       q(xkt) => [
-         q(7386),
+         q(7385),
          q(0),
          ],
       q(xku) => [
-         q(7387),
+         q(7386),
          q(0),
          ],
       q(xkv) => [
-         q(7388),
+         q(7387),
          q(0),
          ],
       q(xkw) => [
-         q(7389),
+         q(7388),
          q(0),
          ],
       q(xkx) => [
-         q(7390),
+         q(7389),
          q(0),
          ],
       q(xky) => [
-         q(7391),
+         q(7390),
          q(0),
          ],
       q(xkz) => [
-         q(7392),
+         q(7391),
          q(0),
          ],
       q(xla) => [
-         q(7393),
+         q(7392),
          q(0),
          ],
       q(xlb) => [
-         q(7394),
+         q(7393),
          q(0),
          ],
       q(xlc) => [
-         q(7395),
+         q(7394),
          q(0),
          ],
       q(xld) => [
-         q(7396),
+         q(7395),
          q(0),
          ],
       q(xle) => [
-         q(7397),
+         q(7396),
          q(0),
          ],
       q(xlg) => [
-         q(7398),
+         q(7397),
          q(0),
          ],
       q(xli) => [
-         q(7399),
+         q(7398),
          q(0),
          ],
       q(xln) => [
-         q(7400),
+         q(7399),
          q(0),
          ],
       q(xlo) => [
-         q(7401),
+         q(7400),
          q(0),
          ],
       q(xlp) => [
-         q(7402),
+         q(7401),
          q(0),
          ],
       q(xls) => [
-         q(7403),
+         q(7402),
          q(0),
          ],
       q(xlu) => [
-         q(7404),
+         q(7403),
          q(0),
          ],
       q(xly) => [
-         q(7405),
+         q(7404),
          q(0),
          ],
       q(xma) => [
-         q(7406),
+         q(7405),
          q(0),
          ],
       q(xmb) => [
-         q(7407),
+         q(7406),
          q(0),
          ],
       q(xmc) => [
-         q(7408),
+         q(7407),
          q(0),
          ],
       q(xmd) => [
-         q(7409),
+         q(7408),
          q(0),
          ],
       q(xme) => [
-         q(7410),
+         q(7409),
          q(0),
          ],
       q(xmf) => [
-         q(7411),
+         q(7410),
          q(0),
          ],
       q(xmg) => [
-         q(7412),
+         q(7411),
          q(0),
          ],
       q(xmh) => [
-         q(7413),
+         q(7412),
          q(0),
          ],
       q(xmj) => [
-         q(7414),
+         q(7413),
          q(0),
          ],
       q(xmk) => [
-         q(7415),
+         q(7414),
          q(0),
          ],
       q(xml) => [
-         q(7416),
+         q(7415),
          q(0),
          ],
       q(xmm) => [
-         q(7417),
+         q(7416),
          q(0),
          ],
       q(xmn) => [
-         q(7418),
+         q(7417),
          q(0),
          ],
       q(xmo) => [
-         q(7419),
+         q(7418),
          q(0),
          ],
       q(xmp) => [
-         q(7420),
+         q(7419),
          q(0),
          ],
       q(xmq) => [
-         q(7421),
+         q(7420),
          q(0),
          ],
       q(xmr) => [
-         q(7422),
+         q(7421),
          q(0),
          ],
       q(xms) => [
-         q(7423),
+         q(7422),
          q(0),
          ],
       q(xmt) => [
-         q(7424),
+         q(7423),
          q(0),
          ],
       q(xmu) => [
-         q(7425),
+         q(7424),
          q(0),
          ],
       q(xmv) => [
-         q(7426),
+         q(7425),
          q(0),
          ],
       q(xmw) => [
-         q(7427),
+         q(7426),
          q(0),
          ],
       q(xmx) => [
-         q(7428),
+         q(7427),
          q(0),
          ],
       q(xmy) => [
-         q(7429),
+         q(7428),
          q(0),
          ],
       q(xmz) => [
-         q(7430),
+         q(7429),
          q(0),
          ],
       q(xna) => [
-         q(7431),
+         q(7430),
          q(0),
          ],
       q(xnb) => [
-         q(7432),
+         q(7431),
          q(0),
          ],
       q(xnd) => [
@@ -87900,623 +87950,623 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(xng) => [
-         q(7433),
+         q(7432),
          q(0),
          ],
       q(xnh) => [
-         q(7434),
+         q(7433),
          q(0),
          ],
       q(xni) => [
-         q(7435),
+         q(7434),
          q(0),
          ],
       q(xnk) => [
-         q(7436),
+         q(7435),
          q(0),
          ],
       q(xnn) => [
-         q(7437),
+         q(7436),
          q(0),
          ],
       q(xno) => [
-         q(7438),
+         q(7437),
          q(0),
          ],
       q(xnr) => [
-         q(7439),
+         q(7438),
          q(0),
          ],
       q(xns) => [
-         q(7440),
+         q(7439),
          q(0),
          ],
       q(xnt) => [
-         q(7441),
+         q(7440),
          q(0),
          ],
       q(xnu) => [
-         q(7442),
+         q(7441),
          q(0),
          ],
       q(xny) => [
-         q(7443),
+         q(7442),
          q(0),
          ],
       q(xnz) => [
-         q(7444),
+         q(7443),
          q(0),
          ],
       q(xoc) => [
-         q(7445),
+         q(7444),
          q(0),
          ],
       q(xod) => [
-         q(7446),
+         q(7445),
          q(0),
          ],
       q(xog) => [
-         q(7447),
+         q(7446),
          q(0),
          ],
       q(xoi) => [
-         q(7448),
+         q(7447),
          q(0),
          ],
       q(xok) => [
-         q(7449),
+         q(7448),
          q(0),
          ],
       q(xom) => [
-         q(7450),
+         q(7449),
          q(0),
          ],
       q(xon) => [
-         q(7451),
+         q(7450),
          q(0),
          ],
       q(xoo) => [
-         q(7452),
+         q(7451),
          q(0),
          ],
       q(xop) => [
-         q(7453),
+         q(7452),
          q(0),
          ],
       q(xor) => [
-         q(7454),
+         q(7453),
          q(0),
          ],
       q(xow) => [
-         q(7455),
+         q(7454),
          q(0),
          ],
       q(xpa) => [
-         q(7456),
+         q(7455),
          q(0),
          ],
       q(xpc) => [
-         q(7457),
+         q(7456),
          q(0),
          ],
       q(xpe) => [
-         q(7458),
+         q(7457),
          q(0),
          ],
       q(xpg) => [
-         q(7459),
+         q(7458),
          q(0),
          ],
       q(xpi) => [
-         q(7460),
+         q(7459),
          q(0),
          ],
       q(xpj) => [
-         q(7461),
+         q(7460),
          q(0),
          ],
       q(xpk) => [
-         q(7462),
+         q(7461),
          q(0),
          ],
       q(xpm) => [
-         q(7463),
+         q(7462),
          q(0),
          ],
       q(xpn) => [
-         q(7464),
+         q(7463),
          q(0),
          ],
       q(xpo) => [
-         q(7465),
+         q(7464),
          q(0),
          ],
       q(xpp) => [
-         q(7466),
+         q(7465),
          q(0),
          ],
       q(xpq) => [
-         q(7467),
+         q(7466),
          q(0),
          ],
       q(xpr) => [
-         q(7468),
+         q(7467),
          q(0),
          ],
       q(xps) => [
-         q(7469),
+         q(7468),
          q(0),
          ],
       q(xpt) => [
-         q(7470),
+         q(7469),
          q(0),
          ],
       q(xpu) => [
-         q(7471),
+         q(7470),
          q(0),
          ],
       q(xpy) => [
-         q(7472),
+         q(7471),
          q(0),
          ],
       q(xqa) => [
-         q(7473),
+         q(7472),
          q(0),
          ],
       q(xqt) => [
-         q(7474),
+         q(7473),
          q(0),
          ],
       q(xra) => [
-         q(7475),
+         q(7474),
          q(0),
          ],
       q(xrb) => [
-         q(7476),
+         q(7475),
          q(0),
          ],
       q(xrd) => [
-         q(7477),
+         q(7476),
          q(0),
          ],
       q(xre) => [
-         q(7478),
+         q(7477),
          q(0),
          ],
       q(xrg) => [
-         q(7479),
+         q(7478),
          q(0),
          ],
       q(xri) => [
-         q(7480),
+         q(7479),
          q(0),
          ],
       q(xrm) => [
-         q(7481),
+         q(7480),
          q(0),
          ],
       q(xrn) => [
-         q(7482),
+         q(7481),
          q(0),
          ],
       q(xrq) => [
-         q(7483),
+         q(7482),
          q(0),
          ],
       q(xrr) => [
-         q(7484),
+         q(7483),
          q(0),
          ],
       q(xrt) => [
-         q(7485),
+         q(7484),
          q(0),
          ],
       q(xru) => [
-         q(7486),
+         q(7485),
          q(0),
          ],
       q(xrw) => [
-         q(7487),
+         q(7486),
          q(0),
          ],
       q(xsa) => [
-         q(7488),
+         q(7487),
          q(0),
          ],
       q(xsb) => [
-         q(7489),
+         q(7488),
          q(0),
          ],
       q(xsc) => [
-         q(7490),
+         q(7489),
          q(0),
          ],
       q(xsd) => [
-         q(7491),
+         q(7490),
          q(0),
          ],
       q(xse) => [
-         q(7492),
+         q(7491),
          q(0),
          ],
       q(xsh) => [
-         q(7493),
+         q(7492),
          q(0),
          ],
       q(xsi) => [
-         q(7494),
+         q(7493),
          q(0),
          ],
       q(xsl) => [
-         q(7495),
+         q(7494),
          q(0),
          ],
       q(xsm) => [
-         q(7496),
+         q(7495),
          q(0),
          ],
       q(xsn) => [
-         q(7497),
+         q(7496),
          q(0),
          ],
       q(xso) => [
-         q(7498),
+         q(7497),
          q(0),
          ],
       q(xsp) => [
-         q(7499),
+         q(7498),
          q(0),
          ],
       q(xsq) => [
-         q(7500),
+         q(7499),
          q(0),
          ],
       q(xsr) => [
-         q(7501),
+         q(7500),
          q(0),
          ],
       q(xss) => [
-         q(7502),
+         q(7501),
          q(0),
          ],
       q(xsu) => [
-         q(7503),
+         q(7502),
          q(0),
          ],
       q(xsv) => [
-         q(7504),
+         q(7503),
          q(0),
          ],
       q(xsy) => [
-         q(7505),
+         q(7504),
          q(0),
          ],
       q(xta) => [
-         q(7506),
+         q(7505),
          q(0),
          ],
       q(xtb) => [
-         q(7507),
+         q(7506),
          q(0),
          ],
       q(xtc) => [
-         q(7508),
+         q(7507),
          q(0),
          ],
       q(xtd) => [
-         q(7509),
+         q(7508),
          q(0),
          ],
       q(xte) => [
-         q(7510),
+         q(7509),
          q(0),
          ],
       q(xtg) => [
-         q(7511),
+         q(7510),
          q(0),
          ],
       q(xth) => [
-         q(7512),
+         q(7511),
          q(0),
          ],
       q(xti) => [
-         q(7513),
+         q(7512),
          q(0),
          ],
       q(xtj) => [
-         q(7514),
+         q(7513),
          q(0),
          ],
       q(xtl) => [
-         q(7515),
+         q(7514),
          q(0),
          ],
       q(xtm) => [
-         q(7516),
+         q(7515),
          q(0),
          ],
       q(xtn) => [
-         q(7517),
+         q(7516),
          q(0),
          ],
       q(xto) => [
-         q(7518),
+         q(7517),
          q(0),
          ],
       q(xtp) => [
-         q(7519),
+         q(7518),
          q(0),
          ],
       q(xtq) => [
-         q(7520),
+         q(7519),
          q(0),
          ],
       q(xtr) => [
-         q(7521),
+         q(7520),
          q(0),
          ],
       q(xts) => [
-         q(7522),
+         q(7521),
          q(0),
          ],
       q(xtt) => [
-         q(7523),
+         q(7522),
          q(0),
          ],
       q(xtu) => [
-         q(7524),
+         q(7523),
          q(0),
          ],
       q(xtv) => [
-         q(7525),
+         q(7524),
          q(0),
          ],
       q(xtw) => [
-         q(7526),
+         q(7525),
          q(0),
          ],
       q(xty) => [
-         q(7527),
+         q(7526),
          q(0),
          ],
       q(xtz) => [
-         q(7528),
+         q(7527),
          q(0),
          ],
       q(xua) => [
-         q(7529),
+         q(7528),
          q(0),
          ],
       q(xub) => [
-         q(7530),
+         q(7529),
          q(0),
          ],
       q(xud) => [
-         q(7531),
+         q(7530),
          q(0),
          ],
       q(xug) => [
-         q(7532),
+         q(7531),
          q(0),
          ],
       q(xuj) => [
-         q(7533),
+         q(7532),
          q(0),
          ],
       q(xul) => [
-         q(7534),
+         q(7533),
          q(0),
          ],
       q(xum) => [
-         q(7535),
+         q(7534),
          q(0),
          ],
       q(xun) => [
-         q(7536),
+         q(7535),
          q(0),
          ],
       q(xuo) => [
-         q(7537),
+         q(7536),
          q(0),
          ],
       q(xup) => [
-         q(7538),
+         q(7537),
          q(0),
          ],
       q(xur) => [
-         q(7539),
+         q(7538),
          q(0),
          ],
       q(xut) => [
-         q(7540),
+         q(7539),
          q(0),
          ],
       q(xuu) => [
-         q(7541),
+         q(7540),
          q(0),
          ],
       q(xve) => [
-         q(7542),
+         q(7541),
          q(0),
          ],
       q(xvi) => [
-         q(7543),
+         q(7542),
          q(0),
          ],
       q(xvn) => [
-         q(7544),
+         q(7543),
          q(0),
          ],
       q(xvo) => [
-         q(7545),
+         q(7544),
          q(0),
          ],
       q(xvs) => [
-         q(7546),
+         q(7545),
          q(0),
          ],
       q(xwa) => [
-         q(7547),
+         q(7546),
          q(0),
          ],
       q(xwc) => [
-         q(7548),
+         q(7547),
          q(0),
          ],
       q(xwd) => [
-         q(7549),
+         q(7548),
          q(0),
          ],
       q(xwe) => [
-         q(7550),
+         q(7549),
          q(0),
          ],
       q(xwg) => [
-         q(7551),
+         q(7550),
          q(0),
          ],
       q(xwj) => [
-         q(7552),
+         q(7551),
          q(0),
          ],
       q(xwk) => [
-         q(7553),
+         q(7552),
          q(0),
          ],
       q(xwl) => [
-         q(7554),
+         q(7553),
          q(0),
          ],
       q(xwo) => [
-         q(7555),
+         q(7554),
          q(0),
          ],
       q(xwr) => [
-         q(7556),
+         q(7555),
          q(0),
          ],
       q(xwt) => [
-         q(7557),
+         q(7556),
          q(0),
          ],
       q(xww) => [
-         q(7558),
+         q(7557),
          q(0),
          ],
       q(xxb) => [
-         q(7559),
+         q(7558),
          q(0),
          ],
       q(xxk) => [
-         q(7560),
+         q(7559),
          q(0),
          ],
       q(xxm) => [
-         q(7561),
+         q(7560),
          q(0),
          ],
       q(xxr) => [
-         q(7562),
+         q(7561),
          q(0),
          ],
       q(xxt) => [
-         q(7563),
+         q(7562),
          q(0),
          ],
       q(xya) => [
-         q(7564),
+         q(7563),
          q(0),
          ],
       q(xyb) => [
-         q(7565),
+         q(7564),
          q(0),
          ],
       q(xyj) => [
-         q(7566),
+         q(7565),
          q(0),
          ],
       q(xyk) => [
-         q(7567),
+         q(7566),
          q(0),
          ],
       q(xyl) => [
-         q(7568),
+         q(7567),
          q(0),
          ],
       q(xyt) => [
-         q(7569),
+         q(7568),
          q(0),
          ],
       q(xyy) => [
-         q(7570),
+         q(7569),
          q(0),
          ],
       q(xzh) => [
-         q(7571),
+         q(7570),
          q(0),
          ],
       q(xzm) => [
-         q(7572),
+         q(7571),
          q(0),
          ],
       q(xzp) => [
-         q(7573),
+         q(7572),
          q(0),
          ],
       q(yaa) => [
-         q(7574),
+         q(7573),
          q(0),
          ],
       q(yab) => [
-         q(7575),
+         q(7574),
          q(0),
          ],
       q(yac) => [
-         q(7576),
+         q(7575),
          q(0),
          ],
       q(yad) => [
-         q(7577),
+         q(7576),
          q(0),
          ],
       q(yae) => [
-         q(7578),
+         q(7577),
          q(0),
          ],
       q(yaf) => [
-         q(7579),
+         q(7578),
          q(0),
          ],
       q(yag) => [
-         q(7580),
+         q(7579),
          q(0),
          ],
       q(yah) => [
-         q(7581),
+         q(7580),
          q(0),
          ],
       q(yai) => [
-         q(7582),
+         q(7581),
          q(0),
          ],
       q(yaj) => [
-         q(7583),
+         q(7582),
          q(0),
          ],
       q(yak) => [
-         q(7584),
+         q(7583),
          q(0),
          ],
       q(yal) => [
-         q(7585),
+         q(7584),
          q(0),
          ],
       q(yam) => [
-         q(7586),
+         q(7585),
          q(0),
          ],
       q(yan) => [
-         q(7587),
+         q(7586),
          q(0),
          ],
       q(yao) => [
@@ -88528,226 +88578,230 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(yaq) => [
-         q(7588),
+         q(7587),
          q(0),
          ],
       q(yar) => [
-         q(7589),
+         q(7588),
          q(0),
          ],
       q(yas) => [
-         q(7590),
+         q(7589),
          q(0),
          ],
       q(yat) => [
-         q(7591),
+         q(7590),
          q(0),
          ],
       q(yau) => [
-         q(7592),
+         q(7591),
          q(0),
          ],
       q(yav) => [
-         q(7593),
+         q(7592),
          q(0),
          ],
       q(yaw) => [
-         q(7594),
+         q(7593),
          q(0),
          ],
       q(yax) => [
-         q(7595),
+         q(7594),
          q(0),
          ],
       q(yay) => [
-         q(7596),
+         q(7595),
          q(0),
          ],
       q(yaz) => [
-         q(7597),
+         q(7596),
          q(0),
          ],
       q(yba) => [
-         q(7598),
+         q(7597),
          q(0),
          ],
       q(ybb) => [
-         q(7599),
+         q(7598),
          q(0),
          ],
       q(ybe) => [
-         q(7600),
+         q(7599),
          q(0),
          ],
       q(ybh) => [
-         q(7601),
+         q(7600),
          q(0),
          ],
       q(ybi) => [
-         q(7602),
+         q(7601),
          q(0),
          ],
       q(ybj) => [
-         q(7603),
+         q(7602),
          q(0),
          ],
       q(ybk) => [
-         q(7604),
+         q(7603),
          q(0),
          ],
       q(ybl) => [
-         q(7605),
+         q(7604),
          q(0),
          ],
       q(ybm) => [
-         q(7606),
+         q(7605),
          q(0),
          ],
       q(ybn) => [
-         q(7607),
+         q(7606),
          q(0),
          ],
       q(ybo) => [
-         q(7608),
+         q(7607),
          q(0),
          ],
       q(ybx) => [
-         q(7609),
+         q(7608),
          q(0),
          ],
       q(yby) => [
-         q(7610),
+         q(7609),
          q(0),
          ],
       q(ych) => [
-         q(7611),
+         q(7610),
          q(0),
          ],
       q(ycl) => [
-         q(7612),
+         q(7611),
          q(0),
          ],
       q(ycn) => [
-         q(7613),
+         q(7612),
          q(0),
          ],
       q(ycp) => [
-         q(7614),
+         q(7613),
          q(0),
          ],
       q(yda) => [
-         q(7615),
+         q(7614),
          q(0),
          ],
       q(ydd) => [
-         q(7616),
+         q(7615),
          q(0),
          ],
       q(yde) => [
-         q(7617),
+         q(7616),
          q(0),
          ],
       q(ydg) => [
-         q(7618),
+         q(7617),
          q(0),
          ],
       q(ydk) => [
-         q(7619),
+         q(7618),
          q(0),
          ],
       q(yea) => [
-         q(7620),
+         q(7619),
          q(0),
          ],
       q(yec) => [
-         q(7621),
+         q(7620),
          q(0),
          ],
       q(yee) => [
-         q(7622),
+         q(7621),
          q(0),
          ],
       q(yei) => [
-         q(7623),
+         q(7622),
          q(0),
          ],
       q(yej) => [
-         q(7624),
+         q(7623),
          q(0),
          ],
       q(yel) => [
-         q(7625),
+         q(7624),
          q(0),
          ],
       q(yer) => [
-         q(7626),
+         q(7625),
          q(0),
          ],
       q(yes) => [
-         q(7627),
+         q(7626),
          q(0),
          ],
       q(yet) => [
-         q(7628),
+         q(7627),
          q(0),
          ],
       q(yeu) => [
-         q(7629),
+         q(7628),
          q(0),
          ],
       q(yev) => [
-         q(7630),
+         q(7629),
          q(0),
          ],
       q(yey) => [
-         q(7631),
+         q(7630),
          q(0),
          ],
       q(yga) => [
-         q(7632),
+         q(7631),
          q(0),
          ],
       q(ygi) => [
-         q(7633),
+         q(7632),
          q(0),
          ],
       q(ygl) => [
-         q(7634),
+         q(7633),
          q(0),
          ],
       q(ygm) => [
-         q(7635),
+         q(7634),
          q(0),
          ],
       q(ygp) => [
-         q(7636),
+         q(7635),
          q(0),
          ],
       q(ygr) => [
-         q(7637),
+         q(7636),
          q(0),
          ],
       q(ygs) => [
-         q(7638),
+         q(7637),
          q(0),
          ],
       q(ygu) => [
-         q(7639),
+         q(7638),
          q(0),
          ],
       q(ygw) => [
-         q(7640),
+         q(7639),
          q(0),
          ],
       q(yha) => [
-         q(7641),
+         q(7640),
          q(0),
          ],
       q(yhd) => [
-         q(7642),
+         q(7641),
          q(0),
          ],
       q(yhl) => [
+         q(7642),
+         q(0),
+         ],
+      q(yhs) => [
          q(7643),
          q(0),
          ],
@@ -88760,7 +88814,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(yif) => [
-         q(2657),
+         q(2656),
          q(0),
          ],
       q(yig) => [
@@ -94853,5076 +94907,5076 @@ $Locale::Codes::Data{'language'}{'id2code'} = {
       q(2571) => q(gng),
       q(2572) => q(gnh),
       q(2573) => q(gni),
-      q(2574) => q(gnk),
+      q(2574) => q(gnq),
       q(2575) => q(gnl),
       q(2576) => q(gnm),
       q(2577) => q(gnn),
       q(2578) => q(gno),
-      q(2579) => q(gnq),
-      q(2580) => q(gnr),
-      q(2581) => q(gnt),
-      q(2582) => q(gnu),
-      q(2583) => q(gnw),
-      q(2584) => q(gnz),
-      q(2585) => q(goa),
-      q(2586) => q(gob),
-      q(2587) => q(goc),
-      q(2588) => q(god),
-      q(2589) => q(goe),
-      q(2590) => q(gof),
-      q(2591) => q(gog),
-      q(2592) => q(goi),
-      q(2593) => q(goj),
-      q(2594) => q(gok),
-      q(2595) => q(gol),
-      q(2596) => q(gom),
-      q(2597) => q(goo),
-      q(2598) => q(gop),
-      q(2599) => q(goq),
-      q(2600) => q(gos),
-      q(2601) => q(gou),
-      q(2602) => q(gow),
-      q(2603) => q(gox),
-      q(2604) => q(goy),
-      q(2605) => q(goz),
-      q(2606) => q(gpa),
-      q(2607) => q(gpe),
-      q(2608) => q(gpn),
-      q(2609) => q(gqa),
-      q(2610) => q(gqi),
-      q(2611) => q(gqn),
-      q(2612) => q(gqr),
-      q(2613) => q(gqu),
-      q(2614) => q(gra),
-      q(2615) => q(grd),
-      q(2616) => q(grg),
-      q(2617) => q(grh),
-      q(2618) => q(gri),
-      q(2619) => q(grj),
-      q(2620) => q(grm),
-      q(2621) => q(gro),
-      q(2622) => q(grq),
-      q(2623) => q(grr),
-      q(2624) => q(grs),
-      q(2625) => q(grt),
-      q(2626) => q(gru),
-      q(2627) => q(grv),
-      q(2628) => q(grw),
-      q(2629) => q(grx),
-      q(2630) => q(gry),
-      q(2631) => q(grz),
-      q(2632) => q(gse),
-      q(2633) => q(gsg),
-      q(2634) => q(gsl),
-      q(2635) => q(gsm),
-      q(2636) => q(gsn),
-      q(2637) => q(gso),
-      q(2638) => q(gsp),
-      q(2639) => q(gss),
-      q(2640) => q(gta),
-      q(2641) => q(gtu),
-      q(2642) => q(gua),
-      q(2643) => q(gub),
-      q(2644) => q(guc),
-      q(2645) => q(gud),
-      q(2646) => q(gue),
-      q(2647) => q(guf),
-      q(2648) => q(gug),
-      q(2649) => q(guh),
-      q(2650) => q(gui),
-      q(2651) => q(guk),
-      q(2652) => q(gul),
-      q(2653) => q(gum),
-      q(2654) => q(gun),
-      q(2655) => q(guo),
-      q(2656) => q(gup),
-      q(2657) => q(yif),
-      q(2658) => q(gur),
-      q(2659) => q(gus),
-      q(2660) => q(gut),
-      q(2661) => q(guu),
-      q(2662) => q(guv),
-      q(2663) => q(guw),
-      q(2664) => q(gux),
-      q(2665) => q(guz),
-      q(2666) => q(gva),
-      q(2667) => q(gvc),
-      q(2668) => q(gve),
-      q(2669) => q(gvf),
-      q(2670) => q(gvj),
-      q(2671) => q(gvl),
-      q(2672) => q(gvm),
-      q(2673) => q(gvn),
-      q(2674) => q(gvo),
-      q(2675) => q(gvp),
-      q(2676) => q(gvr),
-      q(2677) => q(gvs),
-      q(2678) => q(gvy),
-      q(2679) => q(gwa),
-      q(2680) => q(gwb),
-      q(2681) => q(gwc),
-      q(2682) => q(gwd),
-      q(2683) => q(gwe),
-      q(2684) => q(gwf),
-      q(2685) => q(gwg),
-      q(2686) => q(gwj),
-      q(2687) => q(gwm),
-      q(2688) => q(gwn),
-      q(2689) => q(gwr),
-      q(2690) => q(gwt),
-      q(2691) => q(gwu),
-      q(2692) => q(gww),
-      q(2693) => q(gwx),
-      q(2694) => q(gxx),
-      q(2695) => q(gya),
-      q(2696) => q(gyb),
-      q(2697) => q(gyd),
-      q(2698) => q(gye),
-      q(2699) => q(gyf),
-      q(2700) => q(gyg),
-      q(2701) => q(gyi),
-      q(2702) => q(gyl),
-      q(2703) => q(gym),
-      q(2704) => q(gyn),
-      q(2705) => q(gyr),
-      q(2706) => q(gyy),
-      q(2707) => q(gza),
-      q(2708) => q(gzi),
-      q(2709) => q(gzn),
-      q(2710) => q(haa),
-      q(2711) => q(hab),
-      q(2712) => q(hac),
-      q(2713) => q(had),
-      q(2714) => q(hae),
-      q(2715) => q(haf),
-      q(2716) => q(hag),
-      q(2717) => q(hah),
-      q(2718) => q(haj),
-      q(2719) => q(hak),
-      q(2720) => q(hal),
-      q(2721) => q(ham),
-      q(2722) => q(han),
-      q(2723) => q(hao),
-      q(2724) => q(hap),
-      q(2725) => q(haq),
-      q(2726) => q(har),
-      q(2727) => q(has),
-      q(2728) => q(hav),
-      q(2729) => q(hax),
-      q(2730) => q(hay),
-      q(2731) => q(haz),
-      q(2732) => q(hba),
-      q(2733) => q(hbb),
-      q(2734) => q(hbn),
-      q(2735) => q(hbo),
-      q(2736) => q(hbu),
-      q(2737) => q(hca),
-      q(2738) => q(hch),
-      q(2739) => q(hdn),
-      q(2740) => q(hds),
-      q(2741) => q(hdy),
-      q(2742) => q(hea),
-      q(2743) => q(hed),
-      q(2744) => q(heg),
-      q(2745) => q(heh),
-      q(2746) => q(hei),
-      q(2747) => q(hem),
-      q(2748) => q(hgm),
-      q(2749) => q(hgw),
-      q(2750) => q(hhi),
-      q(2751) => q(hhr),
-      q(2752) => q(hhy),
-      q(2753) => q(hia),
-      q(2754) => q(hib),
-      q(2755) => q(hid),
-      q(2756) => q(hif),
-      q(2757) => q(hig),
-      q(2758) => q(hih),
-      q(2759) => q(hii),
-      q(2760) => q(hij),
-      q(2761) => q(hik),
-      q(2762) => q(hio),
-      q(2763) => q(hir),
-      q(2764) => q(hiw),
-      q(2765) => q(hix),
-      q(2766) => q(hji),
-      q(2767) => q(hka),
-      q(2768) => q(hke),
-      q(2769) => q(hkk),
-      q(2770) => q(hks),
-      q(2771) => q(hla),
-      q(2772) => q(hlb),
-      q(2773) => q(hld),
-      q(2774) => q(hle),
-      q(2775) => q(hlt),
-      q(2776) => q(hlu),
-      q(2777) => q(hma),
-      q(2778) => q(hmb),
-      q(2779) => q(hmc),
-      q(2780) => q(hmd),
-      q(2781) => q(hme),
-      q(2782) => q(hmf),
-      q(2783) => q(hmg),
-      q(2784) => q(hmh),
-      q(2785) => q(hmi),
-      q(2786) => q(hmj),
-      q(2787) => q(hmk),
-      q(2788) => q(hml),
-      q(2789) => q(hmm),
-      q(2790) => q(hmp),
-      q(2791) => q(hmq),
-      q(2792) => q(hmr),
-      q(2793) => q(hms),
-      q(2794) => q(hmt),
-      q(2795) => q(hmu),
-      q(2796) => q(hmv),
-      q(2797) => q(hmw),
-      q(2798) => q(hmy),
-      q(2799) => q(hmz),
-      q(2800) => q(hna),
-      q(2801) => q(hnd),
-      q(2802) => q(hne),
-      q(2803) => q(hnh),
-      q(2804) => q(hni),
-      q(2805) => q(hnj),
-      q(2806) => q(hnn),
-      q(2807) => q(hno),
-      q(2808) => q(hns),
-      q(2809) => q(hnu),
-      q(2810) => q(hoa),
-      q(2811) => q(hob),
-      q(2812) => q(hoc),
-      q(2813) => q(hod),
-      q(2814) => q(hoe),
-      q(2815) => q(hoh),
-      q(2816) => q(hoi),
-      q(2817) => q(hoj),
-      q(2818) => q(hol),
-      q(2819) => q(hom),
-      q(2820) => q(hoo),
-      q(2821) => q(hop),
-      q(2822) => q(hor),
-      q(2823) => q(hos),
-      q(2824) => q(hot),
-      q(2825) => q(hov),
-      q(2826) => q(how),
-      q(2827) => q(hoy),
-      q(2828) => q(hoz),
-      q(2829) => q(hpo),
-      q(2830) => q(hps),
-      q(2831) => q(hra),
-      q(2832) => q(hrc),
-      q(2833) => q(hre),
-      q(2834) => q(hrk),
-      q(2835) => q(hrm),
-      q(2836) => q(hro),
-      q(2837) => q(hrp),
-      q(2838) => q(hrt),
-      q(2839) => q(hru),
-      q(2840) => q(hrw),
-      q(2841) => q(hrx),
-      q(2842) => q(hrz),
-      q(2843) => q(hsh),
-      q(2844) => q(hsl),
-      q(2845) => q(hsn),
-      q(2846) => q(hss),
-      q(2847) => q(hti),
-      q(2848) => q(hto),
-      q(2849) => q(hts),
-      q(2850) => q(htu),
-      q(2851) => q(htx),
-      q(2852) => q(hub),
-      q(2853) => q(huc),
-      q(2854) => q(hud),
-      q(2855) => q(hue),
-      q(2856) => q(huf),
-      q(2857) => q(hug),
-      q(2858) => q(huh),
-      q(2859) => q(hui),
-      q(2860) => q(huj),
-      q(2861) => q(huk),
-      q(2862) => q(hul),
-      q(2863) => q(hum),
-      q(2864) => q(huo),
-      q(2865) => q(huq),
-      q(2866) => q(hur),
-      q(2867) => q(hus),
-      q(2868) => q(hut),
-      q(2869) => q(huu),
-      q(2870) => q(huv),
-      q(2871) => q(huw),
-      q(2872) => q(hux),
-      q(2873) => q(huy),
-      q(2874) => q(huz),
-      q(2875) => q(hvc),
-      q(2876) => q(hve),
-      q(2877) => q(hvk),
-      q(2878) => q(hvn),
-      q(2879) => q(hvv),
-      q(2880) => q(hwa),
-      q(2881) => q(hwc),
-      q(2882) => q(hwo),
-      q(2883) => q(hya),
-      q(2884) => q(iai),
-      q(2885) => q(ian),
-      q(2886) => q(iap),
-      q(2887) => q(iar),
-      q(2888) => q(ibb),
-      q(2889) => q(ibd),
-      q(2890) => q(ibe),
-      q(2891) => q(ibg),
-      q(2892) => q(ibl),
-      q(2893) => q(ibm),
-      q(2894) => q(ibn),
-      q(2895) => q(ibr),
-      q(2896) => q(ibu),
-      q(2897) => q(iby),
-      q(2898) => q(ica),
-      q(2899) => q(ich),
-      q(2900) => q(icl),
-      q(2901) => q(icr),
-      q(2902) => q(ida),
-      q(2903) => q(idb),
-      q(2904) => q(idc),
-      q(2905) => q(idd),
-      q(2906) => q(ide),
-      q(2907) => q(idi),
-      q(2908) => q(idr),
-      q(2909) => q(ids),
-      q(2910) => q(idt),
-      q(2911) => q(idu),
-      q(2912) => q(ifa),
-      q(2913) => q(ifb),
-      q(2914) => q(ife),
-      q(2915) => q(iff),
-      q(2916) => q(ifk),
-      q(2917) => q(ifm),
-      q(2918) => q(ifu),
-      q(2919) => q(ify),
-      q(2920) => q(igb),
-      q(2921) => q(ige),
-      q(2922) => q(igg),
-      q(2923) => q(igl),
-      q(2924) => q(igm),
-      q(2925) => q(ign),
-      q(2926) => q(igo),
-      q(2927) => q(igs),
-      q(2928) => q(igw),
-      q(2929) => q(ihb),
-      q(2930) => q(ihi),
-      q(2931) => q(ihp),
-      q(2932) => q(ihw),
-      q(2933) => q(iin),
-      q(2934) => q(ijc),
-      q(2935) => q(ije),
-      q(2936) => q(ijj),
-      q(2937) => q(ijn),
-      q(2938) => q(ijs),
-      q(2939) => q(ike),
-      q(2940) => q(iki),
-      q(2941) => q(ikk),
-      q(2942) => q(ikl),
-      q(2943) => q(iko),
-      q(2944) => q(ikp),
-      q(2945) => q(ikr),
-      q(2946) => q(iks),
-      q(2947) => q(ikt),
-      q(2948) => q(ikv),
-      q(2949) => q(ikw),
-      q(2950) => q(ikx),
-      q(2951) => q(ikz),
-      q(2952) => q(ila),
-      q(2953) => q(ilb),
-      q(2954) => q(ilg),
-      q(2955) => q(ili),
-      q(2956) => q(ilk),
-      q(2957) => q(ill),
-      q(2958) => q(ils),
-      q(2959) => q(ilu),
-      q(2960) => q(ilv),
-      q(2961) => q(ima),
-      q(2962) => q(imi),
-      q(2963) => q(iml),
-      q(2964) => q(imn),
-      q(2965) => q(imo),
-      q(2966) => q(imr),
-      q(2967) => q(ims),
-      q(2968) => q(imy),
-      q(2969) => q(inb),
-      q(2970) => q(ing),
-      q(2971) => q(inj),
-      q(2972) => q(inl),
-      q(2973) => q(inm),
-      q(2974) => q(inn),
-      q(2975) => q(ino),
-      q(2976) => q(inp),
-      q(2977) => q(ins),
-      q(2978) => q(int),
-      q(2979) => q(inz),
-      q(2980) => q(ior),
-      q(2981) => q(iou),
-      q(2982) => q(iow),
-      q(2983) => q(ipi),
-      q(2984) => q(ipo),
-      q(2985) => q(iqu),
-      q(2986) => q(iqw),
-      q(2987) => q(ire),
-      q(2988) => q(irh),
-      q(2989) => q(iri),
-      q(2990) => q(irk),
-      q(2991) => q(irn),
-      q(2992) => q(irr),
-      q(2993) => q(iru),
-      q(2994) => q(irx),
-      q(2995) => q(iry),
-      q(2996) => q(isa),
-      q(2997) => q(isc),
-      q(2998) => q(isd),
-      q(2999) => q(ise),
-      q(3000) => q(isg),
-      q(3001) => q(ish),
-      q(3002) => q(isi),
-      q(3003) => q(isk),
-      q(3004) => q(ism),
-      q(3005) => q(isn),
-      q(3006) => q(iso),
-      q(3007) => q(isr),
-      q(3008) => q(ist),
-      q(3009) => q(isu),
-      q(3010) => q(itb),
-      q(3011) => q(ite),
-      q(3012) => q(iti),
-      q(3013) => q(itk),
-      q(3014) => q(itl),
-      q(3015) => q(itm),
-      q(3016) => q(ito),
-      q(3017) => q(itr),
-      q(3018) => q(its),
-      q(3019) => q(itt),
-      q(3020) => q(itv),
-      q(3021) => q(itw),
-      q(3022) => q(itx),
-      q(3023) => q(ity),
-      q(3024) => q(itz),
-      q(3025) => q(ium),
-      q(3026) => q(ivb),
-      q(3027) => q(ivv),
-      q(3028) => q(iwk),
-      q(3029) => q(iwm),
-      q(3030) => q(iwo),
-      q(3031) => q(iws),
-      q(3032) => q(ixc),
-      q(3033) => q(ixl),
-      q(3034) => q(iya),
-      q(3035) => q(iyo),
-      q(3036) => q(iyx),
-      q(3037) => q(izh),
-      q(3038) => q(izr),
-      q(3039) => q(izz),
-      q(3040) => q(jaa),
-      q(3041) => q(jab),
-      q(3042) => q(jac),
-      q(3043) => q(jad),
-      q(3044) => q(jae),
-      q(3045) => q(jaf),
-      q(3046) => q(jah),
-      q(3047) => q(jaj),
-      q(3048) => q(jak),
-      q(3049) => q(jal),
-      q(3050) => q(jam),
-      q(3051) => q(jan),
-      q(3052) => q(jao),
-      q(3053) => q(jaq),
-      q(3054) => q(jas),
-      q(3055) => q(jat),
-      q(3056) => q(jau),
-      q(3057) => q(jax),
-      q(3058) => q(jay),
-      q(3059) => q(jaz),
-      q(3060) => q(jbe),
-      q(3061) => q(jbi),
-      q(3062) => q(jbj),
-      q(3063) => q(jbk),
-      q(3064) => q(jbn),
-      q(3065) => q(jbr),
-      q(3066) => q(jbt),
-      q(3067) => q(jbu),
-      q(3068) => q(jbw),
-      q(3069) => q(jcs),
-      q(3070) => q(jct),
-      q(3071) => q(jda),
-      q(3072) => q(jdg),
-      q(3073) => q(jdt),
-      q(3074) => q(jeb),
-      q(3075) => q(jee),
-      q(3076) => q(jeg),
-      q(3077) => q(jeh),
-      q(3078) => q(jei),
-      q(3079) => q(jek),
-      q(3080) => q(jel),
-      q(3081) => q(jen),
-      q(3082) => q(jer),
-      q(3083) => q(jet),
-      q(3084) => q(jeu),
-      q(3085) => q(jgb),
-      q(3086) => q(jge),
-      q(3087) => q(jgk),
-      q(3088) => q(jgo),
-      q(3089) => q(jhi),
-      q(3090) => q(jhs),
-      q(3091) => q(jia),
-      q(3092) => q(jib),
-      q(3093) => q(jic),
-      q(3094) => q(jid),
-      q(3095) => q(jie),
-      q(3096) => q(jig),
-      q(3097) => q(jih),
-      q(3098) => q(jii),
-      q(3099) => q(jil),
-      q(3100) => q(jim),
-      q(3101) => q(jio),
-      q(3102) => q(jiq),
-      q(3103) => q(jit),
-      q(3104) => q(jiu),
-      q(3105) => q(jiv),
-      q(3106) => q(jiy),
-      q(3107) => q(jje),
-      q(3108) => q(jjr),
-      q(3109) => q(jkm),
-      q(3110) => q(jko),
-      q(3111) => q(jkp),
-      q(3112) => q(jkr),
-      q(3113) => q(jku),
-      q(3114) => q(jle),
-      q(3115) => q(jls),
-      q(3116) => q(jma),
-      q(3117) => q(jmb),
-      q(3118) => q(jmc),
-      q(3119) => q(jmd),
-      q(3120) => q(jmi),
-      q(3121) => q(jml),
-      q(3122) => q(jmn),
-      q(3123) => q(jmr),
-      q(3124) => q(jms),
-      q(3125) => q(jmw),
-      q(3126) => q(jmx),
-      q(3127) => q(jna),
-      q(3128) => q(jnd),
-      q(3129) => q(jng),
-      q(3130) => q(jni),
-      q(3131) => q(jnj),
-      q(3132) => q(jnl),
-      q(3133) => q(jns),
-      q(3134) => q(job),
-      q(3135) => q(jod),
-      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(kgc),
-      q(3311) => q(kgd),
-      q(3312) => q(kge),
-      q(3313) => q(kgf),
-      q(3314) => q(kgg),
-      q(3315) => q(kgi),
-      q(3316) => q(kgj),
-      q(3317) => q(kgk),
-      q(3318) => q(kgl),
-      q(3319) => q(kuq),
-      q(3320) => q(kgn),
-      q(3321) => q(kgo),
-      q(3322) => q(kgp),
-      q(3323) => q(kgq),
-      q(3324) => q(kgr),
-      q(3325) => q(kgs),
-      q(3326) => q(kgt),
-      q(3327) => q(kgu),
-      q(3328) => q(kgv),
-      q(3329) => q(kgw),
-      q(3330) => q(kgx),
-      q(3331) => q(kgy),
-      q(3332) => q(khb),
-      q(3333) => q(khc),
-      q(3334) => q(khd),
-      q(3335) => q(khe),
-      q(3336) => q(khf),
-      q(3337) => q(khg),
-      q(3338) => q(khh),
-      q(3339) => q(khj),
-      q(3340) => q(khk),
-      q(3341) => q(khl),
-      q(3342) => q(khn),
-      q(3343) => q(khp),
-      q(3344) => q(khq),
-      q(3345) => q(khr),
-      q(3346) => q(khs),
-      q(3347) => q(kht),
-      q(3348) => q(khu),
-      q(3349) => q(khv),
-      q(3350) => q(khw),
-      q(3351) => q(khx),
-      q(3352) => q(khy),
-      q(3353) => q(khz),
-      q(3354) => q(kia),
-      q(3355) => q(kib),
-      q(3356) => q(kic),
-      q(3357) => q(kid),
-      q(3358) => q(kie),
-      q(3359) => q(kif),
-      q(3360) => q(kig),
-      q(3361) => q(kih),
-      q(3362) => q(kii),
-      q(3363) => q(kij),
-      q(3364) => q(kil),
-      q(3365) => q(kim),
-      q(3366) => q(kio),
-      q(3367) => q(kip),
-      q(3368) => q(kiq),
-      q(3369) => q(kis),
-      q(3370) => q(kit),
-      q(3371) => q(kiu),
-      q(3372) => q(kiv),
-      q(3373) => q(kiw),
-      q(3374) => q(kix),
-      q(3375) => q(kiy),
-      q(3376) => q(kiz),
-      q(3377) => q(kja),
-      q(3378) => q(kjb),
-      q(3379) => q(kjc),
-      q(3380) => q(kjd),
-      q(3381) => q(kje),
-      q(3382) => q(kjf),
-      q(3383) => q(kjg),
-      q(3384) => q(kjh),
-      q(3385) => q(kji),
-      q(3386) => q(kjj),
-      q(3387) => q(kjk),
-      q(3388) => q(kjl),
-      q(3389) => q(kjm),
-      q(3390) => q(kjn),
-      q(3391) => q(kjo),
-      q(3392) => q(kjp),
-      q(3393) => q(kjq),
-      q(3394) => q(kjr),
-      q(3395) => q(kjs),
-      q(3396) => q(kjt),
-      q(3397) => q(kju),
-      q(3398) => q(kjv),
-      q(3399) => q(kjx),
-      q(3400) => q(kjy),
-      q(3401) => q(kjz),
-      q(3402) => q(kka),
-      q(3403) => q(kkb),
-      q(3404) => q(kkc),
-      q(3405) => q(kkd),
-      q(3406) => q(kke),
-      q(3407) => q(kkf),
-      q(3408) => q(kkg),
-      q(3409) => q(kkh),
-      q(3410) => q(kki),
-      q(3411) => q(kkj),
-      q(3412) => q(kkk),
-      q(3413) => q(kkl),
-      q(3414) => q(kkm),
-      q(3415) => q(kkn),
-      q(3416) => q(kko),
-      q(3417) => q(kkp),
-      q(3418) => q(kkq),
-      q(3419) => q(kkr),
-      q(3420) => q(kks),
-      q(3421) => q(kkt),
-      q(3422) => q(kku),
-      q(3423) => q(kkv),
-      q(3424) => q(kkw),
-      q(3425) => q(kkx),
-      q(3426) => q(kky),
-      q(3427) => q(kkz),
-      q(3428) => q(kla),
-      q(3429) => q(klb),
-      q(3430) => q(klc),
-      q(3431) => q(kld),
-      q(3432) => q(kle),
-      q(3433) => q(klf),
-      q(3434) => q(klg),
-      q(3435) => q(klh),
-      q(3436) => q(kli),
-      q(3437) => q(klj),
-      q(3438) => q(klk),
-      q(3439) => q(kll),
-      q(3440) => q(klm),
-      q(3441) => q(kln),
-      q(3442) => q(klo),
-      q(3443) => q(klp),
-      q(3444) => q(klq),
-      q(3445) => q(klr),
-      q(3446) => q(kls),
-      q(3447) => q(klt),
-      q(3448) => q(klu),
-      q(3449) => q(klv),
-      q(3450) => q(klw),
-      q(3451) => q(klx),
-      q(3452) => q(kly),
-      q(3453) => q(klz),
-      q(3454) => q(kma),
-      q(3455) => q(kmc),
-      q(3456) => q(kmd),
-      q(3457) => q(kme),
-      q(3458) => q(kmf),
-      q(3459) => q(kmg),
-      q(3460) => q(kmh),
-      q(3461) => q(kmi),
-      q(3462) => q(kmj),
-      q(3463) => q(kmk),
-      q(3464) => q(kml),
-      q(3465) => q(kmm),
-      q(3466) => q(kmn),
-      q(3467) => q(kmo),
-      q(3468) => q(kmp),
-      q(3469) => q(kmq),
-      q(3470) => q(kmr),
-      q(3471) => q(kms),
-      q(3472) => q(kmt),
-      q(3473) => q(kmu),
-      q(3474) => q(kmv),
-      q(3475) => q(kmw),
-      q(3476) => q(kmx),
-      q(3477) => q(kmy),
-      q(3478) => q(kmz),
-      q(3479) => q(kna),
-      q(3480) => q(knb),
-      q(3481) => q(knc),
-      q(3482) => q(knd),
-      q(3483) => q(kne),
-      q(3484) => q(knf),
-      q(3485) => q(kng),
-      q(3486) => q(kni),
-      q(3487) => q(knj),
-      q(3488) => q(knk),
-      q(3489) => q(knl),
-      q(3490) => q(knm),
-      q(3491) => q(knn),
-      q(3492) => q(kno),
-      q(3493) => q(knp),
-      q(3494) => q(knq),
-      q(3495) => q(knr),
-      q(3496) => q(kns),
-      q(3497) => q(knt),
-      q(3498) => q(knu),
-      q(3499) => q(knv),
-      q(3500) => q(knw),
-      q(3501) => q(knx),
-      q(3502) => q(kny),
-      q(3503) => q(knz),
-      q(3504) => q(koa),
-      q(3505) => q(koc),
-      q(3506) => q(kod),
-      q(3507) => q(koe),
-      q(3508) => q(kof),
-      q(3509) => q(kog),
-      q(3510) => q(koh),
-      q(3511) => q(koi),
-      q(3512) => q(kol),
-      q(3513) => q(koo),
-      q(3514) => q(kop),
-      q(3515) => q(koq),
-      q(3516) => q(kot),
-      q(3517) => q(kou),
-      q(3518) => q(kov),
-      q(3519) => q(kow),
-      q(3520) => q(kox),
-      q(3521) => q(koy),
-      q(3522) => q(koz),
-      q(3523) => q(kpa),
-      q(3524) => q(kpb),
-      q(3525) => q(kpc),
-      q(3526) => q(kpd),
-      q(3527) => q(kpf),
-      q(3528) => q(kpg),
-      q(3529) => q(kph),
-      q(3530) => q(kpi),
-      q(3531) => q(kpj),
-      q(3532) => q(kpk),
-      q(3533) => q(kpl),
-      q(3534) => q(kpm),
-      q(3535) => q(kpn),
-      q(3536) => q(kpo),
-      q(3537) => q(kpq),
-      q(3538) => q(kpr),
-      q(3539) => q(kps),
-      q(3540) => q(kpt),
-      q(3541) => q(kpu),
-      q(3542) => q(kpv),
-      q(3543) => q(kpw),
-      q(3544) => q(kpx),
-      q(3545) => q(kpy),
-      q(3546) => q(kpz),
-      q(3547) => q(kqa),
-      q(3548) => q(kqb),
-      q(3549) => q(kqc),
-      q(3550) => q(kqd),
-      q(3551) => q(kqe),
-      q(3552) => q(kqf),
-      q(3553) => q(kqg),
-      q(3554) => q(kqh),
-      q(3555) => q(kqi),
-      q(3556) => q(kqj),
-      q(3557) => q(kqk),
-      q(3558) => q(kql),
-      q(3559) => q(kqm),
-      q(3560) => q(kqn),
-      q(3561) => q(kqo),
-      q(3562) => q(kqp),
-      q(3563) => q(kqq),
-      q(3564) => q(kqr),
-      q(3565) => q(kqs),
-      q(3566) => q(kqt),
-      q(3567) => q(kqu),
-      q(3568) => q(kqv),
-      q(3569) => q(kqw),
-      q(3570) => q(kqx),
-      q(3571) => q(kqy),
-      q(3572) => q(kqz),
-      q(3573) => q(kra),
-      q(3574) => q(krb),
-      q(3575) => q(krd),
-      q(3576) => q(kre),
-      q(3577) => q(krf),
-      q(3578) => q(krh),
-      q(3579) => q(kri),
-      q(3580) => q(krj),
-      q(3581) => q(krk),
-      q(3582) => q(krm),
-      q(3583) => q(krn),
-      q(3584) => q(krp),
-      q(3585) => q(krr),
-      q(3586) => q(krs),
-      q(3587) => q(krt),
-      q(3588) => q(krv),
-      q(3589) => q(krw),
-      q(3590) => q(krx),
-      q(3591) => q(kry),
-      q(3592) => q(krz),
-      q(3593) => q(ksa),
-      q(3594) => q(ksb),
-      q(3595) => q(ksc),
-      q(3596) => q(ksd),
-      q(3597) => q(kse),
-      q(3598) => q(ksf),
-      q(3599) => q(ksg),
-      q(3600) => q(ksh),
-      q(3601) => q(ksi),
-      q(3602) => q(ksj),
-      q(3603) => q(ksk),
-      q(3604) => q(ksl),
-      q(3605) => q(ksm),
-      q(3606) => q(ksn),
-      q(3607) => q(kso),
-      q(3608) => q(ksp),
-      q(3609) => q(ksq),
-      q(3610) => q(ksr),
-      q(3611) => q(kss),
-      q(3612) => q(kst),
-      q(3613) => q(ksu),
-      q(3614) => q(ksv),
-      q(3615) => q(ksw),
-      q(3616) => q(ksx),
-      q(3617) => q(ksy),
-      q(3618) => q(ksz),
-      q(3619) => q(kta),
-      q(3620) => q(ktb),
-      q(3621) => q(ktc),
-      q(3622) => q(ktd),
-      q(3623) => q(kte),
-      q(3624) => q(ktf),
-      q(3625) => q(ktg),
-      q(3626) => q(kth),
-      q(3627) => q(kti),
-      q(3628) => q(ktj),
-      q(3629) => q(ktk),
-      q(3630) => q(ktl),
-      q(3631) => q(ktm),
-      q(3632) => q(ktn),
-      q(3633) => q(kto),
-      q(3634) => q(ktp),
-      q(3635) => q(ktq),
-      q(3636) => q(ktr),
-      q(3637) => q(kts),
-      q(3638) => q(ktt),
-      q(3639) => q(ktu),
-      q(3640) => q(ktv),
-      q(3641) => q(ktw),
-      q(3642) => q(ktx),
-      q(3643) => q(kty),
-      q(3644) => q(ktz),
-      q(3645) => q(kub),
-      q(3646) => q(kuc),
-      q(3647) => q(kud),
-      q(3648) => q(kue),
-      q(3649) => q(kuf),
-      q(3650) => q(kug),
-      q(3651) => q(kuh),
-      q(3652) => q(kui),
-      q(3653) => q(kuj),
-      q(3654) => q(kuk),
-      q(3655) => q(kul),
-      q(3656) => q(kun),
-      q(3657) => q(kuo),
-      q(3658) => q(kup),
-      q(3659) => q(kus),
-      q(3660) => q(kuu),
-      q(3661) => q(kuv),
-      q(3662) => q(kuw),
-      q(3663) => q(kux),
-      q(3664) => q(kuy),
-      q(3665) => q(kuz),
-      q(3666) => q(kva),
-      q(3667) => q(kvb),
-      q(3668) => q(kvc),
-      q(3669) => q(kvd),
-      q(3670) => q(kve),
-      q(3671) => q(kvf),
-      q(3672) => q(kvg),
-      q(3673) => q(kvh),
-      q(3674) => q(kvi),
-      q(3675) => q(kvj),
-      q(3676) => q(kvk),
-      q(3677) => q(kvl),
-      q(3678) => q(kvm),
-      q(3679) => q(kvn),
-      q(3680) => q(kvo),
-      q(3681) => q(kvp),
-      q(3682) => q(kvq),
-      q(3683) => q(kvr),
-      q(3684) => q(kvs),
-      q(3685) => q(kvt),
-      q(3686) => q(kvu),
-      q(3687) => q(kvv),
-      q(3688) => q(kvw),
-      q(3689) => q(kvx),
-      q(3690) => q(kvy),
-      q(3691) => q(kvz),
-      q(3692) => q(kwa),
-      q(3693) => q(kwb),
-      q(3694) => q(kwc),
-      q(3695) => q(kwd),
-      q(3696) => q(kwe),
-      q(3697) => q(kwf),
-      q(3698) => q(kwg),
-      q(3699) => q(kwh),
-      q(3700) => q(kwi),
-      q(3701) => q(kwj),
-      q(3702) => q(kwk),
-      q(3703) => q(kwl),
-      q(3704) => q(kwm),
-      q(3705) => q(kwn),
-      q(3706) => q(kwo),
-      q(3707) => q(kwp),
-      q(3708) => q(kwr),
-      q(3709) => q(kws),
-      q(3710) => q(kwt),
-      q(3711) => q(kwu),
-      q(3712) => q(kwv),
-      q(3713) => q(kww),
-      q(3714) => q(kwx),
-      q(3715) => q(kwy),
-      q(3716) => q(kwz),
-      q(3717) => q(kxa),
-      q(3718) => q(kxb),
-      q(3719) => q(kxc),
-      q(3720) => q(kxd),
-      q(3721) => q(kxf),
-      q(3722) => q(kxh),
-      q(3723) => q(kxi),
-      q(3724) => q(kxj),
-      q(3725) => q(kxk),
-      q(3726) => q(kxl),
-      q(3727) => q(kxm),
-      q(3728) => q(kxn),
-      q(3729) => q(kxo),
-      q(3730) => q(kxp),
-      q(3731) => q(kxq),
-      q(3732) => q(kxr),
-      q(3733) => q(kxs),
-      q(3734) => q(kxt),
-      q(3735) => q(kxu),
-      q(3736) => q(kxv),
-      q(3737) => q(kxw),
-      q(3738) => q(kxx),
-      q(3739) => q(kxy),
-      q(3740) => q(kxz),
-      q(3741) => q(kya),
-      q(3742) => q(kyb),
-      q(3743) => q(kyc),
-      q(3744) => q(kyd),
-      q(3745) => q(kye),
-      q(3746) => q(kyf),
-      q(3747) => q(kyg),
-      q(3748) => q(kyh),
-      q(3749) => q(kyi),
-      q(3750) => q(kyj),
-      q(3751) => q(kyk),
-      q(3752) => q(kyl),
-      q(3753) => q(kym),
-      q(3754) => q(kyn),
-      q(3755) => q(kyo),
-      q(3756) => q(kyp),
-      q(3757) => q(kyq),
-      q(3758) => q(kyr),
-      q(3759) => q(kys),
-      q(3760) => q(kyt),
-      q(3761) => q(kyu),
-      q(3762) => q(kyv),
-      q(3763) => q(kyw),
-      q(3764) => q(kyx),
-      q(3765) => q(kyy),
-      q(3766) => q(kyz),
-      q(3767) => q(kza),
-      q(3768) => q(kzb),
-      q(3769) => q(kzc),
-      q(3770) => q(kzd),
-      q(3771) => q(kze),
-      q(3772) => q(kzf),
-      q(3773) => q(kzg),
-      q(3774) => q(kzi),
-      q(3775) => q(kzj),
-      q(3776) => q(kzk),
-      q(3777) => q(kzl),
-      q(3778) => q(kzm),
-      q(3779) => q(kzn),
-      q(3780) => q(kzo),
-      q(3781) => q(kzp),
-      q(3782) => q(kzq),
-      q(3783) => q(kzr),
-      q(3784) => q(kzs),
-      q(3785) => q(kzt),
-      q(3786) => q(kzu),
-      q(3787) => q(kzv),
-      q(3788) => q(kzw),
-      q(3789) => q(kzx),
-      q(3790) => q(kzy),
-      q(3791) => q(kzz),
-      q(3792) => q(laa),
-      q(3793) => q(lab),
-      q(3794) => q(lac),
-      q(3795) => q(lae),
-      q(3796) => q(laf),
-      q(3797) => q(lag),
-      q(3798) => q(lai),
-      q(3799) => q(laj),
-      q(3800) => q(lak),
-      q(3801) => q(lal),
-      q(3802) => q(lan),
-      q(3803) => q(lap),
-      q(3804) => q(laq),
-      q(3805) => q(lar),
-      q(3806) => q(las),
-      q(3807) => q(lau),
-      q(3808) => q(law),
-      q(3809) => q(lax),
-      q(3810) => q(lay),
-      q(3811) => q(laz),
-      q(3812) => q(lba),
-      q(3813) => q(lbb),
-      q(3814) => q(lbc),
-      q(3815) => q(lbe),
-      q(3816) => q(lbf),
-      q(3817) => q(lbg),
-      q(3818) => q(lbi),
-      q(3819) => q(lbj),
-      q(3820) => q(lbk),
-      q(3821) => q(lbl),
-      q(3822) => q(lbm),
-      q(3823) => q(lbn),
-      q(3824) => q(lbo),
-      q(3825) => q(lbq),
-      q(3826) => q(lbr),
-      q(3827) => q(lbs),
-      q(3828) => q(lbt),
-      q(3829) => q(lbu),
-      q(3830) => q(lbv),
-      q(3831) => q(lbw),
-      q(3832) => q(lbx),
-      q(3833) => q(lby),
-      q(3834) => q(lbz),
-      q(3835) => q(lcc),
-      q(3836) => q(lcd),
-      q(3837) => q(lce),
-      q(3838) => q(lcf),
-      q(3839) => q(lch),
-      q(3840) => q(lcl),
-      q(3841) => q(lcm),
-      q(3842) => q(lcp),
-      q(3843) => q(lcq),
-      q(3844) => q(lcs),
-      q(3845) => q(lda),
-      q(3846) => q(ldb),
-      q(3847) => q(ldd),
-      q(3848) => q(ldg),
-      q(3849) => q(ldh),
-      q(3850) => q(ldi),
-      q(3851) => q(ldj),
-      q(3852) => q(ldk),
-      q(3853) => q(ldl),
-      q(3854) => q(ldm),
-      q(3855) => q(ldn),
-      q(3856) => q(ldo),
-      q(3857) => q(ldp),
-      q(3858) => q(ldq),
-      q(3859) => q(lea),
-      q(3860) => q(leb),
-      q(3861) => q(lec),
-      q(3862) => q(led),
-      q(3863) => q(lee),
-      q(3864) => q(lef),
-      q(3865) => q(leh),
-      q(3866) => q(lei),
-      q(3867) => q(lej),
-      q(3868) => q(lek),
-      q(3869) => q(lel),
-      q(3870) => q(lem),
-      q(3871) => q(len),
-      q(3872) => q(leo),
-      q(3873) => q(lep),
-      q(3874) => q(leq),
-      q(3875) => q(ler),
-      q(3876) => q(les),
-      q(3877) => q(let),
-      q(3878) => q(leu),
-      q(3879) => q(lev),
-      q(3880) => q(lew),
-      q(3881) => q(lex),
-      q(3882) => q(ley),
-      q(3883) => q(lfa),
-      q(3884) => q(lfn),
-      q(3885) => q(lga),
-      q(3886) => q(lgb),
-      q(3887) => q(lgg),
-      q(3888) => q(lgh),
-      q(3889) => q(lgi),
-      q(3890) => q(lgk),
-      q(3891) => q(lgl),
-      q(3892) => q(lgm),
-      q(3893) => q(lgn),
-      q(3894) => q(lgq),
-      q(3895) => q(lgr),
-      q(3896) => q(lgt),
-      q(3897) => q(lgu),
-      q(3898) => q(lgz),
-      q(3899) => q(lha),
-      q(3900) => q(lhh),
-      q(3901) => q(lhi),
-      q(3902) => q(lhl),
-      q(3903) => q(lhm),
-      q(3904) => q(lhn),
-      q(3905) => q(lhp),
-      q(3906) => q(lhs),
-      q(3907) => q(lht),
-      q(3908) => q(lhu),
-      q(3909) => q(lia),
-      q(3910) => q(lib),
-      q(3911) => q(lic),
-      q(3912) => q(lid),
-      q(3913) => q(lie),
-      q(3914) => q(lif),
-      q(3915) => q(lig),
-      q(3916) => q(lih),
-      q(3917) => q(lij),
-      q(3918) => q(lik),
-      q(3919) => q(lil),
-      q(3920) => q(lio),
-      q(3921) => q(lip),
-      q(3922) => q(liq),
-      q(3923) => q(lir),
-      q(3924) => q(lis),
-      q(3925) => q(liu),
-      q(3926) => q(liv),
-      q(3927) => q(liw),
-      q(3928) => q(lix),
-      q(3929) => q(liy),
-      q(3930) => q(liz),
-      q(3931) => q(lja),
-      q(3932) => q(lje),
-      q(3933) => q(lji),
-      q(3934) => q(ljl),
-      q(3935) => q(ljp),
-      q(3936) => q(ljw),
-      q(3937) => q(ljx),
-      q(3938) => q(lka),
-      q(3939) => q(lkb),
-      q(3940) => q(lkc),
-      q(3941) => q(lkd),
-      q(3942) => q(lke),
-      q(3943) => q(lkh),
-      q(3944) => q(lki),
-      q(3945) => q(lkj),
-      q(3946) => q(lkl),
-      q(3947) => q(lkm),
-      q(3948) => q(lkn),
-      q(3949) => q(lko),
-      q(3950) => q(lkr),
-      q(3951) => q(lks),
-      q(3952) => q(lkt),
-      q(3953) => q(lku),
-      q(3954) => q(lky),
-      q(3955) => q(lla),
-      q(3956) => q(llb),
-      q(3957) => q(llc),
-      q(3958) => q(lld),
-      q(3959) => q(lle),
-      q(3960) => q(llf),
-      q(3961) => q(llg),
-      q(3962) => q(llh),
-      q(3963) => q(lli),
-      q(3964) => q(llj),
-      q(3965) => q(llk),
-      q(3966) => q(lll),
-      q(3967) => q(llm),
-      q(3968) => q(lln),
-      q(3969) => q(llo),
-      q(3970) => q(llp),
-      q(3971) => q(llq),
-      q(3972) => q(lls),
-      q(3973) => q(llu),
-      q(3974) => q(llx),
-      q(3975) => q(lma),
-      q(3976) => q(lmb),
-      q(3977) => q(lmc),
-      q(3978) => q(lmd),
-      q(3979) => q(lme),
-      q(3980) => q(lmf),
-      q(3981) => q(lmg),
-      q(3982) => q(lmh),
-      q(3983) => q(lmi),
-      q(3984) => q(lmj),
-      q(3985) => q(lmk),
-      q(3986) => q(lml),
-      q(3987) => q(lmn),
-      q(3988) => q(lmo),
-      q(3989) => q(lmp),
-      q(3990) => q(lmq),
-      q(3991) => q(lmr),
-      q(3992) => q(lmu),
-      q(3993) => q(lmv),
-      q(3994) => q(lmw),
-      q(3995) => q(lmx),
-      q(3996) => q(lmy),
-      q(3997) => q(lmz),
-      q(3998) => q(lna),
-      q(3999) => q(lnb),
-      q(4000) => q(lnd),
-      q(4001) => q(lng),
-      q(4002) => q(lnh),
-      q(4003) => q(lni),
-      q(4004) => q(lnj),
-      q(4005) => q(lnl),
-      q(4006) => q(lnm),
-      q(4007) => q(lnn),
-      q(4008) => q(lno),
-      q(4009) => q(lns),
-      q(4010) => q(lnu),
-      q(4011) => q(lnw),
-      q(4012) => q(lnz),
-      q(4013) => q(loa),
-      q(4014) => q(lob),
-      q(4015) => q(loc),
-      q(4016) => q(loe),
-      q(4017) => q(lof),
-      q(4018) => q(log),
-      q(4019) => q(loh),
-      q(4020) => q(loi),
-      q(4021) => q(loj),
-      q(4022) => q(lok),
-      q(4023) => q(lom),
-      q(4024) => q(lon),
-      q(4025) => q(loo),
-      q(4026) => q(lop),
-      q(4027) => q(loq),
-      q(4028) => q(lor),
-      q(4029) => q(los),
-      q(4030) => q(lot),
-      q(4031) => q(lou),
-      q(4032) => q(lov),
-      q(4033) => q(low),
-      q(4034) => q(lox),
-      q(4035) => q(loy),
-      q(4036) => q(lpa),
-      q(4037) => q(lpe),
-      q(4038) => q(lpn),
-      q(4039) => q(lpo),
-      q(4040) => q(lpx),
-      q(4041) => q(lra),
-      q(4042) => q(lrc),
-      q(4043) => q(lre),
-      q(4044) => q(lrg),
-      q(4045) => q(lri),
-      q(4046) => q(lrk),
-      q(4047) => q(lrl),
-      q(4048) => q(lrm),
-      q(4049) => q(lrn),
-      q(4050) => q(lro),
-      q(4051) => q(lrr),
-      q(4052) => q(lrt),
-      q(4053) => q(lrv),
-      q(4054) => q(lrz),
-      q(4055) => q(lsa),
-      q(4056) => q(lsd),
-      q(4057) => q(lse),
-      q(4058) => q(lsg),
-      q(4059) => q(lsh),
-      q(4060) => q(lsi),
-      q(4061) => q(lsl),
-      q(4062) => q(lsm),
-      q(4063) => q(lso),
-      q(4064) => q(lsp),
-      q(4065) => q(lsr),
-      q(4066) => q(lss),
-      q(4067) => q(lst),
-      q(4068) => q(lsy),
-      q(4069) => q(ltc),
-      q(4070) => q(ltg),
-      q(4071) => q(lti),
-      q(4072) => q(ltn),
-      q(4073) => q(lto),
-      q(4074) => q(lts),
-      q(4075) => q(ltu),
-      q(4076) => q(luc),
-      q(4077) => q(lud),
-      q(4078) => q(lue),
-      q(4079) => q(luf),
-      q(4080) => q(luj),
-      q(4081) => q(luk),
-      q(4082) => q(lul),
-      q(4083) => q(lum),
-      q(4084) => q(lup),
-      q(4085) => q(luq),
-      q(4086) => q(lur),
-      q(4087) => q(lut),
-      q(4088) => q(luu),
-      q(4089) => q(luv),
-      q(4090) => q(luw),
-      q(4091) => q(luy),
-      q(4092) => q(luz),
-      q(4093) => q(lva),
-      q(4094) => q(lvk),
-      q(4095) => q(lvs),
-      q(4096) => q(lvu),
-      q(4097) => q(lwa),
-      q(4098) => q(lwe),
-      q(4099) => q(lwg),
-      q(4100) => q(lwh),
-      q(4101) => q(lwl),
-      q(4102) => q(lwm),
-      q(4103) => q(lwo),
-      q(4104) => q(lwt),
-      q(4105) => q(lwu),
-      q(4106) => q(lww),
-      q(4107) => q(lya),
-      q(4108) => q(lyg),
-      q(4109) => q(lyn),
-      q(4110) => q(lzh),
-      q(4111) => q(lzl),
-      q(4112) => q(lzn),
-      q(4113) => q(lzz),
-      q(4114) => q(maa),
-      q(4115) => q(mab),
-      q(4116) => q(mae),
-      q(4117) => q(maf),
-      q(4118) => q(maj),
-      q(4119) => q(mam),
-      q(4120) => q(maq),
-      q(4121) => q(mat),
-      q(4122) => q(mau),
-      q(4123) => q(mav),
-      q(4124) => q(maw),
-      q(4125) => q(max),
-      q(4126) => q(maz),
-      q(4127) => q(mba),
-      q(4128) => q(mbb),
-      q(4129) => q(mbc),
-      q(4130) => q(mbd),
-      q(4131) => q(mbe),
-      q(4132) => q(mbf),
-      q(4133) => q(mbh),
-      q(4134) => q(mbi),
-      q(4135) => q(mbj),
-      q(4136) => q(mbk),
-      q(4137) => q(mbl),
-      q(4138) => q(mbm),
-      q(4139) => q(mbn),
-      q(4140) => q(mbo),
-      q(4141) => q(mbp),
-      q(4142) => q(mbq),
-      q(4143) => q(mbr),
-      q(4144) => q(mbs),
-      q(4145) => q(mbt),
-      q(4146) => q(mbu),
-      q(4147) => q(mbv),
-      q(4148) => q(mbw),
-      q(4149) => q(mbx),
-      q(4150) => q(mby),
-      q(4151) => q(mbz),
-      q(4152) => q(mca),
-      q(4153) => q(mcb),
-      q(4154) => q(mcc),
-      q(4155) => q(mcd),
-      q(4156) => q(mce),
-      q(4157) => q(mcf),
-      q(4158) => q(mcg),
-      q(4159) => q(mch),
-      q(4160) => q(mci),
-      q(4161) => q(mcj),
-      q(4162) => q(mck),
-      q(4163) => q(mcl),
-      q(4164) => q(mcm),
-      q(4165) => q(mcn),
-      q(4166) => q(mco),
-      q(4167) => q(mcp),
-      q(4168) => q(mcq),
-      q(4169) => q(mcr),
-      q(4170) => q(mcs),
-      q(4171) => q(mct),
-      q(4172) => q(mcu),
-      q(4173) => q(mcv),
-      q(4174) => q(mcw),
-      q(4175) => q(mcx),
-      q(4176) => q(mcy),
-      q(4177) => q(mcz),
-      q(4178) => q(mda),
-      q(4179) => q(mdb),
-      q(4180) => q(mdc),
-      q(4181) => q(mdd),
-      q(4182) => q(mde),
-      q(4183) => q(mdg),
-      q(4184) => q(mdh),
-      q(4185) => q(mdi),
-      q(4186) => q(mdj),
-      q(4187) => q(mdk),
-      q(4188) => q(mdl),
-      q(4189) => q(mdm),
-      q(4190) => q(mdn),
-      q(4191) => q(mdp),
-      q(4192) => q(mdq),
-      q(4193) => q(mds),
-      q(4194) => q(mdt),
-      q(4195) => q(mdu),
-      q(4196) => q(mdv),
-      q(4197) => q(mdw),
-      q(4198) => q(mdx),
-      q(4199) => q(mdy),
-      q(4200) => q(mdz),
-      q(4201) => q(mea),
-      q(4202) => q(meb),
-      q(4203) => q(mec),
-      q(4204) => q(med),
-      q(4205) => q(mee),
-      q(4206) => q(mef),
-      q(4207) => q(meh),
-      q(4208) => q(mei),
-      q(4209) => q(mej),
-      q(4210) => q(mek),
-      q(4211) => q(mel),
-      q(4212) => q(mem),
-      q(4213) => q(meo),
-      q(4214) => q(mep),
-      q(4215) => q(meq),
-      q(4216) => q(mer),
-      q(4217) => q(mes),
-      q(4218) => q(met),
-      q(4219) => q(meu),
-      q(4220) => q(mev),
-      q(4221) => q(mew),
-      q(4222) => q(mey),
-      q(4223) => q(mez),
-      q(4224) => q(mfa),
-      q(4225) => q(mfb),
-      q(4226) => q(mfc),
-      q(4227) => q(mfd),
-      q(4228) => q(mfe),
-      q(4229) => q(mff),
-      q(4230) => q(mfg),
-      q(4231) => q(mfh),
-      q(4232) => q(mfi),
-      q(4233) => q(mfj),
-      q(4234) => q(mfk),
-      q(4235) => q(mfl),
-      q(4236) => q(mfm),
-      q(4237) => q(mfn),
-      q(4238) => q(mfo),
-      q(4239) => q(mfp),
-      q(4240) => q(mfq),
-      q(4241) => q(mfr),
-      q(4242) => q(mfs),
-      q(4243) => q(mft),
-      q(4244) => q(mfu),
-      q(4245) => q(mfv),
-      q(4246) => q(mfw),
-      q(4247) => q(mfx),
-      q(4248) => q(mfy),
-      q(4249) => q(mfz),
-      q(4250) => q(mgb),
-      q(4251) => q(mgc),
-      q(4252) => q(mgd),
-      q(4253) => q(mge),
-      q(4254) => q(mgf),
-      q(4255) => q(mgg),
-      q(4256) => q(mgh),
-      q(4257) => q(mgi),
-      q(4258) => q(mgj),
-      q(4259) => q(mgk),
-      q(4260) => q(mgl),
-      q(4261) => q(mgm),
-      q(4262) => q(mgn),
-      q(4263) => q(mgo),
-      q(4264) => q(mgp),
-      q(4265) => q(mgq),
-      q(4266) => q(mgr),
-      q(4267) => q(mgs),
-      q(4268) => q(mgt),
-      q(4269) => q(mgu),
-      q(4270) => q(mgv),
-      q(4271) => q(mgw),
-      q(4272) => q(mgy),
-      q(4273) => q(mgz),
-      q(4274) => q(mha),
-      q(4275) => q(mhb),
-      q(4276) => q(mhc),
-      q(4277) => q(mhd),
-      q(4278) => q(mhe),
-      q(4279) => q(mhf),
-      q(4280) => q(mhg),
-      q(4281) => q(mhi),
-      q(4282) => q(mhj),
-      q(4283) => q(mhk),
-      q(4284) => q(mhl),
-      q(4285) => q(mhm),
-      q(4286) => q(mhn),
-      q(4287) => q(mho),
-      q(4288) => q(mhp),
-      q(4289) => q(mhq),
-      q(4290) => q(mhr),
-      q(4291) => q(mhs),
-      q(4292) => q(mht),
-      q(4293) => q(mhu),
-      q(4294) => q(mhw),
-      q(4295) => q(mhx),
-      q(4296) => q(mhy),
-      q(4297) => q(mhz),
-      q(4298) => q(mia),
-      q(4299) => q(mib),
-      q(4300) => q(mid),
-      q(4301) => q(mie),
-      q(4302) => q(mif),
-      q(4303) => q(mig),
-      q(4304) => q(mih),
-      q(4305) => q(mii),
-      q(4306) => q(mij),
-      q(4307) => q(mik),
-      q(4308) => q(mil),
-      q(4309) => q(mim),
-      q(4310) => q(mio),
-      q(4311) => q(mip),
-      q(4312) => q(miq),
-      q(4313) => q(mir),
-      q(4314) => q(mit),
-      q(4315) => q(miu),
-      q(4316) => q(miw),
-      q(4317) => q(mix),
-      q(4318) => q(miy),
-      q(4319) => q(miz),
-      q(4320) => q(mjc),
-      q(4321) => q(mjd),
-      q(4322) => q(mje),
-      q(4323) => q(mjg),
-      q(4324) => q(mjh),
-      q(4325) => q(mji),
-      q(4326) => q(mjj),
-      q(4327) => q(mjk),
-      q(4328) => q(mjl),
-      q(4329) => q(mjm),
-      q(4330) => q(mjn),
-      q(4331) => q(mjo),
-      q(4332) => q(mjp),
-      q(4333) => q(mjq),
-      q(4334) => q(mjr),
-      q(4335) => q(mjs),
-      q(4336) => q(mjt),
-      q(4337) => q(mju),
-      q(4338) => q(mjv),
-      q(4339) => q(mjw),
-      q(4340) => q(mjx),
-      q(4341) => q(mjy),
-      q(4342) => q(mjz),
-      q(4343) => q(mka),
-      q(4344) => q(mkb),
-      q(4345) => q(mkc),
-      q(4346) => q(mke),
-      q(4347) => q(mkf),
-      q(4348) => q(mkg),
-      q(4349) => q(mki),
-      q(4350) => q(mkj),
-      q(4351) => q(mkk),
-      q(4352) => q(mkl),
-      q(4353) => q(mkm),
-      q(4354) => q(mkn),
-      q(4355) => q(mko),
-      q(4356) => q(mkp),
-      q(4357) => q(mkq),
-      q(4358) => q(mkr),
-      q(4359) => q(mks),
-      q(4360) => q(mkt),
-      q(4361) => q(mku),
-      q(4362) => q(mkv),
-      q(4363) => q(mkw),
-      q(4364) => q(mkx),
-      q(4365) => q(mky),
-      q(4366) => q(mkz),
-      q(4367) => q(mla),
-      q(4368) => q(mlb),
-      q(4369) => q(mlc),
-      q(4370) => q(mle),
-      q(4371) => q(mlf),
-      q(4372) => q(mlh),
-      q(4373) => q(mli),
-      q(4374) => q(mlj),
-      q(4375) => q(mlk),
-      q(4376) => q(mll),
-      q(4377) => q(mlm),
-      q(4378) => q(mln),
-      q(4379) => q(mlo),
-      q(4380) => q(mlp),
-      q(4381) => q(mlq),
-      q(4382) => q(mlr),
-      q(4383) => q(mls),
-      q(4384) => q(mlu),
-      q(4385) => q(mlv),
-      q(4386) => q(mlw),
-      q(4387) => q(mlx),
-      q(4388) => q(mlz),
-      q(4389) => q(mma),
-      q(4390) => q(mmb),
-      q(4391) => q(mmc),
-      q(4392) => q(mmd),
-      q(4393) => q(mme),
-      q(4394) => q(mmf),
-      q(4395) => q(mmg),
-      q(4396) => q(mmh),
-      q(4397) => q(mmi),
-      q(4398) => q(mmj),
-      q(4399) => q(mmk),
-      q(4400) => q(mml),
-      q(4401) => q(mmm),
-      q(4402) => q(mmn),
-      q(4403) => q(mmo),
-      q(4404) => q(mmp),
-      q(4405) => q(mmq),
-      q(4406) => q(mmr),
-      q(4407) => q(mmt),
-      q(4408) => q(mmu),
-      q(4409) => q(mmv),
-      q(4410) => q(mmw),
-      q(4411) => q(mmx),
-      q(4412) => q(mmy),
-      q(4413) => q(mmz),
-      q(4414) => q(mna),
-      q(4415) => q(mnb),
-      q(4416) => q(mnd),
-      q(4417) => q(mne),
-      q(4418) => q(mnf),
-      q(4419) => q(mng),
-      q(4420) => q(mnh),
-      q(4421) => q(mnj),
-      q(4422) => q(mnk),
-      q(4423) => q(mnl),
-      q(4424) => q(mnm),
-      q(4425) => q(mnn),
-      q(4426) => q(mnp),
-      q(4427) => q(mnq),
-      q(4428) => q(mnr),
-      q(4429) => q(mns),
-      q(4430) => q(mnu),
-      q(4431) => q(mnv),
-      q(4432) => q(mnw),
-      q(4433) => q(mnx),
-      q(4434) => q(mny),
-      q(4435) => q(mnz),
-      q(4436) => q(moa),
-      q(4437) => q(moc),
-      q(4438) => q(mod),
-      q(4439) => q(moe),
-      q(4440) => q(mog),
-      q(4441) => q(moi),
-      q(4442) => q(moj),
-      q(4443) => q(mok),
-      q(4444) => q(mom),
-      q(4445) => q(moo),
-      q(4446) => q(mop),
-      q(4447) => q(moq),
-      q(4448) => q(mor),
-      q(4449) => q(mou),
-      q(4450) => q(mov),
-      q(4451) => q(mow),
-      q(4452) => q(mox),
-      q(4453) => q(moy),
-      q(4454) => q(moz),
-      q(4455) => q(mpa),
-      q(4456) => q(mpb),
-      q(4457) => q(mpc),
-      q(4458) => q(mpd),
-      q(4459) => q(mpe),
-      q(4460) => q(mpg),
-      q(4461) => q(mph),
-      q(4462) => q(mpi),
-      q(4463) => q(mpj),
-      q(4464) => q(mpk),
-      q(4465) => q(mpl),
-      q(4466) => q(mpm),
-      q(4467) => q(mpn),
-      q(4468) => q(mpo),
-      q(4469) => q(mpp),
-      q(4470) => q(mpq),
-      q(4471) => q(mpr),
-      q(4472) => q(mps),
-      q(4473) => q(mpt),
-      q(4474) => q(mpu),
-      q(4475) => q(mpv),
-      q(4476) => q(mpw),
-      q(4477) => q(mpx),
-      q(4478) => q(mpy),
-      q(4479) => q(mpz),
-      q(4480) => q(mqa),
-      q(4481) => q(mqb),
-      q(4482) => q(mqc),
-      q(4483) => q(mqe),
-      q(4484) => q(mqf),
-      q(4485) => q(mqg),
-      q(4486) => q(mqh),
-      q(4487) => q(mqi),
-      q(4488) => q(mqj),
-      q(4489) => q(mqk),
-      q(4490) => q(mql),
-      q(4491) => q(mqm),
-      q(4492) => q(mqn),
-      q(4493) => q(mqo),
-      q(4494) => q(mqp),
-      q(4495) => q(mqq),
-      q(4496) => q(mqr),
-      q(4497) => q(mqs),
-      q(4498) => q(mqt),
-      q(4499) => q(mqu),
-      q(4500) => q(mqv),
-      q(4501) => q(mqw),
-      q(4502) => q(mqx),
-      q(4503) => q(mqy),
-      q(4504) => q(mqz),
-      q(4505) => q(mra),
-      q(4506) => q(mrb),
-      q(4507) => q(mrc),
-      q(4508) => q(mrd),
-      q(4509) => q(mre),
-      q(4510) => q(mrf),
-      q(4511) => q(mrg),
-      q(4512) => q(mrh),
-      q(4513) => q(mrj),
-      q(4514) => q(mrk),
-      q(4515) => q(mrl),
-      q(4516) => q(mrm),
-      q(4517) => q(mrn),
-      q(4518) => q(mro),
-      q(4519) => q(mrp),
-      q(4520) => q(mrq),
-      q(4521) => q(mrr),
-      q(4522) => q(mrs),
-      q(4523) => q(mrt),
-      q(4524) => q(mru),
-      q(4525) => q(mrv),
-      q(4526) => q(mrw),
-      q(4527) => q(mrx),
-      q(4528) => q(mry),
-      q(4529) => q(mrz),
-      q(4530) => q(msb),
-      q(4531) => q(msc),
-      q(4532) => q(msd),
-      q(4533) => q(mse),
-      q(4534) => q(msf),
-      q(4535) => q(msg),
-      q(4536) => q(msh),
-      q(4537) => q(msi),
-      q(4538) => q(msj),
-      q(4539) => q(msk),
-      q(4540) => q(msl),
-      q(4541) => q(msm),
-      q(4542) => q(msn),
-      q(4543) => q(mso),
-      q(4544) => q(msp),
-      q(4545) => q(msq),
-      q(4546) => q(msr),
-      q(4547) => q(mss),
-      q(4548) => q(msu),
-      q(4549) => q(msv),
-      q(4550) => q(msw),
-      q(4551) => q(msx),
-      q(4552) => q(msy),
-      q(4553) => q(msz),
-      q(4554) => q(mta),
-      q(4555) => q(mtb),
-      q(4556) => q(mtc),
-      q(4557) => q(mtd),
-      q(4558) => q(mte),
-      q(4559) => q(mtf),
-      q(4560) => q(mtg),
-      q(4561) => q(mth),
-      q(4562) => q(mti),
-      q(4563) => q(mtj),
-      q(4564) => q(mtk),
-      q(4565) => q(mtl),
-      q(4566) => q(mtm),
-      q(4567) => q(mtn),
-      q(4568) => q(mto),
-      q(4569) => q(mtp),
-      q(4570) => q(mtq),
-      q(4571) => q(mtr),
-      q(4572) => q(mts),
-      q(4573) => q(mtt),
-      q(4574) => q(mtu),
-      q(4575) => q(mtv),
-      q(4576) => q(mtw),
-      q(4577) => q(mtx),
-      q(4578) => q(mty),
-      q(4579) => q(mua),
-      q(4580) => q(mub),
-      q(4581) => q(muc),
-      q(4582) => q(mud),
-      q(4583) => q(mue),
-      q(4584) => q(mug),
-      q(4585) => q(muh),
-      q(4586) => q(mui),
-      q(4587) => q(muj),
-      q(4588) => q(muk),
-      q(4589) => q(mum),
-      q(4590) => q(muo),
-      q(4591) => q(mup),
-      q(4592) => q(muq),
-      q(4593) => q(mur),
-      q(4594) => q(mut),
-      q(4595) => q(muu),
-      q(4596) => q(muv),
-      q(4597) => q(mux),
-      q(4598) => q(muy),
-      q(4599) => q(muz),
-      q(4600) => q(mva),
-      q(4601) => q(mvb),
-      q(4602) => q(mvd),
-      q(4603) => q(mve),
-      q(4604) => q(mvf),
-      q(4605) => q(mvg),
-      q(4606) => q(mvh),
-      q(4607) => q(mvi),
-      q(4608) => q(mvk),
-      q(4609) => q(mvl),
-      q(4610) => q(mvm),
-      q(4611) => q(mvn),
-      q(4612) => q(mvo),
-      q(4613) => q(mvp),
-      q(4614) => q(mvq),
-      q(4615) => q(mvr),
-      q(4616) => q(mvs),
-      q(4617) => q(mvt),
-      q(4618) => q(mvu),
-      q(4619) => q(mvv),
-      q(4620) => q(mvw),
-      q(4621) => q(mvx),
-      q(4622) => q(mvy),
-      q(4623) => q(mvz),
-      q(4624) => q(mwa),
-      q(4625) => q(mwb),
-      q(4626) => q(mwc),
-      q(4627) => q(mwe),
-      q(4628) => q(mwf),
-      q(4629) => q(mwg),
-      q(4630) => q(mwh),
-      q(4631) => q(mwi),
-      q(4632) => q(mwk),
-      q(4633) => q(mwm),
-      q(4634) => q(mwn),
-      q(4635) => q(mwo),
-      q(4636) => q(mwp),
-      q(4637) => q(mwq),
-      q(4638) => q(mws),
-      q(4639) => q(mwt),
-      q(4640) => q(mwu),
-      q(4641) => q(mwv),
-      q(4642) => q(mww),
-      q(4643) => q(mwx),
-      q(4644) => q(mwy),
-      q(4645) => q(mwz),
-      q(4646) => q(mxa),
-      q(4647) => q(mxb),
-      q(4648) => q(mxc),
-      q(4649) => q(mxd),
-      q(4650) => q(mxe),
-      q(4651) => q(mxf),
-      q(4652) => q(mxg),
-      q(4653) => q(mxh),
-      q(4654) => q(mxi),
-      q(4655) => q(mxj),
-      q(4656) => q(mxk),
-      q(4657) => q(mxl),
-      q(4658) => q(mxm),
-      q(4659) => q(mxn),
-      q(4660) => q(mxo),
-      q(4661) => q(mxp),
-      q(4662) => q(mxq),
-      q(4663) => q(mxr),
-      q(4664) => q(mxs),
-      q(4665) => q(mxt),
-      q(4666) => q(mxu),
-      q(4667) => q(mxv),
-      q(4668) => q(mxw),
-      q(4669) => q(mxx),
-      q(4670) => q(mxy),
-      q(4671) => q(mxz),
-      q(4672) => q(myb),
-      q(4673) => q(myc),
-      q(4674) => q(myd),
-      q(4675) => q(mye),
-      q(4676) => q(myf),
-      q(4677) => q(myg),
-      q(4678) => q(myh),
-      q(4679) => q(myi),
-      q(4680) => q(myj),
-      q(4681) => q(myk),
-      q(4682) => q(myl),
-      q(4683) => q(mym),
-      q(4684) => q(myo),
-      q(4685) => q(myp),
-      q(4686) => q(myr),
-      q(4687) => q(mys),
-      q(4688) => q(myu),
-      q(4689) => q(myw),
-      q(4690) => q(myx),
-      q(4691) => q(myy),
-      q(4692) => q(myz),
-      q(4693) => q(mza),
-      q(4694) => q(mzb),
-      q(4695) => q(mzc),
-      q(4696) => q(mzd),
-      q(4697) => q(mze),
-      q(4698) => q(mzg),
-      q(4699) => q(mzh),
-      q(4700) => q(mzi),
-      q(4701) => q(mzj),
-      q(4702) => q(mzk),
-      q(4703) => q(mzl),
-      q(4704) => q(mzm),
-      q(4705) => q(mzn),
-      q(4706) => q(mzo),
-      q(4707) => q(mzp),
-      q(4708) => q(mzq),
-      q(4709) => q(mzr),
-      q(4710) => q(mzs),
-      q(4711) => q(mzt),
-      q(4712) => q(mzu),
-      q(4713) => q(mzv),
-      q(4714) => q(mzw),
-      q(4715) => q(mzx),
-      q(4716) => q(mzy),
-      q(4717) => q(mzz),
-      q(4718) => q(naa),
-      q(4719) => q(nab),
-      q(4720) => q(nac),
-      q(4721) => q(nad),
-      q(4722) => q(nae),
-      q(4723) => q(naf),
-      q(4724) => q(nag),
-      q(4725) => q(naj),
-      q(4726) => q(nak),
-      q(4727) => q(nal),
-      q(4728) => q(nam),
-      q(4729) => q(nan),
-      q(4730) => q(nao),
-      q(4731) => q(naq),
-      q(4732) => q(nar),
-      q(4733) => q(nas),
-      q(4734) => q(nat),
-      q(4735) => q(naw),
-      q(4736) => q(nax),
-      q(4737) => q(nay),
-      q(4738) => q(naz),
-      q(4739) => q(nba),
-      q(4740) => q(nbb),
-      q(4741) => q(nbc),
-      q(4742) => q(nbd),
-      q(4743) => q(nbe),
-      q(4744) => q(nbg),
-      q(4745) => q(nbh),
-      q(4746) => q(nbi),
-      q(4747) => q(nbj),
-      q(4748) => q(nbk),
-      q(4749) => q(nbm),
-      q(4750) => q(nbn),
-      q(4751) => q(nbo),
-      q(4752) => q(nbp),
-      q(4753) => q(nbq),
-      q(4754) => q(nbr),
-      q(4755) => q(nbs),
-      q(4756) => q(nbt),
-      q(4757) => q(nbu),
-      q(4758) => q(nbv),
-      q(4759) => q(nbw),
-      q(4760) => q(nby),
-      q(4761) => q(nca),
-      q(4762) => q(ncb),
-      q(4763) => q(ncc),
-      q(4764) => q(ncd),
-      q(4765) => q(nce),
-      q(4766) => q(ncf),
-      q(4767) => q(ncg),
-      q(4768) => q(nch),
-      q(4769) => q(nci),
-      q(4770) => q(ncj),
-      q(4771) => q(nck),
-      q(4772) => q(ncl),
-      q(4773) => q(ncm),
-      q(4774) => q(ncn),
-      q(4775) => q(nco),
-      q(4776) => q(ncp),
-      q(4777) => q(ncr),
-      q(4778) => q(ncs),
-      q(4779) => q(nct),
-      q(4780) => q(ncu),
-      q(4781) => q(ncx),
-      q(4782) => q(ncz),
-      q(4783) => q(nda),
-      q(4784) => q(ndb),
-      q(4785) => q(ndc),
-      q(4786) => q(ndd),
-      q(4787) => q(ndf),
-      q(4788) => q(ndg),
-      q(4789) => q(ndh),
-      q(4790) => q(ndi),
-      q(4791) => q(ndj),
-      q(4792) => q(ndk),
-      q(4793) => q(ndl),
-      q(4794) => q(ndm),
-      q(4795) => q(ndn),
-      q(4796) => q(ndp),
-      q(4797) => q(ndq),
-      q(4798) => q(ndr),
-      q(4799) => q(ndt),
-      q(4800) => q(ndu),
-      q(4801) => q(ndv),
-      q(4802) => q(ndw),
-      q(4803) => q(ndx),
-      q(4804) => q(ndy),
-      q(4805) => q(ndz),
-      q(4806) => q(nea),
-      q(4807) => q(neb),
-      q(4808) => q(nec),
-      q(4809) => q(ned),
-      q(4810) => q(nee),
-      q(4811) => q(nef),
-      q(4812) => q(neg),
-      q(4813) => q(neh),
-      q(4814) => q(nei),
-      q(4815) => q(nej),
-      q(4816) => q(nek),
-      q(4817) => q(nem),
-      q(4818) => q(nen),
-      q(4819) => q(neo),
-      q(4820) => q(neq),
-      q(4821) => q(ner),
-      q(4822) => q(nes),
-      q(4823) => q(net),
-      q(4824) => q(neu),
-      q(4825) => q(nev),
-      q(4826) => q(nex),
-      q(4827) => q(ney),
-      q(4828) => q(nez),
-      q(4829) => q(nfa),
-      q(4830) => q(nfd),
-      q(4831) => q(nfl),
-      q(4832) => q(nfr),
-      q(4833) => q(nfu),
-      q(4834) => q(nga),
-      q(4835) => q(ngb),
-      q(4836) => q(ngc),
-      q(4837) => q(ngd),
-      q(4838) => q(nge),
-      q(4839) => q(ngg),
-      q(4840) => q(ngh),
-      q(4841) => q(ngi),
-      q(4842) => q(ngj),
-      q(4843) => q(ngk),
-      q(4844) => q(ngl),
-      q(4845) => q(ngm),
-      q(4846) => q(ngn),
-      q(4847) => q(ngo),
-      q(4848) => q(ngp),
-      q(4849) => q(ngq),
-      q(4850) => q(ngr),
-      q(4851) => q(ngs),
-      q(4852) => q(ngt),
-      q(4853) => q(ngu),
-      q(4854) => q(ngv),
-      q(4855) => q(ngw),
-      q(4856) => q(ngx),
-      q(4857) => q(ngy),
-      q(4858) => q(ngz),
-      q(4859) => q(nha),
-      q(4860) => q(nhb),
-      q(4861) => q(nhc),
-      q(4862) => q(nhd),
-      q(4863) => q(nhe),
-      q(4864) => q(nhf),
-      q(4865) => q(nhg),
-      q(4866) => q(nhh),
-      q(4867) => q(nhi),
-      q(4868) => q(nhk),
-      q(4869) => q(nhm),
-      q(4870) => q(nhn),
-      q(4871) => q(nho),
-      q(4872) => q(nhp),
-      q(4873) => q(nhq),
-      q(4874) => q(nhr),
-      q(4875) => q(nht),
-      q(4876) => q(nhu),
-      q(4877) => q(nhv),
-      q(4878) => q(nhw),
-      q(4879) => q(nhx),
-      q(4880) => q(nhy),
-      q(4881) => q(nhz),
-      q(4882) => q(nib),
-      q(4883) => q(nid),
-      q(4884) => q(nie),
-      q(4885) => q(nif),
-      q(4886) => q(nig),
-      q(4887) => q(nih),
-      q(4888) => q(nii),
-      q(4889) => q(nij),
-      q(4890) => q(nik),
-      q(4891) => q(nil),
-      q(4892) => q(nim),
-      q(4893) => q(nin),
-      q(4894) => q(nio),
-      q(4895) => q(niq),
-      q(4896) => q(nir),
-      q(4897) => q(nis),
-      q(4898) => q(nit),
-      q(4899) => q(niv),
-      q(4900) => q(niw),
-      q(4901) => q(nix),
-      q(4902) => q(niy),
-      q(4903) => q(niz),
-      q(4904) => q(nja),
-      q(4905) => q(njb),
-      q(4906) => q(njd),
-      q(4907) => q(njh),
-      q(4908) => q(nji),
-      q(4909) => q(njj),
-      q(4910) => q(njl),
-      q(4911) => q(njm),
-      q(4912) => q(njn),
-      q(4913) => q(njo),
-      q(4914) => q(njr),
-      q(4915) => q(njs),
-      q(4916) => q(njt),
-      q(4917) => q(nju),
-      q(4918) => q(njx),
-      q(4919) => q(njy),
-      q(4920) => q(njz),
-      q(4921) => q(nka),
-      q(4922) => q(nkb),
-      q(4923) => q(nkc),
-      q(4924) => q(nkd),
-      q(4925) => q(nke),
-      q(4926) => q(nkf),
-      q(4927) => q(nkg),
-      q(4928) => q(nkh),
-      q(4929) => q(nki),
-      q(4930) => q(nkj),
-      q(4931) => q(nkk),
-      q(4932) => q(nkm),
-      q(4933) => q(nkn),
-      q(4934) => q(nko),
-      q(4935) => q(nkp),
-      q(4936) => q(nkq),
-      q(4937) => q(nkr),
-      q(4938) => q(nks),
-      q(4939) => q(nkt),
-      q(4940) => q(nku),
-      q(4941) => q(nkv),
-      q(4942) => q(nkw),
-      q(4943) => q(nkx),
-      q(4944) => q(nkz),
-      q(4945) => q(nla),
-      q(4946) => q(nlc),
-      q(4947) => q(nle),
-      q(4948) => q(nlg),
-      q(4949) => q(nli),
-      q(4950) => q(nlj),
-      q(4951) => q(nlk),
-      q(4952) => q(nll),
-      q(4953) => q(nlo),
-      q(4954) => q(nlq),
-      q(4955) => q(nlu),
-      q(4956) => q(nlv),
-      q(4957) => q(nlw),
-      q(4958) => q(nlx),
-      q(4959) => q(nly),
-      q(4960) => q(nlz),
-      q(4961) => q(nma),
-      q(4962) => q(nmb),
-      q(4963) => q(nmc),
-      q(4964) => q(nmd),
-      q(4965) => q(nme),
-      q(4966) => q(nmf),
-      q(4967) => q(nmg),
-      q(4968) => q(nmh),
-      q(4969) => q(nmi),
-      q(4970) => q(nmj),
-      q(4971) => q(nmk),
-      q(4972) => q(nml),
-      q(4973) => q(nmm),
-      q(4974) => q(nmn),
-      q(4975) => q(nmo),
-      q(4976) => q(nmp),
-      q(4977) => q(nmq),
-      q(4978) => q(nmr),
-      q(4979) => q(nms),
-      q(4980) => q(nmt),
-      q(4981) => q(nmu),
-      q(4982) => q(nmv),
-      q(4983) => q(nmw),
-      q(4984) => q(nmx),
-      q(4985) => q(nmy),
-      q(4986) => q(nmz),
-      q(4987) => q(nna),
-      q(4988) => q(nnb),
-      q(4989) => q(nnc),
-      q(4990) => q(nnd),
-      q(4991) => q(nne),
-      q(4992) => q(nnf),
-      q(4993) => q(nng),
-      q(4994) => q(nnh),
-      q(4995) => q(nni),
-      q(4996) => q(nnj),
-      q(4997) => q(nnk),
-      q(4998) => q(nnl),
-      q(4999) => q(nnm),
-      q(5000) => q(nnn),
-      q(5001) => q(nnp),
-      q(5002) => q(nnq),
-      q(5003) => q(nnr),
-      q(5004) => q(nns),
-      q(5005) => q(nnt),
-      q(5006) => q(nnu),
-      q(5007) => q(nnv),
-      q(5008) => q(nnw),
-      q(5009) => q(nny),
-      q(5010) => q(nnz),
-      q(5011) => q(noa),
-      q(5012) => q(noc),
-      q(5013) => q(nod),
-      q(5014) => q(noe),
-      q(5015) => q(nof),
-      q(5016) => q(noh),
-      q(5017) => q(noi),
-      q(5018) => q(noj),
-      q(5019) => q(nok),
-      q(5020) => q(nol),
-      q(5021) => q(nom),
-      q(5022) => q(nop),
-      q(5023) => q(noq),
-      q(5024) => q(nos),
-      q(5025) => q(not),
-      q(5026) => q(nou),
-      q(5027) => q(nov),
-      q(5028) => q(now),
-      q(5029) => q(noy),
-      q(5030) => q(noz),
-      q(5031) => q(npa),
-      q(5032) => q(npb),
-      q(5033) => q(npg),
-      q(5034) => q(nph),
-      q(5035) => q(npi),
-      q(5036) => q(npl),
-      q(5037) => q(npn),
-      q(5038) => q(npo),
-      q(5039) => q(nps),
-      q(5040) => q(npu),
-      q(5041) => q(npy),
-      q(5042) => q(nqg),
-      q(5043) => q(nqk),
-      q(5044) => q(nqm),
-      q(5045) => q(nqn),
-      q(5046) => q(nqq),
-      q(5047) => q(nqy),
-      q(5048) => q(nra),
-      q(5049) => q(nrb),
-      q(5050) => q(nrc),
-      q(5051) => q(nre),
-      q(5052) => q(nrf),
-      q(5053) => q(nrg),
-      q(5054) => q(nri),
-      q(5055) => q(nrk),
-      q(5056) => q(nrl),
-      q(5057) => q(nrm),
-      q(5058) => q(nrn),
-      q(5059) => q(nrp),
-      q(5060) => q(nrr),
-      q(5061) => q(nrt),
-      q(5062) => q(nru),
-      q(5063) => q(nrx),
-      q(5064) => q(nrz),
-      q(5065) => q(nsa),
-      q(5066) => q(nsc),
-      q(5067) => q(nsd),
-      q(5068) => q(nse),
-      q(5069) => q(nsf),
-      q(5070) => q(nsg),
-      q(5071) => q(nsh),
-      q(5072) => q(nsi),
-      q(5073) => q(nsk),
-      q(5074) => q(nsl),
-      q(5075) => q(nsm),
-      q(5076) => q(nsn),
-      q(5077) => q(nsp),
-      q(5078) => q(nsq),
-      q(5079) => q(nsr),
-      q(5080) => q(nss),
-      q(5081) => q(nst),
-      q(5082) => q(nsu),
-      q(5083) => q(nsv),
-      q(5084) => q(nsw),
-      q(5085) => q(nsx),
-      q(5086) => q(nsy),
-      q(5087) => q(nsz),
-      q(5088) => q(nte),
-      q(5089) => q(ntg),
-      q(5090) => q(nti),
-      q(5091) => q(ntj),
-      q(5092) => q(ntk),
-      q(5093) => q(ntm),
-      q(5094) => q(nto),
-      q(5095) => q(ntp),
-      q(5096) => q(ntr),
-      q(5097) => q(nts),
-      q(5098) => q(ntu),
-      q(5099) => q(ntw),
-      q(5100) => q(ntx),
-      q(5101) => q(nty),
-      q(5102) => q(ntz),
-      q(5103) => q(nua),
-      q(5104) => q(nuc),
-      q(5105) => q(nud),
-      q(5106) => q(nue),
-      q(5107) => q(nuf),
-      q(5108) => q(nug),
-      q(5109) => q(nuh),
-      q(5110) => q(nui),
-      q(5111) => q(nuj),
-      q(5112) => q(nuk),
-      q(5113) => q(nul),
-      q(5114) => q(num),
-      q(5115) => q(nun),
-      q(5116) => q(nuo),
-      q(5117) => q(nup),
-      q(5118) => q(nuq),
-      q(5119) => q(nur),
-      q(5120) => q(nus),
-      q(5121) => q(nut),
-      q(5122) => q(nuu),
-      q(5123) => q(nuv),
-      q(5124) => q(nuw),
-      q(5125) => q(nux),
-      q(5126) => q(nuy),
-      q(5127) => q(nuz),
-      q(5128) => q(nvh),
-      q(5129) => q(nvm),
-      q(5130) => q(nvo),
-      q(5131) => q(nwa),
-      q(5132) => q(nwb),
-      q(5133) => q(nwe),
-      q(5134) => q(nwg),
-      q(5135) => q(nwi),
-      q(5136) => q(nwm),
-      q(5137) => q(nwo),
-      q(5138) => q(nwr),
-      q(5139) => q(nwx),
-      q(5140) => q(nwy),
-      q(5141) => q(nxa),
-      q(5142) => q(nxd),
-      q(5143) => q(nxe),
-      q(5144) => q(nxg),
-      q(5145) => q(nxi),
-      q(5146) => q(nxk),
-      q(5147) => q(nxl),
-      q(5148) => q(nxm),
-      q(5149) => q(nxn),
-      q(5150) => q(nxo),
-      q(5151) => q(nxq),
-      q(5152) => q(nxr),
-      q(5153) => q(nxu),
-      q(5154) => q(nxx),
-      q(5155) => q(nyb),
-      q(5156) => q(nyc),
-      q(5157) => q(nyd),
-      q(5158) => q(nye),
-      q(5159) => q(nyf),
-      q(5160) => q(nyg),
-      q(5161) => q(nyh),
-      q(5162) => q(nyi),
-      q(5163) => q(nyj),
-      q(5164) => q(nyk),
-      q(5165) => q(nyl),
-      q(5166) => q(nyp),
-      q(5167) => q(nyq),
-      q(5168) => q(nyr),
-      q(5169) => q(nys),
-      q(5170) => q(nyt),
-      q(5171) => q(nyu),
-      q(5172) => q(nyv),
-      q(5173) => q(nyw),
-      q(5174) => q(nyx),
-      q(5175) => q(nyy),
-      q(5176) => q(nza),
-      q(5177) => q(nzb),
-      q(5178) => q(nzk),
-      q(5179) => q(nzm),
-      q(5180) => q(nzs),
-      q(5181) => q(nzu),
-      q(5182) => q(nzy),
-      q(5183) => q(nzz),
-      q(5184) => q(oaa),
-      q(5185) => q(oac),
-      q(5186) => q(oar),
-      q(5187) => q(oav),
-      q(5188) => q(obi),
-      q(5189) => q(obk),
-      q(5190) => q(obl),
-      q(5191) => q(obm),
-      q(5192) => q(obo),
-      q(5193) => q(obr),
-      q(5194) => q(obt),
-      q(5195) => q(obu),
-      q(5196) => q(oca),
-      q(5197) => q(och),
-      q(5198) => q(oco),
-      q(5199) => q(ocu),
-      q(5200) => q(oda),
-      q(5201) => q(odk),
-      q(5202) => q(odt),
-      q(5203) => q(odu),
-      q(5204) => q(ofo),
-      q(5205) => q(ofs),
-      q(5206) => q(ofu),
-      q(5207) => q(ogb),
-      q(5208) => q(ogc),
-      q(5209) => q(oge),
-      q(5210) => q(ogg),
-      q(5211) => q(ogo),
-      q(5212) => q(ogu),
-      q(5213) => q(oht),
-      q(5214) => q(ohu),
-      q(5215) => q(oia),
-      q(5216) => q(oin),
-      q(5217) => q(ojb),
-      q(5218) => q(ojc),
-      q(5219) => q(ojg),
-      q(5220) => q(ojp),
-      q(5221) => q(ojs),
-      q(5222) => q(ojv),
-      q(5223) => q(ojw),
-      q(5224) => q(oka),
-      q(5225) => q(okb),
-      q(5226) => q(okd),
-      q(5227) => q(oke),
-      q(5228) => q(okg),
-      q(5229) => q(okh),
-      q(5230) => q(oki),
-      q(5231) => q(okj),
-      q(5232) => q(okk),
-      q(5233) => q(okl),
-      q(5234) => q(okm),
-      q(5235) => q(okn),
-      q(5236) => q(oko),
-      q(5237) => q(okr),
-      q(5238) => q(oks),
-      q(5239) => q(oku),
-      q(5240) => q(okv),
-      q(5241) => q(okx),
-      q(5242) => q(ola),
-      q(5243) => q(old),
-      q(5244) => q(ole),
-      q(5245) => q(olk),
-      q(5246) => q(olm),
-      q(5247) => q(olo),
-      q(5248) => q(olr),
-      q(5249) => q(olt),
-      q(5250) => q(oma),
-      q(5251) => q(omb),
-      q(5252) => q(omc),
-      q(5253) => q(ome),
-      q(5254) => q(omg),
-      q(5255) => q(omi),
-      q(5256) => q(omk),
-      q(5257) => q(oml),
-      q(5258) => q(omn),
-      q(5259) => q(omo),
-      q(5260) => q(omp),
-      q(5261) => q(omr),
-      q(5262) => q(omt),
-      q(5263) => q(omu),
-      q(5264) => q(omw),
-      q(5265) => q(omx),
-      q(5266) => q(ona),
-      q(5267) => q(onb),
-      q(5268) => q(one),
-      q(5269) => q(ong),
-      q(5270) => q(oni),
-      q(5271) => q(onj),
-      q(5272) => q(onk),
-      q(5273) => q(onn),
-      q(5274) => q(ono),
-      q(5275) => q(onp),
-      q(5276) => q(onr),
-      q(5277) => q(ons),
-      q(5278) => q(ont),
-      q(5279) => q(onu),
-      q(5280) => q(onw),
-      q(5281) => q(onx),
-      q(5282) => q(ood),
-      q(5283) => q(oog),
-      q(5284) => q(oon),
-      q(5285) => q(oor),
-      q(5286) => q(oos),
-      q(5287) => q(opa),
-      q(5288) => q(opk),
-      q(5289) => q(opm),
-      q(5290) => q(opo),
-      q(5291) => q(opt),
-      q(5292) => q(opy),
-      q(5293) => q(ora),
-      q(5294) => q(orc),
-      q(5295) => q(ore),
-      q(5296) => q(org),
-      q(5297) => q(orh),
-      q(5298) => q(orn),
-      q(5299) => q(oro),
-      q(5300) => q(orr),
-      q(5301) => q(ors),
-      q(5302) => q(ort),
-      q(5303) => q(oru),
-      q(5304) => q(orv),
-      q(5305) => q(orw),
-      q(5306) => q(orx),
-      q(5307) => q(ory),
-      q(5308) => q(orz),
-      q(5309) => q(osc),
-      q(5310) => q(osi),
-      q(5311) => q(oso),
-      q(5312) => q(osp),
-      q(5313) => q(ost),
-      q(5314) => q(osu),
-      q(5315) => q(osx),
-      q(5316) => q(otb),
-      q(5317) => q(otd),
-      q(5318) => q(ote),
-      q(5319) => q(oti),
-      q(5320) => q(otk),
-      q(5321) => q(otl),
-      q(5322) => q(otm),
-      q(5323) => q(otn),
-      q(5324) => q(otq),
-      q(5325) => q(otr),
-      q(5326) => q(ots),
-      q(5327) => q(ott),
-      q(5328) => q(otu),
-      q(5329) => q(otw),
-      q(5330) => q(otx),
-      q(5331) => q(oty),
-      q(5332) => q(otz),
-      q(5333) => q(oua),
-      q(5334) => q(oub),
-      q(5335) => q(oue),
-      q(5336) => q(oui),
-      q(5337) => q(oum),
-      q(5338) => q(owi),
-      q(5339) => q(owl),
-      q(5340) => q(oyb),
-      q(5341) => q(oyd),
-      q(5342) => q(oym),
-      q(5343) => q(oyy),
-      q(5344) => q(ozm),
-      q(5345) => q(pab),
-      q(5346) => q(pac),
-      q(5347) => q(pad),
-      q(5348) => q(pae),
-      q(5349) => q(paf),
-      q(5350) => q(pah),
-      q(5351) => q(pai),
-      q(5352) => q(pak),
-      q(5353) => q(pao),
-      q(5354) => q(paq),
-      q(5355) => q(par),
-      q(5356) => q(pas),
-      q(5357) => q(pat),
-      q(5358) => q(pav),
-      q(5359) => q(paw),
-      q(5360) => q(pax),
-      q(5361) => q(pay),
-      q(5362) => q(paz),
-      q(5363) => q(pbb),
-      q(5364) => q(pbc),
-      q(5365) => q(pbe),
-      q(5366) => q(pbf),
-      q(5367) => q(pbg),
-      q(5368) => q(pbh),
-      q(5369) => q(pbi),
-      q(5370) => q(pbl),
-      q(5371) => q(pbn),
-      q(5372) => q(pbo),
-      q(5373) => q(pbp),
-      q(5374) => q(pbr),
-      q(5375) => q(pbs),
-      q(5376) => q(pbt),
-      q(5377) => q(pbu),
-      q(5378) => q(pbv),
-      q(5379) => q(pby),
-      q(5380) => q(pca),
-      q(5381) => q(pcb),
-      q(5382) => q(pcc),
-      q(5383) => q(pcd),
-      q(5384) => q(pce),
-      q(5385) => q(pcf),
-      q(5386) => q(pcg),
-      q(5387) => q(pch),
-      q(5388) => q(pci),
-      q(5389) => q(pcj),
-      q(5390) => q(pck),
-      q(5391) => q(pcl),
-      q(5392) => q(pcm),
-      q(5393) => q(pcn),
-      q(5394) => q(pcp),
-      q(5395) => q(pcw),
-      q(5396) => q(pda),
-      q(5397) => q(pdc),
-      q(5398) => q(pdi),
-      q(5399) => q(pdn),
-      q(5400) => q(pdo),
-      q(5401) => q(pdt),
-      q(5402) => q(pdu),
-      q(5403) => q(pea),
-      q(5404) => q(peb),
-      q(5405) => q(ped),
-      q(5406) => q(pee),
-      q(5407) => q(pef),
-      q(5408) => q(peg),
-      q(5409) => q(peh),
-      q(5410) => q(pei),
-      q(5411) => q(pej),
-      q(5412) => q(pek),
-      q(5413) => q(pel),
-      q(5414) => q(pem),
-      q(5415) => q(pep),
-      q(5416) => q(peq),
-      q(5417) => q(pes),
-      q(5418) => q(pev),
-      q(5419) => q(pex),
-      q(5420) => q(pey),
-      q(5421) => q(pez),
-      q(5422) => q(pfa),
-      q(5423) => q(pfe),
-      q(5424) => q(pfl),
-      q(5425) => q(pga),
-      q(5426) => q(pgd),
-      q(5427) => q(pgg),
-      q(5428) => q(pgi),
-      q(5429) => q(pgk),
-      q(5430) => q(pgl),
-      q(5431) => q(pgn),
-      q(5432) => q(pgs),
-      q(5433) => q(pgu),
-      q(5434) => q(pha),
-      q(5435) => q(phd),
-      q(5436) => q(phg),
-      q(5437) => q(phh),
-      q(5438) => q(phk),
-      q(5439) => q(phl),
-      q(5440) => q(phm),
-      q(5441) => q(pho),
-      q(5442) => q(phq),
-      q(5443) => q(phr),
-      q(5444) => q(pht),
-      q(5445) => q(phu),
-      q(5446) => q(phv),
-      q(5447) => q(phw),
-      q(5448) => q(pia),
-      q(5449) => q(pib),
-      q(5450) => q(pic),
-      q(5451) => q(pid),
-      q(5452) => q(pie),
-      q(5453) => q(pif),
-      q(5454) => q(pig),
-      q(5455) => q(pih),
-      q(5456) => q(pii),
-      q(5457) => q(pij),
-      q(5458) => q(pil),
-      q(5459) => q(pim),
-      q(5460) => q(pin),
-      q(5461) => q(pio),
-      q(5462) => q(pip),
-      q(5463) => q(pir),
-      q(5464) => q(pis),
-      q(5465) => q(pit),
-      q(5466) => q(piu),
-      q(5467) => q(piv),
-      q(5468) => q(piw),
-      q(5469) => q(pix),
-      q(5470) => q(piy),
-      q(5471) => q(piz),
-      q(5472) => q(pjt),
-      q(5473) => q(pka),
-      q(5474) => q(pkb),
-      q(5475) => q(pkc),
-      q(5476) => q(pkg),
-      q(5477) => q(pkh),
-      q(5478) => q(pkn),
-      q(5479) => q(pko),
-      q(5480) => q(pkp),
-      q(5481) => q(pkr),
-      q(5482) => q(pks),
-      q(5483) => q(pkt),
-      q(5484) => q(pku),
-      q(5485) => q(pla),
-      q(5486) => q(plb),
-      q(5487) => q(plc),
-      q(5488) => q(pld),
-      q(5489) => q(ple),
-      q(5490) => q(plg),
-      q(5491) => q(plh),
-      q(5492) => q(plj),
-      q(5493) => q(plk),
-      q(5494) => q(pll),
-      q(5495) => q(pln),
-      q(5496) => q(plo),
-      q(5497) => q(plp),
-      q(5498) => q(plq),
-      q(5499) => q(plr),
-      q(5500) => q(pls),
-      q(5501) => q(plt),
-      q(5502) => q(plu),
-      q(5503) => q(plv),
-      q(5504) => q(plw),
-      q(5505) => q(ply),
-      q(5506) => q(plz),
-      q(5507) => q(pma),
-      q(5508) => q(pmb),
-      q(5509) => q(pmc),
-      q(5510) => q(pmd),
-      q(5511) => q(pme),
-      q(5512) => q(pmf),
-      q(5513) => q(pmh),
-      q(5514) => q(pmi),
-      q(5515) => q(pmj),
-      q(5516) => q(pmk),
-      q(5517) => q(pml),
-      q(5518) => q(pmm),
-      q(5519) => q(pmn),
-      q(5520) => q(pmo),
-      q(5521) => q(pmq),
-      q(5522) => q(pmr),
-      q(5523) => q(pms),
-      q(5524) => q(pmt),
-      q(5525) => q(pmw),
-      q(5526) => q(pmx),
-      q(5527) => q(pmy),
-      q(5528) => q(pmz),
-      q(5529) => q(pna),
-      q(5530) => q(pnb),
-      q(5531) => q(pnc),
-      q(5532) => q(pne),
-      q(5533) => q(png),
-      q(5534) => q(pnh),
-      q(5535) => q(pni),
-      q(5536) => q(pnj),
-      q(5537) => q(pnk),
-      q(5538) => q(pnl),
-      q(5539) => q(pnm),
-      q(5540) => q(pnn),
-      q(5541) => q(pno),
-      q(5542) => q(pnp),
-      q(5543) => q(pnq),
-      q(5544) => q(pnr),
-      q(5545) => q(pns),
-      q(5546) => q(pnt),
-      q(5547) => q(pnu),
-      q(5548) => q(pnv),
-      q(5549) => q(pnw),
-      q(5550) => q(pnx),
-      q(5551) => q(pny),
-      q(5552) => q(pnz),
-      q(5553) => q(poc),
-      q(5554) => q(pod),
-      q(5555) => q(poe),
-      q(5556) => q(pof),
-      q(5557) => q(pog),
-      q(5558) => q(poh),
-      q(5559) => q(poi),
-      q(5560) => q(pok),
-      q(5561) => q(pom),
-      q(5562) => q(poo),
-      q(5563) => q(pop),
-      q(5564) => q(poq),
-      q(5565) => q(pos),
-      q(5566) => q(pot),
-      q(5567) => q(pov),
-      q(5568) => q(pow),
-      q(5569) => q(pox),
-      q(5570) => q(poy),
-      q(5571) => q(ppa),
-      q(5572) => q(ppe),
-      q(5573) => q(ppi),
-      q(5574) => q(ppk),
-      q(5575) => q(ppl),
-      q(5576) => q(ppm),
-      q(5577) => q(ppn),
-      q(5578) => q(ppo),
-      q(5579) => q(ppp),
-      q(5580) => q(ppq),
-      q(5581) => q(pps),
-      q(5582) => q(ppt),
-      q(5583) => q(ppu),
-      q(5584) => q(pqa),
-      q(5585) => q(pqm),
-      q(5586) => q(prb),
-      q(5587) => q(prc),
-      q(5588) => q(prd),
-      q(5589) => q(pre),
-      q(5590) => q(prf),
-      q(5591) => q(prg),
-      q(5592) => q(prh),
-      q(5593) => q(pri),
-      q(5594) => q(prk),
-      q(5595) => q(prl),
-      q(5596) => q(prm),
-      q(5597) => q(prn),
-      q(5598) => q(prp),
-      q(5599) => q(prq),
-      q(5600) => q(prr),
-      q(5601) => q(prs),
-      q(5602) => q(prt),
-      q(5603) => q(pru),
-      q(5604) => q(prw),
-      q(5605) => q(prx),
-      q(5606) => q(pry),
-      q(5607) => q(prz),
-      q(5608) => q(psa),
-      q(5609) => q(psc),
-      q(5610) => q(psd),
-      q(5611) => q(pse),
-      q(5612) => q(psg),
-      q(5613) => q(psh),
-      q(5614) => q(psi),
-      q(5615) => q(psl),
-      q(5616) => q(psm),
-      q(5617) => q(psn),
-      q(5618) => q(pso),
-      q(5619) => q(psp),
-      q(5620) => q(psq),
-      q(5621) => q(psr),
-      q(5622) => q(pss),
-      q(5623) => q(pst),
-      q(5624) => q(psu),
-      q(5625) => q(psw),
-      q(5626) => q(psy),
-      q(5627) => q(pta),
-      q(5628) => q(pth),
-      q(5629) => q(pti),
-      q(5630) => q(ptn),
-      q(5631) => q(pto),
-      q(5632) => q(ptp),
-      q(5633) => q(ptq),
-      q(5634) => q(ptr),
-      q(5635) => q(ptt),
-      q(5636) => q(ptu),
-      q(5637) => q(ptv),
-      q(5638) => q(ptw),
-      q(5639) => q(pty),
-      q(5640) => q(pua),
-      q(5641) => q(pub),
-      q(5642) => q(puc),
-      q(5643) => q(pud),
-      q(5644) => q(pue),
-      q(5645) => q(puf),
-      q(5646) => q(pug),
-      q(5647) => q(pui),
-      q(5648) => q(puj),
-      q(5649) => q(puk),
-      q(5650) => q(pum),
-      q(5651) => q(puo),
-      q(5652) => q(pup),
-      q(5653) => q(puq),
-      q(5654) => q(pur),
-      q(5655) => q(put),
-      q(5656) => q(puu),
-      q(5657) => q(puw),
-      q(5658) => q(pux),
-      q(5659) => q(puy),
-      q(5660) => q(pwa),
-      q(5661) => q(pwb),
-      q(5662) => q(pwg),
-      q(5663) => q(pwi),
-      q(5664) => q(pwm),
-      q(5665) => q(pwn),
-      q(5666) => q(pwo),
-      q(5667) => q(pwr),
-      q(5668) => q(pww),
-      q(5669) => q(pxm),
-      q(5670) => q(pye),
-      q(5671) => q(pym),
-      q(5672) => q(pyn),
-      q(5673) => q(pys),
-      q(5674) => q(pyu),
-      q(5675) => q(pyx),
-      q(5676) => q(pyy),
-      q(5677) => q(pzn),
-      q(5678) => q(qua),
-      q(5679) => q(qub),
-      q(5680) => q(quc),
-      q(5681) => q(qud),
-      q(5682) => q(quf),
-      q(5683) => q(qug),
-      q(5684) => q(quh),
-      q(5685) => q(qui),
-      q(5686) => q(quk),
-      q(5687) => q(qul),
-      q(5688) => q(qum),
-      q(5689) => q(qun),
-      q(5690) => q(qup),
-      q(5691) => q(quq),
-      q(5692) => q(qur),
-      q(5693) => q(qus),
-      q(5694) => q(quv),
-      q(5695) => q(quw),
-      q(5696) => q(qux),
-      q(5697) => q(quy),
-      q(5698) => q(quz),
-      q(5699) => q(qva),
-      q(5700) => q(qvc),
-      q(5701) => q(qve),
-      q(5702) => q(qvh),
-      q(5703) => q(qvi),
-      q(5704) => q(qvj),
-      q(5705) => q(qvl),
-      q(5706) => q(qvm),
-      q(5707) => q(qvn),
-      q(5708) => q(qvo),
-      q(5709) => q(qvp),
-      q(5710) => q(qvs),
-      q(5711) => q(qvw),
-      q(5712) => q(qvy),
-      q(5713) => q(qvz),
-      q(5714) => q(qwa),
-      q(5715) => q(qwc),
-      q(5716) => q(qwh),
-      q(5717) => q(qwm),
-      q(5718) => q(qws),
-      q(5719) => q(qwt),
-      q(5720) => q(qxa),
-      q(5721) => q(qxc),
-      q(5722) => q(qxh),
-      q(5723) => q(qxl),
-      q(5724) => q(qxn),
-      q(5725) => q(qxo),
-      q(5726) => q(qxp),
-      q(5727) => q(qxq),
-      q(5728) => q(qxr),
-      q(5729) => q(qxs),
-      q(5730) => q(qxt),
-      q(5731) => q(qxu),
-      q(5732) => q(qxw),
-      q(5733) => q(qya),
-      q(5734) => q(qyp),
-      q(5735) => q(raa),
-      q(5736) => q(rab),
-      q(5737) => q(rac),
-      q(5738) => q(rad),
-      q(5739) => q(raf),
-      q(5740) => q(rag),
-      q(5741) => q(rah),
-      q(5742) => q(rai),
-      q(5743) => q(rak),
-      q(5744) => q(ral),
-      q(5745) => q(ram),
-      q(5746) => q(ran),
-      q(5747) => q(rao),
-      q(5748) => q(raq),
-      q(5749) => q(ras),
-      q(5750) => q(rat),
-      q(5751) => q(rau),
-      q(5752) => q(rav),
-      q(5753) => q(raw),
-      q(5754) => q(rax),
-      q(5755) => q(ray),
-      q(5756) => q(raz),
-      q(5757) => q(rbb),
-      q(5758) => q(rbk),
-      q(5759) => q(rbl),
-      q(5760) => q(rbp),
-      q(5761) => q(rcf),
-      q(5762) => q(rdb),
-      q(5763) => q(rea),
-      q(5764) => q(reb),
-      q(5765) => q(ree),
-      q(5766) => q(reg),
-      q(5767) => q(rei),
-      q(5768) => q(rej),
-      q(5769) => q(rel),
-      q(5770) => q(rem),
-      q(5771) => q(ren),
-      q(5772) => q(rer),
-      q(5773) => q(res),
-      q(5774) => q(ret),
-      q(5775) => q(rey),
-      q(5776) => q(rga),
-      q(5777) => q(rge),
-      q(5778) => q(rgk),
-      q(5779) => q(rgn),
-      q(5780) => q(rgr),
-      q(5781) => q(rgs),
-      q(5782) => q(rgu),
-      q(5783) => q(rhg),
-      q(5784) => q(rhp),
-      q(5785) => q(ria),
-      q(5786) => q(rie),
-      q(5787) => q(rif),
-      q(5788) => q(ril),
-      q(5789) => q(rim),
-      q(5790) => q(rin),
-      q(5791) => q(rir),
-      q(5792) => q(rit),
-      q(5793) => q(riu),
-      q(5794) => q(rjg),
-      q(5795) => q(rji),
-      q(5796) => q(rjs),
-      q(5797) => q(rka),
-      q(5798) => q(rkb),
-      q(5799) => q(rkh),
-      q(5800) => q(rki),
-      q(5801) => q(rkm),
-      q(5802) => q(rkt),
-      q(5803) => q(rkw),
-      q(5804) => q(rma),
-      q(5805) => q(rmb),
-      q(5806) => q(rmc),
-      q(5807) => q(rmd),
-      q(5808) => q(rme),
-      q(5809) => q(rmf),
-      q(5810) => q(rmg),
-      q(5811) => q(rmh),
-      q(5812) => q(rmi),
-      q(5813) => q(rmk),
-      q(5814) => q(rml),
-      q(5815) => q(rmm),
-      q(5816) => q(rmn),
-      q(5817) => q(rmo),
-      q(5818) => q(rmp),
-      q(5819) => q(rmq),
-      q(5820) => q(rms),
-      q(5821) => q(rmt),
-      q(5822) => q(rmu),
-      q(5823) => q(rmv),
-      q(5824) => q(rmw),
-      q(5825) => q(rmx),
-      q(5826) => q(rmy),
-      q(5827) => q(rmz),
-      q(5828) => q(rna),
-      q(5829) => q(rnd),
-      q(5830) => q(rng),
-      q(5831) => q(rnl),
-      q(5832) => q(rnn),
-      q(5833) => q(rnp),
-      q(5834) => q(rnr),
-      q(5835) => q(rnw),
-      q(5836) => q(rob),
-      q(5837) => q(roc),
-      q(5838) => q(rod),
-      q(5839) => q(roe),
-      q(5840) => q(rof),
-      q(5841) => q(rog),
-      q(5842) => q(rol),
-      q(5843) => q(roo),
-      q(5844) => q(rop),
-      q(5845) => q(ror),
-      q(5846) => q(rou),
-      q(5847) => q(row),
-      q(5848) => q(rpn),
-      q(5849) => q(rpt),
-      q(5850) => q(rri),
-      q(5851) => q(rro),
-      q(5852) => q(rrt),
-      q(5853) => q(rsb),
-      q(5854) => q(rsi),
-      q(5855) => q(rsl),
-      q(5856) => q(rtc),
-      q(5857) => q(rth),
-      q(5858) => q(rtm),
-      q(5859) => q(rts),
-      q(5860) => q(rtw),
-      q(5861) => q(rub),
-      q(5862) => q(ruc),
-      q(5863) => q(rue),
-      q(5864) => q(ruf),
-      q(5865) => q(rug),
-      q(5866) => q(ruh),
-      q(5867) => q(rui),
-      q(5868) => q(ruk),
-      q(5869) => q(ruo),
-      q(5870) => q(ruq),
-      q(5871) => q(rut),
-      q(5872) => q(ruu),
-      q(5873) => q(ruy),
-      q(5874) => q(ruz),
-      q(5875) => q(rwa),
-      q(5876) => q(rwk),
-      q(5877) => q(rwm),
-      q(5878) => q(rwo),
-      q(5879) => q(rwr),
-      q(5880) => q(rxd),
-      q(5881) => q(rxw),
-      q(5882) => q(ryn),
-      q(5883) => q(rys),
-      q(5884) => q(ryu),
-      q(5885) => q(saa),
-      q(5886) => q(sab),
-      q(5887) => q(sac),
-      q(5888) => q(sae),
-      q(5889) => q(saf),
-      q(5890) => q(saj),
-      q(5891) => q(sak),
-      q(5892) => q(sao),
-      q(5893) => q(saq),
-      q(5894) => q(sar),
-      q(5895) => q(sau),
-      q(5896) => q(sav),
-      q(5897) => q(saw),
-      q(5898) => q(sax),
-      q(5899) => q(say),
-      q(5900) => q(saz),
-      q(5901) => q(sba),
-      q(5902) => q(sbb),
-      q(5903) => q(sbc),
-      q(5904) => q(sbd),
-      q(5905) => q(slc),
-      q(5906) => q(sbf),
-      q(5907) => q(sbg),
-      q(5908) => q(sbh),
-      q(5909) => q(sbi),
-      q(5910) => q(sbj),
-      q(5911) => q(sbk),
-      q(5912) => q(sbl),
-      q(5913) => q(sbm),
-      q(5914) => q(sbn),
-      q(5915) => q(sbo),
-      q(5916) => q(sbp),
-      q(5917) => q(sbq),
-      q(5918) => q(sbr),
-      q(5919) => q(sbs),
-      q(5920) => q(sbt),
-      q(5921) => q(sbu),
-      q(5922) => q(sbv),
-      q(5923) => q(sbw),
-      q(5924) => q(sbx),
-      q(5925) => q(sby),
-      q(5926) => q(sbz),
-      q(5927) => q(scb),
-      q(5928) => q(sce),
-      q(5929) => q(scf),
-      q(5930) => q(scg),
-      q(5931) => q(sch),
-      q(5932) => q(sci),
-      q(5933) => q(sck),
-      q(5934) => q(scl),
-      q(5935) => q(scp),
-      q(5936) => q(scq),
-      q(5937) => q(scs),
-      q(5938) => q(scu),
-      q(5939) => q(scv),
-      q(5940) => q(scw),
-      q(5941) => q(scx),
-      q(5942) => q(sda),
-      q(5943) => q(sdb),
-      q(5944) => q(sdc),
-      q(5945) => q(sde),
-      q(5946) => q(sdf),
-      q(5947) => q(sdg),
-      q(5948) => q(sdh),
-      q(5949) => q(sdj),
-      q(5950) => q(sdk),
-      q(5951) => q(sdl),
-      q(5952) => q(sdm),
-      q(5953) => q(sdn),
-      q(5954) => q(sdo),
-      q(5955) => q(sdp),
-      q(5956) => q(sdr),
-      q(5957) => q(sds),
-      q(5958) => q(sdt),
-      q(5959) => q(sdu),
-      q(5960) => q(sdx),
-      q(5961) => q(sdz),
-      q(5962) => q(sea),
-      q(5963) => q(seb),
-      q(5964) => q(sec),
-      q(5965) => q(sed),
-      q(5966) => q(see),
-      q(5967) => q(sef),
-      q(5968) => q(seg),
-      q(5969) => q(seh),
-      q(5970) => q(sei),
-      q(5971) => q(sej),
-      q(5972) => q(sek),
-      q(5973) => q(sen),
-      q(5974) => q(seo),
-      q(5975) => q(sep),
-      q(5976) => q(seq),
-      q(5977) => q(ser),
-      q(5978) => q(ses),
-      q(5979) => q(set),
-      q(5980) => q(seu),
-      q(5981) => q(sev),
-      q(5982) => q(sew),
-      q(5983) => q(sey),
-      q(5984) => q(sez),
-      q(5985) => q(sfb),
-      q(5986) => q(sfe),
-      q(5987) => q(sfm),
-      q(5988) => q(sfs),
-      q(5989) => q(sfw),
-      q(5990) => q(sgb),
-      q(5991) => q(sgc),
-      q(5992) => q(sgd),
-      q(5993) => q(sge),
-      q(5994) => q(sgg),
-      q(5995) => q(sgh),
-      q(5996) => q(sgi),
-      q(5997) => q(sgj),
-      q(5998) => q(sgk),
-      q(5999) => q(sgm),
-      q(6000) => q(sgp),
-      q(6001) => q(sgr),
-      q(6002) => q(sgs),
-      q(6003) => q(sgt),
-      q(6004) => q(sgu),
-      q(6005) => q(sgw),
-      q(6006) => q(sgx),
-      q(6007) => q(sgy),
-      q(6008) => q(sgz),
-      q(6009) => q(sha),
-      q(6010) => q(shb),
-      q(6011) => q(shc),
-      q(6012) => q(shd),
-      q(6013) => q(she),
-      q(6014) => q(shg),
-      q(6015) => q(shh),
-      q(6016) => q(shi),
-      q(6017) => q(shj),
-      q(6018) => q(shk),
-      q(6019) => q(shl),
-      q(6020) => q(shm),
-      q(6021) => q(sho),
-      q(6022) => q(shp),
-      q(6023) => q(shq),
-      q(6024) => q(shr),
-      q(6025) => q(shs),
-      q(6026) => q(sht),
-      q(6027) => q(shu),
-      q(6028) => q(shv),
-      q(6029) => q(shw),
-      q(6030) => q(shx),
-      q(6031) => q(shy),
-      q(6032) => q(shz),
-      q(6033) => q(sia),
-      q(6034) => q(sib),
-      q(6035) => q(sie),
-      q(6036) => q(sif),
-      q(6037) => q(sig),
-      q(6038) => q(sih),
-      q(6039) => q(sii),
-      q(6040) => q(sij),
-      q(6041) => q(sik),
-      q(6042) => q(sil),
-      q(6043) => q(sim),
-      q(6044) => q(sip),
-      q(6045) => q(siq),
-      q(6046) => q(sir),
-      q(6047) => q(sis),
-      q(6048) => q(siu),
-      q(6049) => q(siv),
-      q(6050) => q(siw),
-      q(6051) => q(six),
-      q(6052) => q(siy),
-      q(6053) => q(siz),
-      q(6054) => q(sja),
-      q(6055) => q(sjb),
-      q(6056) => q(sjd),
-      q(6057) => q(sje),
-      q(6058) => q(sjg),
-      q(6059) => q(sjk),
-      q(6060) => q(sjl),
-      q(6061) => q(sjm),
-      q(6062) => q(sjn),
-      q(6063) => q(sjo),
-      q(6064) => q(sjp),
-      q(6065) => q(sjr),
-      q(6066) => q(sjs),
-      q(6067) => q(sjt),
-      q(6068) => q(sju),
-      q(6069) => q(sjw),
-      q(6070) => q(ska),
-      q(6071) => q(skb),
-      q(6072) => q(skc),
-      q(6073) => q(skd),
-      q(6074) => q(ske),
-      q(6075) => q(skf),
-      q(6076) => q(skg),
-      q(6077) => q(skh),
-      q(6078) => q(ski),
-      q(6079) => q(skj),
-      q(6080) => q(skk),
-      q(6081) => q(skm),
-      q(6082) => q(skn),
-      q(6083) => q(sko),
-      q(6084) => q(skp),
-      q(6085) => q(skq),
-      q(6086) => q(skr),
-      q(6087) => q(sks),
-      q(6088) => q(skt),
-      q(6089) => q(sku),
-      q(6090) => q(skv),
-      q(6091) => q(skw),
-      q(6092) => q(skx),
-      q(6093) => q(sky),
-      q(6094) => q(skz),
-      q(6095) => q(sld),
-      q(6096) => q(sle),
-      q(6097) => q(slf),
-      q(6098) => q(slg),
-      q(6099) => q(slh),
-      q(6100) => q(sli),
-      q(6101) => q(slj),
-      q(6102) => q(sll),
-      q(6103) => q(slm),
-      q(6104) => q(sln),
-      q(6105) => q(slp),
-      q(6106) => q(slq),
-      q(6107) => q(slr),
-      q(6108) => q(sls),
-      q(6109) => q(slt),
-      q(6110) => q(slu),
-      q(6111) => q(slw),
-      q(6112) => q(slx),
-      q(6113) => q(sly),
-      q(6114) => q(slz),
-      q(6115) => q(smb),
-      q(6116) => q(smc),
-      q(6117) => q(smd),
-      q(6118) => q(smf),
-      q(6119) => q(smg),
-      q(6120) => q(smh),
-      q(6121) => q(smk),
-      q(6122) => q(sml),
-      q(6123) => q(smm),
-      q(6124) => q(smp),
-      q(6125) => q(smq),
-      q(6126) => q(smr),
-      q(6127) => q(smt),
-      q(6128) => q(smu),
-      q(6129) => q(smv),
-      q(6130) => q(smw),
-      q(6131) => q(smx),
-      q(6132) => q(smy),
-      q(6133) => q(smz),
-      q(6134) => q(snb),
-      q(6135) => q(snc),
-      q(6136) => q(sne),
-      q(6137) => q(snf),
-      q(6138) => q(sng),
-      q(6139) => q(snh),
-      q(6140) => q(sni),
-      q(6141) => q(snj),
-      q(6142) => q(snl),
-      q(6143) => q(snm),
-      q(6144) => q(snn),
-      q(6145) => q(sno),
-      q(6146) => q(snp),
-      q(6147) => q(snq),
-      q(6148) => q(snr),
-      q(6149) => q(sns),
-      q(6150) => q(snu),
-      q(6151) => q(snv),
-      q(6152) => q(snw),
-      q(6153) => q(snx),
-      q(6154) => q(sny),
-      q(6155) => q(snz),
-      q(6156) => q(soa),
-      q(6157) => q(sob),
-      q(6158) => q(soc),
-      q(6159) => q(sod),
-      q(6160) => q(soe),
-      q(6161) => q(soh),
-      q(6162) => q(soi),
-      q(6163) => q(soj),
-      q(6164) => q(sok),
-      q(6165) => q(sol),
-      q(6166) => q(soo),
-      q(6167) => q(sop),
-      q(6168) => q(soq),
-      q(6169) => q(sor),
-      q(6170) => q(sos),
-      q(6171) => q(sou),
-      q(6172) => q(sov),
-      q(6173) => q(sow),
-      q(6174) => q(sox),
-      q(6175) => q(soy),
-      q(6176) => q(soz),
-      q(6177) => q(spb),
-      q(6178) => q(spc),
-      q(6179) => q(spd),
-      q(6180) => q(spe),
-      q(6181) => q(spg),
-      q(6182) => q(spi),
-      q(6183) => q(spk),
-      q(6184) => q(spl),
-      q(6185) => q(spm),
-      q(6186) => q(spn),
-      q(6187) => q(spo),
-      q(6188) => q(spp),
-      q(6189) => q(spq),
-      q(6190) => q(spr),
-      q(6191) => q(sps),
-      q(6192) => q(spt),
-      q(6193) => q(spu),
-      q(6194) => q(spv),
-      q(6195) => q(spx),
-      q(6196) => q(spy),
-      q(6197) => q(sqa),
-      q(6198) => q(sqh),
-      q(6199) => q(sqk),
-      q(6200) => q(sqm),
-      q(6201) => q(sqn),
-      q(6202) => q(sqo),
-      q(6203) => q(sqq),
-      q(6204) => q(sqr),
-      q(6205) => q(sqs),
-      q(6206) => q(sqt),
-      q(6207) => q(squ),
-      q(6208) => q(sra),
-      q(6209) => q(srb),
-      q(6210) => q(src),
-      q(6211) => q(sre),
-      q(6212) => q(srf),
-      q(6213) => q(srg),
-      q(6214) => q(srh),
-      q(6215) => q(sri),
-      q(6216) => q(srk),
-      q(6217) => q(srl),
-      q(6218) => q(srm),
-      q(6219) => q(sro),
-      q(6220) => q(srq),
-      q(6221) => q(srs),
-      q(6222) => q(srt),
-      q(6223) => q(sru),
-      q(6224) => q(srv),
-      q(6225) => q(srw),
-      q(6226) => q(srx),
-      q(6227) => q(sry),
-      q(6228) => q(srz),
-      q(6229) => q(ssb),
-      q(6230) => q(ssc),
-      q(6231) => q(ssd),
-      q(6232) => q(sse),
-      q(6233) => q(ssf),
-      q(6234) => q(ssg),
-      q(6235) => q(ssh),
-      q(6236) => q(ssi),
-      q(6237) => q(ssj),
-      q(6238) => q(ssk),
-      q(6239) => q(ssl),
-      q(6240) => q(ssm),
-      q(6241) => q(ssn),
-      q(6242) => q(sso),
-      q(6243) => q(ssp),
-      q(6244) => q(ssq),
-      q(6245) => q(ssr),
-      q(6246) => q(sss),
-      q(6247) => q(sst),
-      q(6248) => q(ssu),
-      q(6249) => q(ssv),
-      q(6250) => q(ssx),
-      q(6251) => q(ssy),
-      q(6252) => q(ssz),
-      q(6253) => q(sta),
-      q(6254) => q(stb),
-      q(6255) => q(std),
-      q(6256) => q(ste),
-      q(6257) => q(stf),
-      q(6258) => q(stg),
-      q(6259) => q(sth),
-      q(6260) => q(sti),
-      q(6261) => q(stj),
-      q(6262) => q(stk),
-      q(6263) => q(stl),
-      q(6264) => q(stm),
-      q(6265) => q(stn),
-      q(6266) => q(sto),
-      q(6267) => q(stp),
-      q(6268) => q(stq),
-      q(6269) => q(str),
-      q(6270) => q(sts),
-      q(6271) => q(stt),
-      q(6272) => q(stu),
-      q(6273) => q(stv),
-      q(6274) => q(stw),
-      q(6275) => q(sty),
-      q(6276) => q(sua),
-      q(6277) => q(sub),
-      q(6278) => q(suc),
-      q(6279) => q(sue),
-      q(6280) => q(sug),
-      q(6281) => q(sui),
-      q(6282) => q(suj),
-      q(6283) => q(suq),
-      q(6284) => q(sur),
-      q(6285) => q(sut),
-      q(6286) => q(suv),
-      q(6287) => q(suw),
-      q(6288) => q(suy),
-      q(6289) => q(suz),
-      q(6290) => q(sva),
-      q(6291) => q(svb),
-      q(6292) => q(svc),
-      q(6293) => q(sve),
-      q(6294) => q(svk),
-      q(6295) => q(svm),
-      q(6296) => q(svr),
-      q(6297) => q(svs),
-      q(6298) => q(svx),
-      q(6299) => q(swb),
-      q(6300) => q(swc),
-      q(6301) => q(swf),
-      q(6302) => q(swg),
-      q(6303) => q(swh),
-      q(6304) => q(swi),
-      q(6305) => q(swj),
-      q(6306) => q(swk),
-      q(6307) => q(swl),
-      q(6308) => q(swm),
-      q(6309) => q(swn),
-      q(6310) => q(swo),
-      q(6311) => q(swp),
-      q(6312) => q(swq),
-      q(6313) => q(swr),
-      q(6314) => q(sws),
-      q(6315) => q(swt),
-      q(6316) => q(swu),
-      q(6317) => q(swv),
-      q(6318) => q(sww),
-      q(6319) => q(swx),
-      q(6320) => q(swy),
-      q(6321) => q(sxb),
-      q(6322) => q(sxc),
-      q(6323) => q(sxe),
-      q(6324) => q(sxg),
-      q(6325) => q(sxk),
-      q(6326) => q(sxl),
-      q(6327) => q(sxm),
-      q(6328) => q(sxn),
-      q(6329) => q(sxo),
-      q(6330) => q(sxr),
-      q(6331) => q(sxs),
-      q(6332) => q(sxu),
-      q(6333) => q(sxw),
-      q(6334) => q(sya),
-      q(6335) => q(syb),
-      q(6336) => q(syi),
-      q(6337) => q(syk),
-      q(6338) => q(syl),
-      q(6339) => q(sym),
-      q(6340) => q(syn),
-      q(6341) => q(syo),
-      q(6342) => q(sys),
-      q(6343) => q(syw),
-      q(6344) => q(syx),
-      q(6345) => q(syy),
-      q(6346) => q(sza),
-      q(6347) => q(szb),
-      q(6348) => q(szc),
-      q(6349) => q(szd),
-      q(6350) => q(sze),
-      q(6351) => q(szg),
-      q(6352) => q(szl),
-      q(6353) => q(szn),
-      q(6354) => q(szp),
-      q(6355) => q(szv),
-      q(6356) => q(szw),
-      q(6357) => q(taa),
-      q(6358) => q(tab),
-      q(6359) => q(tac),
-      q(6360) => q(tad),
-      q(6361) => q(tae),
-      q(6362) => q(taf),
-      q(6363) => q(tag),
-      q(6364) => q(taj),
-      q(6365) => q(tak),
-      q(6366) => q(tal),
-      q(6367) => q(tan),
-      q(6368) => q(tao),
-      q(6369) => q(tap),
-      q(6370) => q(taq),
-      q(6371) => q(tar),
-      q(6372) => q(tas),
-      q(6373) => q(tau),
-      q(6374) => q(tav),
-      q(6375) => q(taw),
-      q(6376) => q(tax),
-      q(6377) => q(tay),
-      q(6378) => q(taz),
-      q(6379) => q(tba),
-      q(6380) => q(tbb),
-      q(6381) => q(tbc),
-      q(6382) => q(tbd),
-      q(6383) => q(tbe),
-      q(6384) => q(tbf),
-      q(6385) => q(tbg),
-      q(6386) => q(tbh),
-      q(6387) => q(tbi),
-      q(6388) => q(tbj),
-      q(6389) => q(tbk),
-      q(6390) => q(tbl),
-      q(6391) => q(tbm),
-      q(6392) => q(tbn),
-      q(6393) => q(tbo),
-      q(6394) => q(tbp),
-      q(6395) => q(tbr),
-      q(6396) => q(tbs),
-      q(6397) => q(tbt),
-      q(6398) => q(tbu),
-      q(6399) => q(tbv),
-      q(6400) => q(tbw),
-      q(6401) => q(tbx),
-      q(6402) => q(tby),
-      q(6403) => q(tbz),
-      q(6404) => q(tca),
-      q(6405) => q(tcb),
-      q(6406) => q(tcc),
-      q(6407) => q(tcd),
-      q(6408) => q(tce),
-      q(6409) => q(tcf),
-      q(6410) => q(tcg),
-      q(6411) => q(tch),
-      q(6412) => q(wbf),
-      q(6413) => q(tck),
-      q(6414) => q(tcl),
-      q(6415) => q(tcm),
-      q(6416) => q(tcn),
-      q(6417) => q(tco),
-      q(6418) => q(tcp),
-      q(6419) => q(tcq),
-      q(6420) => q(tcs),
-      q(6421) => q(tct),
-      q(6422) => q(tcu),
-      q(6423) => q(tcw),
-      q(6424) => q(tcx),
-      q(6425) => q(tcy),
-      q(6426) => q(tcz),
-      q(6427) => q(tda),
-      q(6428) => q(tdb),
-      q(6429) => q(tdc),
-      q(6430) => q(tdd),
-      q(6431) => q(tde),
-      q(6432) => q(tdf),
-      q(6433) => q(tdg),
-      q(6434) => q(tdh),
-      q(6435) => q(tdi),
-      q(6436) => q(tdj),
-      q(6437) => q(tdk),
-      q(6438) => q(tdl),
-      q(6439) => q(tdn),
-      q(6440) => q(tdo),
-      q(6441) => q(tdq),
-      q(6442) => q(tdr),
-      q(6443) => q(tds),
-      q(6444) => q(tdt),
-      q(6445) => q(tdu),
-      q(6446) => q(tdv),
-      q(6447) => q(tdx),
-      q(6448) => q(tdy),
-      q(6449) => q(tea),
-      q(6450) => q(teb),
-      q(6451) => q(tec),
-      q(6452) => q(ted),
-      q(6453) => q(tee),
-      q(6454) => q(tef),
-      q(6455) => q(teg),
-      q(6456) => q(teh),
-      q(6457) => q(tei),
-      q(6458) => q(tek),
-      q(6459) => q(ten),
-      q(6460) => q(teo),
-      q(6461) => q(tep),
-      q(6462) => q(teq),
-      q(6463) => q(tes),
-      q(6464) => q(teu),
-      q(6465) => q(tev),
-      q(6466) => q(tew),
-      q(6467) => q(tex),
-      q(6468) => q(tey),
-      q(6469) => q(tfi),
-      q(6470) => q(tfn),
-      q(6471) => q(tfo),
-      q(6472) => q(tfr),
-      q(6473) => q(tft),
-      q(6474) => q(tga),
-      q(6475) => q(tgb),
-      q(6476) => q(tgc),
-      q(6477) => q(tgd),
-      q(6478) => q(tge),
-      q(6479) => q(tgf),
-      q(6480) => q(tgh),
-      q(6481) => q(tgi),
-      q(6482) => q(tgj),
-      q(6483) => q(tgn),
-      q(6484) => q(tgo),
-      q(6485) => q(tgp),
-      q(6486) => q(tgq),
-      q(6487) => q(tgr),
-      q(6488) => q(tgs),
-      q(6489) => q(tgt),
-      q(6490) => q(tgu),
-      q(6491) => q(tgv),
-      q(6492) => q(tgw),
-      q(6493) => q(tgx),
-      q(6494) => q(tgy),
-      q(6495) => q(tgz),
-      q(6496) => q(thc),
-      q(6497) => q(thd),
-      q(6498) => q(the),
-      q(6499) => q(thf),
-      q(6500) => q(thh),
-      q(6501) => q(thi),
-      q(6502) => q(thk),
-      q(6503) => q(thl),
-      q(6504) => q(thm),
-      q(6505) => q(thn),
-      q(6506) => q(thp),
-      q(6507) => q(thq),
-      q(6508) => q(thr),
-      q(6509) => q(ths),
-      q(6510) => q(tht),
-      q(6511) => q(thu),
-      q(6512) => q(thv),
-      q(6513) => q(thw),
-      q(6514) => q(thy),
-      q(6515) => q(thz),
-      q(6516) => q(tia),
-      q(6517) => q(tic),
-      q(6518) => q(tid),
-      q(6519) => q(tif),
-      q(6520) => q(tih),
-      q(6521) => q(tii),
-      q(6522) => q(tij),
-      q(6523) => q(tik),
-      q(6524) => q(til),
-      q(6525) => q(tim),
-      q(6526) => q(tin),
-      q(6527) => q(tio),
-      q(6528) => q(tip),
-      q(6529) => q(tiq),
-      q(6530) => q(tis),
-      q(6531) => q(tit),
-      q(6532) => q(tiu),
-      q(6533) => q(tiw),
-      q(6534) => q(tix),
-      q(6535) => q(tiy),
-      q(6536) => q(tiz),
-      q(6537) => q(tja),
-      q(6538) => q(tjg),
-      q(6539) => q(tji),
-      q(6540) => q(tjl),
-      q(6541) => q(tjm),
-      q(6542) => q(tjn),
-      q(6543) => q(tjo),
-      q(6544) => q(tjs),
-      q(6545) => q(tju),
-      q(6546) => q(tjw),
-      q(6547) => q(tka),
-      q(6548) => q(tkb),
-      q(6549) => q(tkd),
-      q(6550) => q(tke),
-      q(6551) => q(tkf),
-      q(6552) => q(tkg),
-      q(6553) => q(tkm),
-      q(6554) => q(tkn),
-      q(6555) => q(tkp),
-      q(6556) => q(tkq),
-      q(6557) => q(tkr),
-      q(6558) => q(tks),
-      q(6559) => q(tkt),
-      q(6560) => q(tku),
-      q(6561) => q(tkv),
-      q(6562) => q(tkw),
-      q(6563) => q(tkx),
-      q(6564) => q(tkz),
-      q(6565) => q(tla),
-      q(6566) => q(tlb),
-      q(6567) => q(tlc),
-      q(6568) => q(tld),
-      q(6569) => q(tlf),
-      q(6570) => q(tlg),
-      q(6571) => q(tlj),
-      q(6572) => q(tlk),
-      q(6573) => q(tll),
-      q(6574) => q(tlm),
-      q(6575) => q(tln),
-      q(6576) => q(tlo),
-      q(6577) => q(tlp),
-      q(6578) => q(tlq),
-      q(6579) => q(tlr),
-      q(6580) => q(tls),
-      q(6581) => q(tlt),
-      q(6582) => q(tlu),
-      q(6583) => q(tlv),
-      q(6584) => q(tlx),
-      q(6585) => q(tly),
-      q(6586) => q(tma),
-      q(6587) => q(tmb),
-      q(6588) => q(tmc),
-      q(6589) => q(tmd),
-      q(6590) => q(tme),
-      q(6591) => q(tmf),
-      q(6592) => q(tmg),
-      q(6593) => q(tmi),
-      q(6594) => q(tmj),
-      q(6595) => q(tmk),
-      q(6596) => q(tml),
-      q(6597) => q(tmm),
-      q(6598) => q(tmn),
-      q(6599) => q(tmo),
-      q(6600) => q(tmp),
-      q(6601) => q(tmq),
-      q(6602) => q(tmr),
-      q(6603) => q(tms),
-      q(6604) => q(tmt),
-      q(6605) => q(tmu),
-      q(6606) => q(tmv),
-      q(6607) => q(tmw),
-      q(6608) => q(tmy),
-      q(6609) => q(tmz),
-      q(6610) => q(tna),
-      q(6611) => q(tnb),
-      q(6612) => q(tnc),
-      q(6613) => q(tnd),
-      q(6614) => q(tne),
-      q(6615) => q(tng),
-      q(6616) => q(tnh),
-      q(6617) => q(tni),
-      q(6618) => q(tnk),
-      q(6619) => q(tnl),
-      q(6620) => q(tnm),
-      q(6621) => q(tnn),
-      q(6622) => q(tno),
-      q(6623) => q(tnp),
-      q(6624) => q(tnq),
-      q(6625) => q(tnr),
-      q(6626) => q(tns),
-      q(6627) => q(tnt),
-      q(6628) => q(tnu),
-      q(6629) => q(tnv),
-      q(6630) => q(tnw),
-      q(6631) => q(tnx),
-      q(6632) => q(tny),
-      q(6633) => q(tnz),
-      q(6634) => q(tob),
-      q(6635) => q(toc),
-      q(6636) => q(tod),
-      q(6637) => q(toe),
-      q(6638) => q(tof),
-      q(6639) => q(toh),
-      q(6640) => q(toi),
-      q(6641) => q(toj),
-      q(6642) => q(tol),
-      q(6643) => q(tom),
-      q(6644) => q(too),
-      q(6645) => q(top),
-      q(6646) => q(toq),
-      q(6647) => q(tor),
-      q(6648) => q(tos),
-      q(6649) => q(tou),
-      q(6650) => q(tov),
-      q(6651) => q(tow),
-      q(6652) => q(tox),
-      q(6653) => q(toy),
-      q(6654) => q(toz),
-      q(6655) => q(tpa),
-      q(6656) => q(tpc),
-      q(6657) => q(tpe),
-      q(6658) => q(tpf),
-      q(6659) => q(tpg),
-      q(6660) => q(tpj),
-      q(6661) => q(tpk),
-      q(6662) => q(tpl),
-      q(6663) => q(tpm),
-      q(6664) => q(tpn),
-      q(6665) => q(tpo),
-      q(6666) => q(tpp),
-      q(6667) => q(tpq),
-      q(6668) => q(tpr),
-      q(6669) => q(tpt),
-      q(6670) => q(tpu),
-      q(6671) => q(tpv),
-      q(6672) => q(tpw),
-      q(6673) => q(tpx),
-      q(6674) => q(tpy),
-      q(6675) => q(tpz),
-      q(6676) => q(tqb),
-      q(6677) => q(tql),
-      q(6678) => q(tqm),
-      q(6679) => q(tqn),
-      q(6680) => q(tqo),
-      q(6681) => q(tqp),
-      q(6682) => q(tqq),
-      q(6683) => q(tqr),
-      q(6684) => q(tqt),
-      q(6685) => q(tqu),
-      q(6686) => q(tqw),
-      q(6687) => q(tra),
-      q(6688) => q(trb),
-      q(6689) => q(trc),
-      q(6690) => q(trd),
-      q(6691) => q(tre),
-      q(6692) => q(trf),
-      q(6693) => q(trg),
-      q(6694) => q(trh),
-      q(6695) => q(tri),
-      q(6696) => q(trj),
-      q(6697) => q(trl),
-      q(6698) => q(trm),
-      q(6699) => q(trn),
-      q(6700) => q(tro),
-      q(6701) => q(trp),
-      q(6702) => q(trq),
-      q(6703) => q(trr),
-      q(6704) => q(trs),
-      q(6705) => q(trt),
-      q(6706) => q(tru),
-      q(6707) => q(trv),
-      q(6708) => q(trw),
-      q(6709) => q(trx),
-      q(6710) => q(try),
-      q(6711) => q(trz),
-      q(6712) => q(tsa),
-      q(6713) => q(tsb),
-      q(6714) => q(tsc),
-      q(6715) => q(tsd),
-      q(6716) => q(tse),
-      q(6717) => q(tsg),
-      q(6718) => q(tsh),
-      q(6719) => q(tsj),
-      q(6720) => q(tsk),
-      q(6721) => q(tsl),
-      q(6722) => q(tsm),
-      q(6723) => q(tsp),
-      q(6724) => q(tsq),
-      q(6725) => q(tsr),
-      q(6726) => q(tss),
-      q(6727) => q(tst),
-      q(6728) => q(tsu),
-      q(6729) => q(tsv),
-      q(6730) => q(tsw),
-      q(6731) => q(tsx),
-      q(6732) => q(tsy),
-      q(6733) => q(tsz),
-      q(6734) => q(tta),
-      q(6735) => q(ttb),
-      q(6736) => q(ttc),
-      q(6737) => q(ttd),
-      q(6738) => q(tte),
-      q(6739) => q(ttf),
-      q(6740) => q(ttg),
-      q(6741) => q(tth),
-      q(6742) => q(tti),
-      q(6743) => q(ttj),
-      q(6744) => q(ttk),
-      q(6745) => q(ttl),
-      q(6746) => q(ttm),
-      q(6747) => q(ttn),
-      q(6748) => q(tto),
-      q(6749) => q(ttp),
-      q(6750) => q(ttq),
-      q(6751) => q(ttr),
-      q(6752) => q(tts),
-      q(6753) => q(ttt),
-      q(6754) => q(ttu),
-      q(6755) => q(ttv),
-      q(6756) => q(ttw),
-      q(6757) => q(tty),
-      q(6758) => q(ttz),
-      q(6759) => q(tua),
-      q(6760) => q(tub),
-      q(6761) => q(tuc),
-      q(6762) => q(tud),
-      q(6763) => q(tue),
-      q(6764) => q(tuf),
-      q(6765) => q(tug),
-      q(6766) => q(tuh),
-      q(6767) => q(tui),
-      q(6768) => q(tuj),
-      q(6769) => q(tul),
-      q(6770) => q(tun),
-      q(6771) => q(tuo),
-      q(6772) => q(tuq),
-      q(6773) => q(tus),
-      q(6774) => q(tuu),
-      q(6775) => q(tuv),
-      q(6776) => q(tux),
-      q(6777) => q(tuy),
-      q(6778) => q(tuz),
-      q(6779) => q(tva),
-      q(6780) => q(tvd),
-      q(6781) => q(tve),
-      q(6782) => q(tvk),
-      q(6783) => q(tvm),
-      q(6784) => q(tvn),
-      q(6785) => q(tvo),
-      q(6786) => q(tvs),
-      q(6787) => q(tvt),
-      q(6788) => q(tvu),
-      q(6789) => q(tvw),
-      q(6790) => q(tvy),
-      q(6791) => q(twa),
-      q(6792) => q(twb),
-      q(6793) => q(twc),
-      q(6794) => q(twd),
-      q(6795) => q(twe),
-      q(6796) => q(twf),
-      q(6797) => q(twg),
-      q(6798) => q(twh),
-      q(6799) => q(twl),
-      q(6800) => q(twm),
-      q(6801) => q(twn),
-      q(6802) => q(two),
-      q(6803) => q(twp),
-      q(6804) => q(twq),
-      q(6805) => q(twr),
-      q(6806) => q(twt),
-      q(6807) => q(twu),
-      q(6808) => q(tww),
-      q(6809) => q(twx),
-      q(6810) => q(twy),
-      q(6811) => q(txa),
-      q(6812) => q(txb),
-      q(6813) => q(txc),
-      q(6814) => q(txe),
-      q(6815) => q(txg),
-      q(6816) => q(txh),
-      q(6817) => q(txi),
-      q(6818) => q(txj),
-      q(6819) => q(txm),
-      q(6820) => q(txn),
-      q(6821) => q(txo),
-      q(6822) => q(txq),
-      q(6823) => q(txr),
-      q(6824) => q(txs),
-      q(6825) => q(txt),
-      q(6826) => q(txu),
-      q(6827) => q(txx),
-      q(6828) => q(txy),
-      q(6829) => q(tya),
-      q(6830) => q(tye),
-      q(6831) => q(tyh),
-      q(6832) => q(tyi),
-      q(6833) => q(tyj),
-      q(6834) => q(tyl),
-      q(6835) => q(tyn),
-      q(6836) => q(typ),
-      q(6837) => q(tyr),
-      q(6838) => q(tys),
-      q(6839) => q(tyt),
-      q(6840) => q(tyu),
-      q(6841) => q(tyx),
-      q(6842) => q(tyz),
-      q(6843) => q(tza),
-      q(6844) => q(tzh),
-      q(6845) => q(tzj),
-      q(6846) => q(tzl),
-      q(6847) => q(tzm),
-      q(6848) => q(tzn),
-      q(6849) => q(tzo),
-      q(6850) => q(tzx),
-      q(6851) => q(uam),
-      q(6852) => q(uan),
-      q(6853) => q(uar),
-      q(6854) => q(uba),
-      q(6855) => q(ubi),
-      q(6856) => q(ubl),
-      q(6857) => q(ubr),
-      q(6858) => q(ubu),
-      q(6859) => q(uby),
-      q(6860) => q(uda),
-      q(6861) => q(ude),
-      q(6862) => q(udg),
-      q(6863) => q(udi),
-      q(6864) => q(udj),
-      q(6865) => q(udl),
-      q(6866) => q(udu),
-      q(6867) => q(ues),
-      q(6868) => q(ufi),
-      q(6869) => q(ugb),
-      q(6870) => q(uge),
-      q(6871) => q(ugn),
-      q(6872) => q(ugo),
-      q(6873) => q(ugy),
-      q(6874) => q(uha),
-      q(6875) => q(uhn),
-      q(6876) => q(uis),
-      q(6877) => q(uiv),
-      q(6878) => q(uji),
-      q(6879) => q(uka),
-      q(6880) => q(ukg),
-      q(6881) => q(ukh),
-      q(6882) => q(ukl),
-      q(6883) => q(ukp),
-      q(6884) => q(ukq),
-      q(6885) => q(uks),
-      q(6886) => q(uku),
-      q(6887) => q(ukw),
-      q(6888) => q(uky),
-      q(6889) => q(ula),
-      q(6890) => q(ulb),
-      q(6891) => q(ulc),
-      q(6892) => q(ule),
-      q(6893) => q(ulf),
-      q(6894) => q(uli),
-      q(6895) => q(ulk),
-      q(6896) => q(ull),
-      q(6897) => q(ulm),
-      q(6898) => q(uln),
-      q(6899) => q(ulu),
-      q(6900) => q(ulw),
-      q(6901) => q(uma),
-      q(6902) => q(umc),
-      q(6903) => q(umd),
-      q(6904) => q(umg),
-      q(6905) => q(umi),
-      q(6906) => q(umm),
-      q(6907) => q(umn),
-      q(6908) => q(umo),
-      q(6909) => q(ump),
-      q(6910) => q(umr),
-      q(6911) => q(ums),
-      q(6912) => q(umu),
-      q(6913) => q(una),
-      q(6914) => q(une),
-      q(6915) => q(ung),
-      q(6916) => q(unk),
-      q(6917) => q(unm),
-      q(6918) => q(unn),
-      q(6919) => q(unr),
-      q(6920) => q(unu),
-      q(6921) => q(unx),
-      q(6922) => q(unz),
-      q(6923) => q(upi),
-      q(6924) => q(upv),
-      q(6925) => q(ura),
-      q(6926) => q(urb),
-      q(6927) => q(urc),
-      q(6928) => q(ure),
-      q(6929) => q(urf),
-      q(6930) => q(urg),
-      q(6931) => q(urh),
-      q(6932) => q(uri),
-      q(6933) => q(urk),
-      q(6934) => q(url),
-      q(6935) => q(urm),
-      q(6936) => q(urn),
-      q(6937) => q(uro),
-      q(6938) => q(urp),
-      q(6939) => q(urr),
-      q(6940) => q(urt),
-      q(6941) => q(uru),
-      q(6942) => q(urv),
-      q(6943) => q(urw),
-      q(6944) => q(urx),
-      q(6945) => q(ury),
-      q(6946) => q(urz),
-      q(6947) => q(usa),
-      q(6948) => q(ush),
-      q(6949) => q(usi),
-      q(6950) => q(usk),
-      q(6951) => q(usp),
-      q(6952) => q(usu),
-      q(6953) => q(uta),
-      q(6954) => q(ute),
-      q(6955) => q(utp),
-      q(6956) => q(utr),
-      q(6957) => q(utu),
-      q(6958) => q(uum),
-      q(6959) => q(uun),
-      q(6960) => q(uur),
-      q(6961) => q(uuu),
-      q(6962) => q(uve),
-      q(6963) => q(uvh),
-      q(6964) => q(uvl),
-      q(6965) => q(uwa),
-      q(6966) => q(uya),
-      q(6967) => q(uzn),
-      q(6968) => q(uzs),
-      q(6969) => q(vaa),
-      q(6970) => q(vae),
-      q(6971) => q(vaf),
-      q(6972) => q(vag),
-      q(6973) => q(vah),
-      q(6974) => q(vaj),
-      q(6975) => q(val),
-      q(6976) => q(vam),
-      q(6977) => q(van),
-      q(6978) => q(vao),
-      q(6979) => q(vap),
-      q(6980) => q(var),
-      q(6981) => q(vas),
-      q(6982) => q(vau),
-      q(6983) => q(vav),
-      q(6984) => q(vay),
-      q(6985) => q(vbb),
-      q(6986) => q(vbk),
-      q(6987) => q(vec),
-      q(6988) => q(ved),
-      q(6989) => q(vel),
-      q(6990) => q(vem),
-      q(6991) => q(veo),
-      q(6992) => q(vep),
-      q(6993) => q(ver),
-      q(6994) => q(vgr),
-      q(6995) => q(vgt),
-      q(6996) => q(vic),
-      q(6997) => q(vid),
-      q(6998) => q(vif),
-      q(6999) => q(vig),
-      q(7000) => q(vil),
-      q(7001) => q(vin),
-      q(7002) => q(vis),
-      q(7003) => q(vit),
-      q(7004) => q(viv),
-      q(7005) => q(vka),
-      q(7006) => q(vki),
-      q(7007) => q(vkj),
-      q(7008) => q(vkk),
-      q(7009) => q(vkl),
-      q(7010) => q(vkm),
-      q(7011) => q(vko),
-      q(7012) => q(vkp),
-      q(7013) => q(vkt),
-      q(7014) => q(vku),
-      q(7015) => q(vlp),
-      q(7016) => q(vls),
-      q(7017) => q(vma),
-      q(7018) => q(vmb),
-      q(7019) => q(vmc),
-      q(7020) => q(vmd),
-      q(7021) => q(vme),
-      q(7022) => q(vmf),
-      q(7023) => q(vmg),
-      q(7024) => q(vmh),
-      q(7025) => q(vmi),
-      q(7026) => q(vmj),
-      q(7027) => q(vmk),
-      q(7028) => q(vml),
-      q(7029) => q(vmm),
-      q(7030) => q(vmp),
-      q(7031) => q(vmq),
-      q(7032) => q(vmr),
-      q(7033) => q(vms),
-      q(7034) => q(vmu),
-      q(7035) => q(vmv),
-      q(7036) => q(vmw),
-      q(7037) => q(vmx),
-      q(7038) => q(vmy),
-      q(7039) => q(vmz),
-      q(7040) => q(vnk),
-      q(7041) => q(vnm),
-      q(7042) => q(vnp),
-      q(7043) => q(vro),
-      q(7044) => q(vra),
-      q(7045) => q(vrs),
-      q(7046) => q(vrt),
-      q(7047) => q(vsi),
-      q(7048) => q(vsl),
-      q(7049) => q(vsv),
-      q(7050) => q(vto),
-      q(7051) => q(vum),
-      q(7052) => q(vun),
-      q(7053) => q(vut),
-      q(7054) => q(vwa),
-      q(7055) => q(waa),
-      q(7056) => q(wab),
-      q(7057) => q(wac),
-      q(7058) => q(wad),
-      q(7059) => q(wae),
-      q(7060) => q(waf),
-      q(7061) => q(wag),
-      q(7062) => q(wah),
-      q(7063) => q(wai),
-      q(7064) => q(waj),
-      q(7065) => q(wam),
-      q(7066) => q(wan),
-      q(7067) => q(wao),
-      q(7068) => q(wap),
-      q(7069) => q(waq),
-      q(7070) => q(wat),
-      q(7071) => q(wau),
-      q(7072) => q(wav),
-      q(7073) => q(waw),
-      q(7074) => q(wax),
-      q(7075) => q(way),
-      q(7076) => q(waz),
-      q(7077) => q(wba),
-      q(7078) => q(wbb),
-      q(7079) => q(wbe),
-      q(7080) => q(wbh),
-      q(7081) => q(wbi),
-      q(7082) => q(wbj),
-      q(7083) => q(wbk),
-      q(7084) => q(wbl),
-      q(7085) => q(wbm),
-      q(7086) => q(wbp),
-      q(7087) => q(wbq),
-      q(7088) => q(wbr),
-      q(7089) => q(wbt),
-      q(7090) => q(wbv),
-      q(7091) => q(wbw),
-      q(7092) => q(wca),
-      q(7093) => q(wci),
-      q(7094) => q(wdd),
-      q(7095) => q(wdg),
-      q(7096) => q(wdj),
-      q(7097) => q(wdk),
-      q(7098) => q(wdu),
-      q(7099) => q(wdy),
-      q(7100) => q(wea),
-      q(7101) => q(wec),
-      q(7102) => q(wed),
-      q(7103) => q(weg),
-      q(7104) => q(weh),
-      q(7105) => q(wei),
-      q(7106) => q(wem),
-      q(7107) => q(weo),
-      q(7108) => q(wep),
-      q(7109) => q(wer),
-      q(7110) => q(wes),
-      q(7111) => q(wet),
-      q(7112) => q(weu),
-      q(7113) => q(wew),
-      q(7114) => q(wfg),
-      q(7115) => q(wga),
-      q(7116) => q(wgb),
-      q(7117) => q(wgg),
-      q(7118) => q(wgi),
-      q(7119) => q(wgo),
-      q(7120) => q(wgu),
-      q(7121) => q(wgy),
-      q(7122) => q(wha),
-      q(7123) => q(whg),
-      q(7124) => q(whk),
-      q(7125) => q(whu),
-      q(7126) => q(wib),
-      q(7127) => q(wic),
-      q(7128) => q(wie),
-      q(7129) => q(wif),
-      q(7130) => q(wig),
-      q(7131) => q(wih),
-      q(7132) => q(wii),
-      q(7133) => q(wij),
-      q(7134) => q(wik),
-      q(7135) => q(wil),
-      q(7136) => q(wim),
-      q(7137) => q(win),
-      q(7138) => q(wir),
-      q(7139) => q(wiu),
-      q(7140) => q(wiv),
-      q(7141) => q(wiy),
-      q(7142) => q(wja),
-      q(7143) => q(wji),
-      q(7144) => q(wka),
-      q(7145) => q(wkb),
-      q(7146) => q(wkd),
-      q(7147) => q(wkl),
-      q(7148) => q(wku),
-      q(7149) => q(wkw),
-      q(7150) => q(wky),
-      q(7151) => q(wla),
-      q(7152) => q(wlc),
-      q(7153) => q(wle),
-      q(7154) => q(wlg),
-      q(7155) => q(wli),
-      q(7156) => q(wlk),
-      q(7157) => q(wll),
-      q(7158) => q(wlm),
-      q(7159) => q(wlo),
-      q(7160) => q(wlr),
-      q(7161) => q(wls),
-      q(7162) => q(wlu),
-      q(7163) => q(wlv),
-      q(7164) => q(wlw),
-      q(7165) => q(wlx),
-      q(7166) => q(wly),
-      q(7167) => q(wma),
-      q(7168) => q(wmb),
-      q(7169) => q(wmc),
-      q(7170) => q(wmd),
-      q(7171) => q(wme),
-      q(7172) => q(wmh),
-      q(7173) => q(wmi),
-      q(7174) => q(wmm),
-      q(7175) => q(wmn),
-      q(7176) => q(wmo),
-      q(7177) => q(wms),
-      q(7178) => q(wmt),
-      q(7179) => q(wmw),
-      q(7180) => q(wmx),
-      q(7181) => q(wnb),
-      q(7182) => q(wnc),
-      q(7183) => q(wnd),
-      q(7184) => q(wne),
-      q(7185) => q(wng),
-      q(7186) => q(wni),
-      q(7187) => q(wnk),
-      q(7188) => q(wnm),
-      q(7189) => q(wnn),
-      q(7190) => q(wno),
-      q(7191) => q(wnp),
-      q(7192) => q(wnu),
-      q(7193) => q(wnw),
-      q(7194) => q(wny),
-      q(7195) => q(woa),
-      q(7196) => q(wob),
-      q(7197) => q(woc),
-      q(7198) => q(wod),
-      q(7199) => q(woe),
-      q(7200) => q(wof),
-      q(7201) => q(wog),
-      q(7202) => q(woi),
-      q(7203) => q(wok),
-      q(7204) => q(wom),
-      q(7205) => q(won),
-      q(7206) => q(woo),
-      q(7207) => q(wor),
-      q(7208) => q(wos),
-      q(7209) => q(wow),
-      q(7210) => q(woy),
-      q(7211) => q(wpc),
-      q(7212) => q(wra),
-      q(7213) => q(wrb),
-      q(7214) => q(wrd),
-      q(7215) => q(wrg),
-      q(7216) => q(wrh),
-      q(7217) => q(wri),
-      q(7218) => q(wrk),
-      q(7219) => q(wrl),
-      q(7220) => q(wrm),
-      q(7221) => q(wrn),
-      q(7222) => q(wro),
-      q(7223) => q(wrp),
-      q(7224) => q(wrr),
-      q(7225) => q(wrs),
-      q(7226) => q(wru),
-      q(7227) => q(wrv),
-      q(7228) => q(wrw),
-      q(7229) => q(wrx),
-      q(7230) => q(wry),
-      q(7231) => q(wrz),
-      q(7232) => q(wsa),
-      q(7233) => q(wsi),
-      q(7234) => q(wsk),
-      q(7235) => q(wsr),
-      q(7236) => q(wss),
-      q(7237) => q(wsu),
-      q(7238) => q(wsv),
-      q(7239) => q(wtf),
-      q(7240) => q(wth),
-      q(7241) => q(wti),
-      q(7242) => q(wtk),
-      q(7243) => q(wtm),
-      q(7244) => q(wtw),
-      q(7245) => q(wua),
-      q(7246) => q(wub),
-      q(7247) => q(wud),
-      q(7248) => q(wuh),
-      q(7249) => q(wul),
-      q(7250) => q(wum),
-      q(7251) => q(wun),
-      q(7252) => q(wur),
-      q(7253) => q(wut),
-      q(7254) => q(wuu),
-      q(7255) => q(wuv),
-      q(7256) => q(wux),
-      q(7257) => q(wuy),
-      q(7258) => q(wwa),
-      q(7259) => q(wwb),
-      q(7260) => q(wwo),
-      q(7261) => q(wwr),
-      q(7262) => q(www),
-      q(7263) => q(wxa),
-      q(7264) => q(wxw),
-      q(7265) => q(wya),
-      q(7266) => q(wyb),
-      q(7267) => q(wyi),
-      q(7268) => q(wym),
-      q(7269) => q(wyr),
-      q(7270) => q(wyy),
-      q(7271) => q(xaa),
-      q(7272) => q(xab),
-      q(7273) => q(xac),
-      q(7274) => q(xad),
-      q(7275) => q(xae),
-      q(7276) => q(xag),
-      q(7277) => q(xai),
-      q(7278) => q(xaj),
-      q(7279) => q(xam),
-      q(7280) => q(xan),
-      q(7281) => q(xao),
-      q(7282) => q(xap),
-      q(7283) => q(xaq),
-      q(7284) => q(xar),
-      q(7285) => q(xas),
-      q(7286) => q(xat),
-      q(7287) => q(xau),
-      q(7288) => q(xav),
-      q(7289) => q(xaw),
-      q(7290) => q(xay),
-      q(7291) => q(xba),
-      q(7292) => q(xbb),
-      q(7293) => q(xbc),
-      q(7294) => q(xbd),
-      q(7295) => q(xbe),
-      q(7296) => q(xbg),
-      q(7297) => q(xbi),
-      q(7298) => q(xbj),
-      q(7299) => q(xbm),
-      q(7300) => q(xbn),
-      q(7301) => q(xbo),
-      q(7302) => q(xbp),
-      q(7303) => q(xbr),
-      q(7304) => q(xbw),
-      q(7305) => q(xbx),
-      q(7306) => q(xby),
-      q(7307) => q(xcb),
-      q(7308) => q(xcc),
-      q(7309) => q(xce),
-      q(7310) => q(xcg),
-      q(7311) => q(xch),
-      q(7312) => q(xcl),
-      q(7313) => q(xcm),
-      q(7314) => q(xcn),
-      q(7315) => q(xco),
-      q(7316) => q(xcr),
-      q(7317) => q(xct),
-      q(7318) => q(xcu),
-      q(7319) => q(xcv),
-      q(7320) => q(xcw),
-      q(7321) => q(xcy),
-      q(7322) => q(xda),
-      q(7323) => q(xdc),
-      q(7324) => q(xdk),
-      q(7325) => q(xdm),
-      q(7326) => q(xdy),
-      q(7327) => q(xeb),
-      q(7328) => q(xed),
-      q(7329) => q(xeg),
-      q(7330) => q(xel),
-      q(7331) => q(xem),
-      q(7332) => q(xep),
-      q(7333) => q(xer),
-      q(7334) => q(xes),
-      q(7335) => q(xet),
-      q(7336) => q(xeu),
-      q(7337) => q(xfa),
-      q(7338) => q(xga),
-      q(7339) => q(xgb),
-      q(7340) => q(xgd),
-      q(7341) => q(xgf),
-      q(7342) => q(xgg),
-      q(7343) => q(xgi),
-      q(7344) => q(xgl),
-      q(7345) => q(xgm),
-      q(7346) => q(xgr),
-      q(7347) => q(xgu),
-      q(7348) => q(xgw),
-      q(7349) => q(xha),
-      q(7350) => q(xhc),
-      q(7351) => q(xhd),
-      q(7352) => q(xhe),
-      q(7353) => q(xhr),
-      q(7354) => q(xht),
-      q(7355) => q(xhu),
-      q(7356) => q(xhv),
-      q(7357) => q(xib),
-      q(7358) => q(xii),
-      q(7359) => q(xil),
-      q(7360) => q(xin),
-      q(7361) => q(xip),
-      q(7362) => q(xir),
-      q(7363) => q(xis),
-      q(7364) => q(xiv),
-      q(7365) => q(xiy),
-      q(7366) => q(xjb),
-      q(7367) => q(xjt),
-      q(7368) => q(xka),
-      q(7369) => q(xkb),
-      q(7370) => q(xkc),
-      q(7371) => q(xkd),
-      q(7372) => q(xke),
-      q(7373) => q(xkf),
-      q(7374) => q(xkg),
-      q(7375) => q(xkh),
-      q(7376) => q(xki),
-      q(7377) => q(xkj),
-      q(7378) => q(xkk),
-      q(7379) => q(xkl),
-      q(7380) => q(xkn),
-      q(7381) => q(xko),
-      q(7382) => q(xkp),
-      q(7383) => q(xkq),
-      q(7384) => q(xkr),
-      q(7385) => q(xks),
-      q(7386) => q(xkt),
-      q(7387) => q(xku),
-      q(7388) => q(xkv),
-      q(7389) => q(xkw),
-      q(7390) => q(xkx),
-      q(7391) => q(xky),
-      q(7392) => q(xkz),
-      q(7393) => q(xla),
-      q(7394) => q(xlb),
-      q(7395) => q(xlc),
-      q(7396) => q(xld),
-      q(7397) => q(xle),
-      q(7398) => q(xlg),
-      q(7399) => q(xli),
-      q(7400) => q(xln),
-      q(7401) => q(xlo),
-      q(7402) => q(xlp),
-      q(7403) => q(xls),
-      q(7404) => q(xlu),
-      q(7405) => q(xly),
-      q(7406) => q(xma),
-      q(7407) => q(xmb),
-      q(7408) => q(xmc),
-      q(7409) => q(xmd),
-      q(7410) => q(xme),
-      q(7411) => q(xmf),
-      q(7412) => q(xmg),
-      q(7413) => q(xmh),
-      q(7414) => q(xmj),
-      q(7415) => q(xmk),
-      q(7416) => q(xml),
-      q(7417) => q(xmm),
-      q(7418) => q(xmn),
-      q(7419) => q(xmo),
-      q(7420) => q(xmp),
-      q(7421) => q(xmq),
-      q(7422) => q(xmr),
-      q(7423) => q(xms),
-      q(7424) => q(xmt),
-      q(7425) => q(xmu),
-      q(7426) => q(xmv),
-      q(7427) => q(xmw),
-      q(7428) => q(xmx),
-      q(7429) => q(xmy),
-      q(7430) => q(xmz),
-      q(7431) => q(xna),
-      q(7432) => q(xnb),
-      q(7433) => q(xng),
-      q(7434) => q(xnh),
-      q(7435) => q(xni),
-      q(7436) => q(xnk),
-      q(7437) => q(xnn),
-      q(7438) => q(xno),
-      q(7439) => q(xnr),
-      q(7440) => q(xns),
-      q(7441) => q(xnt),
-      q(7442) => q(xnu),
-      q(7443) => q(xny),
-      q(7444) => q(xnz),
-      q(7445) => q(xoc),
-      q(7446) => q(xod),
-      q(7447) => q(xog),
-      q(7448) => q(xoi),
-      q(7449) => q(xok),
-      q(7450) => q(xom),
-      q(7451) => q(xon),
-      q(7452) => q(xoo),
-      q(7453) => q(xop),
-      q(7454) => q(xor),
-      q(7455) => q(xow),
-      q(7456) => q(xpa),
-      q(7457) => q(xpc),
-      q(7458) => q(xpe),
-      q(7459) => q(xpg),
-      q(7460) => q(xpi),
-      q(7461) => q(xpj),
-      q(7462) => q(xpk),
-      q(7463) => q(xpm),
-      q(7464) => q(xpn),
-      q(7465) => q(xpo),
-      q(7466) => q(xpp),
-      q(7467) => q(xpq),
-      q(7468) => q(xpr),
-      q(7469) => q(xps),
-      q(7470) => q(xpt),
-      q(7471) => q(xpu),
-      q(7472) => q(xpy),
-      q(7473) => q(xqa),
-      q(7474) => q(xqt),
-      q(7475) => q(xra),
-      q(7476) => q(xrb),
-      q(7477) => q(xrd),
-      q(7478) => q(xre),
-      q(7479) => q(xrg),
-      q(7480) => q(xri),
-      q(7481) => q(xrm),
-      q(7482) => q(xrn),
-      q(7483) => q(xrq),
-      q(7484) => q(xrr),
-      q(7485) => q(xrt),
-      q(7486) => q(xru),
-      q(7487) => q(xrw),
-      q(7488) => q(xsa),
-      q(7489) => q(xsb),
-      q(7490) => q(xsc),
-      q(7491) => q(xsd),
-      q(7492) => q(xse),
-      q(7493) => q(xsh),
-      q(7494) => q(xsi),
-      q(7495) => q(xsl),
-      q(7496) => q(xsm),
-      q(7497) => q(xsn),
-      q(7498) => q(xso),
-      q(7499) => q(xsp),
-      q(7500) => q(xsq),
-      q(7501) => q(xsr),
-      q(7502) => q(xss),
-      q(7503) => q(xsu),
-      q(7504) => q(xsv),
-      q(7505) => q(xsy),
-      q(7506) => q(xta),
-      q(7507) => q(xtb),
-      q(7508) => q(xtc),
-      q(7509) => q(xtd),
-      q(7510) => q(xte),
-      q(7511) => q(xtg),
-      q(7512) => q(xth),
-      q(7513) => q(xti),
-      q(7514) => q(xtj),
-      q(7515) => q(xtl),
-      q(7516) => q(xtm),
-      q(7517) => q(xtn),
-      q(7518) => q(xto),
-      q(7519) => q(xtp),
-      q(7520) => q(xtq),
-      q(7521) => q(xtr),
-      q(7522) => q(xts),
-      q(7523) => q(xtt),
-      q(7524) => q(xtu),
-      q(7525) => q(xtv),
-      q(7526) => q(xtw),
-      q(7527) => q(xty),
-      q(7528) => q(xtz),
-      q(7529) => q(xua),
-      q(7530) => q(xub),
-      q(7531) => q(xud),
-      q(7532) => q(xug),
-      q(7533) => q(xuj),
-      q(7534) => q(xul),
-      q(7535) => q(xum),
-      q(7536) => q(xun),
-      q(7537) => q(xuo),
-      q(7538) => q(xup),
-      q(7539) => q(xur),
-      q(7540) => q(xut),
-      q(7541) => q(xuu),
-      q(7542) => q(xve),
-      q(7543) => q(xvi),
-      q(7544) => q(xvn),
-      q(7545) => q(xvo),
-      q(7546) => q(xvs),
-      q(7547) => q(xwa),
-      q(7548) => q(xwc),
-      q(7549) => q(xwd),
-      q(7550) => q(xwe),
-      q(7551) => q(xwg),
-      q(7552) => q(xwj),
-      q(7553) => q(xwk),
-      q(7554) => q(xwl),
-      q(7555) => q(xwo),
-      q(7556) => q(xwr),
-      q(7557) => q(xwt),
-      q(7558) => q(xww),
-      q(7559) => q(xxb),
-      q(7560) => q(xxk),
-      q(7561) => q(xxm),
-      q(7562) => q(xxr),
-      q(7563) => q(xxt),
-      q(7564) => q(xya),
-      q(7565) => q(xyb),
-      q(7566) => q(xyj),
-      q(7567) => q(xyk),
-      q(7568) => q(xyl),
-      q(7569) => q(xyt),
-      q(7570) => q(xyy),
-      q(7571) => q(xzh),
-      q(7572) => q(xzm),
-      q(7573) => q(xzp),
-      q(7574) => q(yaa),
-      q(7575) => q(yab),
-      q(7576) => q(yac),
-      q(7577) => q(yad),
-      q(7578) => q(yae),
-      q(7579) => q(yaf),
-      q(7580) => q(yag),
-      q(7581) => q(yah),
-      q(7582) => q(yai),
-      q(7583) => q(yaj),
-      q(7584) => q(yak),
-      q(7585) => q(yal),
-      q(7586) => q(yam),
-      q(7587) => q(yan),
-      q(7588) => q(yaq),
-      q(7589) => q(yar),
-      q(7590) => q(yas),
-      q(7591) => q(yat),
-      q(7592) => q(yau),
-      q(7593) => q(yav),
-      q(7594) => q(yaw),
-      q(7595) => q(yax),
-      q(7596) => q(yay),
-      q(7597) => q(yaz),
-      q(7598) => q(yba),
-      q(7599) => q(ybb),
-      q(7600) => q(ybe),
-      q(7601) => q(ybh),
-      q(7602) => q(ybi),
-      q(7603) => q(ybj),
-      q(7604) => q(ybk),
-      q(7605) => q(ybl),
-      q(7606) => q(ybm),
-      q(7607) => q(ybn),
-      q(7608) => q(ybo),
-      q(7609) => q(ybx),
-      q(7610) => q(yby),
-      q(7611) => q(ych),
-      q(7612) => q(ycl),
-      q(7613) => q(ycn),
-      q(7614) => q(ycp),
-      q(7615) => q(yda),
-      q(7616) => q(ydd),
-      q(7617) => q(yde),
-      q(7618) => q(ydg),
-      q(7619) => q(ydk),
-      q(7620) => q(yea),
-      q(7621) => q(yec),
-      q(7622) => q(yee),
-      q(7623) => q(yei),
-      q(7624) => q(yej),
-      q(7625) => q(yel),
-      q(7626) => q(yer),
-      q(7627) => q(yes),
-      q(7628) => q(yet),
-      q(7629) => q(yeu),
-      q(7630) => q(yev),
-      q(7631) => q(yey),
-      q(7632) => q(yga),
-      q(7633) => q(ygi),
-      q(7634) => q(ygl),
-      q(7635) => q(ygm),
-      q(7636) => q(ygp),
-      q(7637) => q(ygr),
-      q(7638) => q(ygs),
-      q(7639) => q(ygu),
-      q(7640) => q(ygw),
-      q(7641) => q(yha),
-      q(7642) => q(yhd),
-      q(7643) => q(yhl),
+      q(2579) => q(gnr),
+      q(2580) => q(gnt),
+      q(2581) => q(gnu),
+      q(2582) => q(gnw),
+      q(2583) => q(gnz),
+      q(2584) => q(goa),
+      q(2585) => q(gob),
+      q(2586) => q(goc),
+      q(2587) => q(god),
+      q(2588) => q(goe),
+      q(2589) => q(gof),
+      q(2590) => q(gog),
+      q(2591) => q(goi),
+      q(2592) => q(goj),
+      q(2593) => q(gok),
+      q(2594) => q(gol),
+      q(2595) => q(gom),
+      q(2596) => q(goo),
+      q(2597) => q(gop),
+      q(2598) => q(goq),
+      q(2599) => q(gos),
+      q(2600) => q(gou),
+      q(2601) => q(gow),
+      q(2602) => q(gox),
+      q(2603) => q(goy),
+      q(2604) => q(goz),
+      q(2605) => q(gpa),
+      q(2606) => q(gpe),
+      q(2607) => q(gpn),
+      q(2608) => q(gqa),
+      q(2609) => q(gqi),
+      q(2610) => q(gqn),
+      q(2611) => q(gqr),
+      q(2612) => q(gqu),
+      q(2613) => q(gra),
+      q(2614) => q(grd),
+      q(2615) => q(grg),
+      q(2616) => q(grh),
+      q(2617) => q(gri),
+      q(2618) => q(grj),
+      q(2619) => q(grm),
+      q(2620) => q(gro),
+      q(2621) => q(grq),
+      q(2622) => q(grr),
+      q(2623) => q(grs),
+      q(2624) => q(grt),
+      q(2625) => q(gru),
+      q(2626) => q(grv),
+      q(2627) => q(grw),
+      q(2628) => q(grx),
+      q(2629) => q(gry),
+      q(2630) => q(grz),
+      q(2631) => q(gse),
+      q(2632) => q(gsg),
+      q(2633) => q(gsl),
+      q(2634) => q(gsm),
+      q(2635) => q(gsn),
+      q(2636) => q(gso),
+      q(2637) => q(gsp),
+      q(2638) => q(gss),
+      q(2639) => q(gta),
+      q(2640) => q(gtu),
+      q(2641) => q(gua),
+      q(2642) => q(gub),
+      q(2643) => q(guc),
+      q(2644) => q(gud),
+      q(2645) => q(gue),
+      q(2646) => q(guf),
+      q(2647) => q(gug),
+      q(2648) => q(guh),
+      q(2649) => q(gui),
+      q(2650) => q(guk),
+      q(2651) => q(gul),
+      q(2652) => q(gum),
+      q(2653) => q(gun),
+      q(2654) => q(guo),
+      q(2655) => q(gup),
+      q(2656) => q(yif),
+      q(2657) => q(gur),
+      q(2658) => q(gus),
+      q(2659) => q(gut),
+      q(2660) => q(guu),
+      q(2661) => q(guv),
+      q(2662) => q(guw),
+      q(2663) => q(gux),
+      q(2664) => q(guz),
+      q(2665) => q(gva),
+      q(2666) => q(gvc),
+      q(2667) => q(gve),
+      q(2668) => q(gvf),
+      q(2669) => q(gvj),
+      q(2670) => q(gvl),
+      q(2671) => q(gvm),
+      q(2672) => q(gvn),
+      q(2673) => q(gvo),
+      q(2674) => q(gvp),
+      q(2675) => q(gvr),
+      q(2676) => q(gvs),
+      q(2677) => q(gvy),
+      q(2678) => q(gwa),
+      q(2679) => q(gwb),
+      q(2680) => q(gwc),
+      q(2681) => q(gwd),
+      q(2682) => q(gwe),
+      q(2683) => q(gwf),
+      q(2684) => q(gwg),
+      q(2685) => q(gwj),
+      q(2686) => q(gwm),
+      q(2687) => q(gwn),
+      q(2688) => q(gwr),
+      q(2689) => q(gwt),
+      q(2690) => q(gwu),
+      q(2691) => q(gww),
+      q(2692) => q(gwx),
+      q(2693) => q(gxx),
+      q(2694) => q(gya),
+      q(2695) => q(gyb),
+      q(2696) => q(gyd),
+      q(2697) => q(gye),
+      q(2698) => q(gyf),
+      q(2699) => q(gyg),
+      q(2700) => q(gyi),
+      q(2701) => q(gyl),
+      q(2702) => q(gym),
+      q(2703) => q(gyn),
+      q(2704) => q(gyr),
+      q(2705) => q(gyy),
+      q(2706) => q(gza),
+      q(2707) => q(gzi),
+      q(2708) => q(gzn),
+      q(2709) => q(haa),
+      q(2710) => q(hab),
+      q(2711) => q(hac),
+      q(2712) => q(had),
+      q(2713) => q(hae),
+      q(2714) => q(haf),
+      q(2715) => q(hag),
+      q(2716) => q(hah),
+      q(2717) => q(haj),
+      q(2718) => q(hak),
+      q(2719) => q(hal),
+      q(2720) => q(ham),
+      q(2721) => q(han),
+      q(2722) => q(hao),
+      q(2723) => q(hap),
+      q(2724) => q(haq),
+      q(2725) => q(har),
+      q(2726) => q(has),
+      q(2727) => q(hav),
+      q(2728) => q(hax),
+      q(2729) => q(hay),
+      q(2730) => q(haz),
+      q(2731) => q(hba),
+      q(2732) => q(hbb),
+      q(2733) => q(hbn),
+      q(2734) => q(hbo),
+      q(2735) => q(hbu),
+      q(2736) => q(hca),
+      q(2737) => q(hch),
+      q(2738) => q(hdn),
+      q(2739) => q(hds),
+      q(2740) => q(hdy),
+      q(2741) => q(hea),
+      q(2742) => q(hed),
+      q(2743) => q(heg),
+      q(2744) => q(heh),
+      q(2745) => q(hei),
+      q(2746) => q(hem),
+      q(2747) => q(hgm),
+      q(2748) => q(hgw),
+      q(2749) => q(hhi),
+      q(2750) => q(hhr),
+      q(2751) => q(hhy),
+      q(2752) => q(hia),
+      q(2753) => q(hib),
+      q(2754) => q(hid),
+      q(2755) => q(hif),
+      q(2756) => q(hig),
+      q(2757) => q(hih),
+      q(2758) => q(hii),
+      q(2759) => q(hij),
+      q(2760) => q(hik),
+      q(2761) => q(hio),
+      q(2762) => q(hir),
+      q(2763) => q(hiw),
+      q(2764) => q(hix),
+      q(2765) => q(hji),
+      q(2766) => q(hka),
+      q(2767) => q(hke),
+      q(2768) => q(hkk),
+      q(2769) => q(hks),
+      q(2770) => q(hla),
+      q(2771) => q(hlb),
+      q(2772) => q(hld),
+      q(2773) => q(hle),
+      q(2774) => q(hlt),
+      q(2775) => q(hlu),
+      q(2776) => q(hma),
+      q(2777) => q(hmb),
+      q(2778) => q(hmc),
+      q(2779) => q(hmd),
+      q(2780) => q(hme),
+      q(2781) => q(hmf),
+      q(2782) => q(hmg),
+      q(2783) => q(hmh),
+      q(2784) => q(hmi),
+      q(2785) => q(hmj),
+      q(2786) => q(hmk),
+      q(2787) => q(hml),
+      q(2788) => q(hmm),
+      q(2789) => q(hmp),
+      q(2790) => q(hmq),
+      q(2791) => q(hmr),
+      q(2792) => q(hms),
+      q(2793) => q(hmt),
+      q(2794) => q(hmu),
+      q(2795) => q(hmv),
+      q(2796) => q(hmw),
+      q(2797) => q(hmy),
+      q(2798) => q(hmz),
+      q(2799) => q(hna),
+      q(2800) => q(hnd),
+      q(2801) => q(hne),
+      q(2802) => q(hnh),
+      q(2803) => q(hni),
+      q(2804) => q(hnj),
+      q(2805) => q(hnn),
+      q(2806) => q(hno),
+      q(2807) => q(hns),
+      q(2808) => q(hnu),
+      q(2809) => q(hoa),
+      q(2810) => q(hob),
+      q(2811) => q(hoc),
+      q(2812) => q(hod),
+      q(2813) => q(hoe),
+      q(2814) => q(hoh),
+      q(2815) => q(hoi),
+      q(2816) => q(hoj),
+      q(2817) => q(hol),
+      q(2818) => q(hom),
+      q(2819) => q(hoo),
+      q(2820) => q(hop),
+      q(2821) => q(hor),
+      q(2822) => q(hos),
+      q(2823) => q(hot),
+      q(2824) => q(hov),
+      q(2825) => q(how),
+      q(2826) => q(hoy),
+      q(2827) => q(hoz),
+      q(2828) => q(hpo),
+      q(2829) => q(hps),
+      q(2830) => q(hra),
+      q(2831) => q(hrc),
+      q(2832) => q(hre),
+      q(2833) => q(hrk),
+      q(2834) => q(hrm),
+      q(2835) => q(hro),
+      q(2836) => q(hrp),
+      q(2837) => q(hrt),
+      q(2838) => q(hru),
+      q(2839) => q(hrw),
+      q(2840) => q(hrx),
+      q(2841) => q(hrz),
+      q(2842) => q(hsh),
+      q(2843) => q(hsl),
+      q(2844) => q(hsn),
+      q(2845) => q(hss),
+      q(2846) => q(hti),
+      q(2847) => q(hto),
+      q(2848) => q(hts),
+      q(2849) => q(htu),
+      q(2850) => q(htx),
+      q(2851) => q(hub),
+      q(2852) => q(huc),
+      q(2853) => q(hud),
+      q(2854) => q(hue),
+      q(2855) => q(huf),
+      q(2856) => q(hug),
+      q(2857) => q(huh),
+      q(2858) => q(hui),
+      q(2859) => q(huj),
+      q(2860) => q(huk),
+      q(2861) => q(hul),
+      q(2862) => q(hum),
+      q(2863) => q(huo),
+      q(2864) => q(huq),
+      q(2865) => q(hur),
+      q(2866) => q(hus),
+      q(2867) => q(hut),
+      q(2868) => q(huu),
+      q(2869) => q(huv),
+      q(2870) => q(huw),
+      q(2871) => q(hux),
+      q(2872) => q(huy),
+      q(2873) => q(huz),
+      q(2874) => q(hvc),
+      q(2875) => q(hve),
+      q(2876) => q(hvk),
+      q(2877) => q(hvn),
+      q(2878) => q(hvv),
+      q(2879) => q(hwa),
+      q(2880) => q(hwc),
+      q(2881) => q(hwo),
+      q(2882) => q(hya),
+      q(2883) => q(iai),
+      q(2884) => q(ian),
+      q(2885) => q(iap),
+      q(2886) => q(iar),
+      q(2887) => q(ibb),
+      q(2888) => q(ibd),
+      q(2889) => q(ibe),
+      q(2890) => q(ibg),
+      q(2891) => q(ibl),
+      q(2892) => q(ibm),
+      q(2893) => q(ibn),
+      q(2894) => q(ibr),
+      q(2895) => q(ibu),
+      q(2896) => q(iby),
+      q(2897) => q(ica),
+      q(2898) => q(ich),
+      q(2899) => q(icl),
+      q(2900) => q(icr),
+      q(2901) => q(ida),
+      q(2902) => q(idb),
+      q(2903) => q(idc),
+      q(2904) => q(idd),
+      q(2905) => q(ide),
+      q(2906) => q(idi),
+      q(2907) => q(idr),
+      q(2908) => q(ids),
+      q(2909) => q(idt),
+      q(2910) => q(idu),
+      q(2911) => q(ifa),
+      q(2912) => q(ifb),
+      q(2913) => q(ife),
+      q(2914) => q(iff),
+      q(2915) => q(ifk),
+      q(2916) => q(ifm),
+      q(2917) => q(ifu),
+      q(2918) => q(ify),
+      q(2919) => q(igb),
+      q(2920) => q(ige),
+      q(2921) => q(igg),
+      q(2922) => q(igl),
+      q(2923) => q(igm),
+      q(2924) => q(ign),
+      q(2925) => q(igo),
+      q(2926) => q(igs),
+      q(2927) => q(igw),
+      q(2928) => q(ihb),
+      q(2929) => q(ihi),
+      q(2930) => q(ihp),
+      q(2931) => q(ihw),
+      q(2932) => q(iin),
+      q(2933) => q(ijc),
+      q(2934) => q(ije),
+      q(2935) => q(ijj),
+      q(2936) => q(ijn),
+      q(2937) => q(ijs),
+      q(2938) => q(ike),
+      q(2939) => q(iki),
+      q(2940) => q(ikk),
+      q(2941) => q(ikl),
+      q(2942) => q(iko),
+      q(2943) => q(ikp),
+      q(2944) => q(ikr),
+      q(2945) => q(iks),
+      q(2946) => q(ikt),
+      q(2947) => q(ikv),
+      q(2948) => q(ikw),
+      q(2949) => q(ikx),
+      q(2950) => q(ikz),
+      q(2951) => q(ila),
+      q(2952) => q(ilb),
+      q(2953) => q(ilg),
+      q(2954) => q(ili),
+      q(2955) => q(ilk),
+      q(2956) => q(ill),
+      q(2957) => q(ils),
+      q(2958) => q(ilu),
+      q(2959) => q(ilv),
+      q(2960) => q(ima),
+      q(2961) => q(imi),
+      q(2962) => q(iml),
+      q(2963) => q(imn),
+      q(2964) => q(imo),
+      q(2965) => q(imr),
+      q(2966) => q(ims),
+      q(2967) => q(imy),
+      q(2968) => q(inb),
+      q(2969) => q(ing),
+      q(2970) => q(inj),
+      q(2971) => q(inl),
+      q(2972) => q(inm),
+      q(2973) => q(inn),
+      q(2974) => q(ino),
+      q(2975) => q(inp),
+      q(2976) => q(ins),
+      q(2977) => q(int),
+      q(2978) => q(inz),
+      q(2979) => q(ior),
+      q(2980) => q(iou),
+      q(2981) => q(iow),
+      q(2982) => q(ipi),
+      q(2983) => q(ipo),
+      q(2984) => q(iqu),
+      q(2985) => q(iqw),
+      q(2986) => q(ire),
+      q(2987) => q(irh),
+      q(2988) => q(iri),
+      q(2989) => q(irk),
+      q(2990) => q(irn),
+      q(2991) => q(irr),
+      q(2992) => q(iru),
+      q(2993) => q(irx),
+      q(2994) => q(iry),
+      q(2995) => q(isa),
+      q(2996) => q(isc),
+      q(2997) => q(isd),
+      q(2998) => q(ise),
+      q(2999) => q(isg),
+      q(3000) => q(ish),
+      q(3001) => q(isi),
+      q(3002) => q(isk),
+      q(3003) => q(ism),
+      q(3004) => q(isn),
+      q(3005) => q(iso),
+      q(3006) => q(isr),
+      q(3007) => q(ist),
+      q(3008) => q(isu),
+      q(3009) => q(itb),
+      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(jeg),
+      q(3076) => q(jeh),
+      q(3077) => q(jei),
+      q(3078) => q(jek),
+      q(3079) => q(jel),
+      q(3080) => q(jen),
+      q(3081) => q(jer),
+      q(3082) => q(jet),
+      q(3083) => q(jeu),
+      q(3084) => q(jgb),
+      q(3085) => q(jge),
+      q(3086) => q(jgk),
+      q(3087) => q(jgo),
+      q(3088) => q(jhi),
+      q(3089) => q(jhs),
+      q(3090) => q(jia),
+      q(3091) => q(jib),
+      q(3092) => q(jic),
+      q(3093) => q(jid),
+      q(3094) => q(jie),
+      q(3095) => q(jig),
+      q(3096) => q(jih),
+      q(3097) => q(jii),
+      q(3098) => q(jil),
+      q(3099) => q(jim),
+      q(3100) => q(jio),
+      q(3101) => q(jiq),
+      q(3102) => q(jit),
+      q(3103) => q(jiu),
+      q(3104) => q(jiv),
+      q(3105) => q(jiy),
+      q(3106) => q(jje),
+      q(3107) => q(jjr),
+      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(jor),
+      q(3136) => q(jos),
+      q(3137) => q(jow),
+      q(3138) => q(jpa),
+      q(3139) => q(jqr),
+      q(3140) => q(jra),
+      q(3141) => q(jrr),
+      q(3142) => q(jrt),
+      q(3143) => q(jru),
+      q(3144) => q(jsl),
+      q(3145) => q(jua),
+      q(3146) => q(jub),
+      q(3147) => q(juc),
+      q(3148) => q(jud),
+      q(3149) => q(juh),
+      q(3150) => q(jui),
+      q(3151) => q(juk),
+      q(3152) => q(jul),
+      q(3153) => q(jum),
+      q(3154) => q(jun),
+      q(3155) => q(juo),
+      q(3156) => q(jup),
+      q(3157) => q(jur),
+      q(3158) => q(jus),
+      q(3159) => q(jut),
+      q(3160) => q(juu),
+      q(3161) => q(juw),
+      q(3162) => q(juy),
+      q(3163) => q(jvd),
+      q(3164) => q(jvn),
+      q(3165) => q(jwi),
+      q(3166) => q(jya),
+      q(3167) => q(jye),
+      q(3168) => q(jyy),
+      q(3169) => q(kad),
+      q(3170) => q(kae),
+      q(3171) => q(kaf),
+      q(3172) => q(kag),
+      q(3173) => q(kah),
+      q(3174) => q(kai),
+      q(3175) => q(kaj),
+      q(3176) => q(kak),
+      q(3177) => q(kao),
+      q(3178) => q(kap),
+      q(3179) => q(kaq),
+      q(3180) => q(kav),
+      q(3181) => q(kax),
+      q(3182) => q(kay),
+      q(3183) => q(kba),
+      q(3184) => q(kbb),
+      q(3185) => q(kbc),
+      q(3186) => q(kbe),
+      q(3187) => q(kbg),
+      q(3188) => q(kbh),
+      q(3189) => q(kbi),
+      q(3190) => q(kbj),
+      q(3191) => q(kbk),
+      q(3192) => q(kbl),
+      q(3193) => q(kbm),
+      q(3194) => q(kbn),
+      q(3195) => q(kbo),
+      q(3196) => q(kbp),
+      q(3197) => q(kbq),
+      q(3198) => q(kbr),
+      q(3199) => q(kbs),
+      q(3200) => q(kbt),
+      q(3201) => q(kbu),
+      q(3202) => q(kbv),
+      q(3203) => q(kbw),
+      q(3204) => q(kbx),
+      q(3205) => q(kby),
+      q(3206) => q(kbz),
+      q(3207) => q(kca),
+      q(3208) => q(kcb),
+      q(3209) => q(kcc),
+      q(3210) => q(kcd),
+      q(3211) => q(kce),
+      q(3212) => q(kcf),
+      q(3213) => q(kcg),
+      q(3214) => q(kch),
+      q(3215) => q(kci),
+      q(3216) => q(kcj),
+      q(3217) => q(kck),
+      q(3218) => q(kcl),
+      q(3219) => q(kcm),
+      q(3220) => q(kcn),
+      q(3221) => q(kco),
+      q(3222) => q(kcp),
+      q(3223) => q(kcq),
+      q(3224) => q(kcr),
+      q(3225) => q(kcs),
+      q(3226) => q(kct),
+      q(3227) => q(kcu),
+      q(3228) => q(kcv),
+      q(3229) => q(kcw),
+      q(3230) => q(kcx),
+      q(3231) => q(kcy),
+      q(3232) => q(kcz),
+      q(3233) => q(kda),
+      q(3234) => q(kdc),
+      q(3235) => q(kdd),
+      q(3236) => q(kde),
+      q(3237) => q(kdf),
+      q(3238) => q(kdg),
+      q(3239) => q(kdh),
+      q(3240) => q(kdi),
+      q(3241) => q(kdj),
+      q(3242) => q(kdk),
+      q(3243) => q(kdl),
+      q(3244) => q(kdm),
+      q(3245) => q(kdn),
+      q(3246) => q(kdp),
+      q(3247) => q(kdq),
+      q(3248) => q(kdr),
+      q(3249) => q(kdt),
+      q(3250) => q(kdu),
+      q(3251) => q(kdw),
+      q(3252) => q(kdx),
+      q(3253) => q(kdy),
+      q(3254) => q(kdz),
+      q(3255) => q(kea),
+      q(3256) => q(keb),
+      q(3257) => q(kec),
+      q(3258) => q(ked),
+      q(3259) => q(kee),
+      q(3260) => q(kef),
+      q(3261) => q(keg),
+      q(3262) => q(keh),
+      q(3263) => q(kei),
+      q(3264) => q(kej),
+      q(3265) => q(kek),
+      q(3266) => q(kel),
+      q(3267) => q(kem),
+      q(3268) => q(ken),
+      q(3269) => q(keo),
+      q(3270) => q(kep),
+      q(3271) => q(keq),
+      q(3272) => q(ker),
+      q(3273) => q(kes),
+      q(3274) => q(ket),
+      q(3275) => q(keu),
+      q(3276) => q(kev),
+      q(3277) => q(kew),
+      q(3278) => q(kex),
+      q(3279) => q(key),
+      q(3280) => q(kez),
+      q(3281) => q(kfa),
+      q(3282) => q(kfb),
+      q(3283) => q(kfc),
+      q(3284) => q(kfd),
+      q(3285) => q(kfe),
+      q(3286) => q(kff),
+      q(3287) => q(kfg),
+      q(3288) => q(kfh),
+      q(3289) => q(kfi),
+      q(3290) => q(kfj),
+      q(3291) => q(kfk),
+      q(3292) => q(kfl),
+      q(3293) => q(kfm),
+      q(3294) => q(kfn),
+      q(3295) => q(kfo),
+      q(3296) => q(kfp),
+      q(3297) => q(kfq),
+      q(3298) => q(kfr),
+      q(3299) => q(kfs),
+      q(3300) => q(kft),
+      q(3301) => q(kfu),
+      q(3302) => q(kfv),
+      q(3303) => q(kfw),
+      q(3304) => q(kfx),
+      q(3305) => q(kfy),
+      q(3306) => q(kfz),
+      q(3307) => q(kga),
+      q(3308) => q(kgb),
+      q(3309) => q(kgc),
+      q(3310) => q(kgd),
+      q(3311) => q(kge),
+      q(3312) => q(kgf),
+      q(3313) => q(kgg),
+      q(3314) => q(kgi),
+      q(3315) => q(kgj),
+      q(3316) => q(kgk),
+      q(3317) => q(kgl),
+      q(3318) => q(kuq),
+      q(3319) => q(kgn),
+      q(3320) => q(kgo),
+      q(3321) => q(kgp),
+      q(3322) => q(kgq),
+      q(3323) => q(kgr),
+      q(3324) => q(kgs),
+      q(3325) => q(kgt),
+      q(3326) => q(kgu),
+      q(3327) => q(kgv),
+      q(3328) => q(kgw),
+      q(3329) => q(kgx),
+      q(3330) => q(kgy),
+      q(3331) => q(khb),
+      q(3332) => q(khc),
+      q(3333) => q(khd),
+      q(3334) => q(khe),
+      q(3335) => q(khf),
+      q(3336) => q(khg),
+      q(3337) => q(khh),
+      q(3338) => q(khj),
+      q(3339) => q(khk),
+      q(3340) => q(khl),
+      q(3341) => q(khn),
+      q(3342) => q(khp),
+      q(3343) => q(khq),
+      q(3344) => q(khr),
+      q(3345) => q(khs),
+      q(3346) => q(kht),
+      q(3347) => q(khu),
+      q(3348) => q(khv),
+      q(3349) => q(khw),
+      q(3350) => q(khx),
+      q(3351) => q(khy),
+      q(3352) => q(khz),
+      q(3353) => q(kia),
+      q(3354) => q(kib),
+      q(3355) => q(kic),
+      q(3356) => q(kid),
+      q(3357) => q(kie),
+      q(3358) => q(kif),
+      q(3359) => q(kig),
+      q(3360) => q(kih),
+      q(3361) => q(kii),
+      q(3362) => q(kij),
+      q(3363) => q(kil),
+      q(3364) => q(kim),
+      q(3365) => q(kio),
+      q(3366) => q(kip),
+      q(3367) => q(kiq),
+      q(3368) => q(kis),
+      q(3369) => q(kit),
+      q(3370) => q(kiu),
+      q(3371) => q(kiv),
+      q(3372) => q(kiw),
+      q(3373) => q(kix),
+      q(3374) => q(kiy),
+      q(3375) => q(kiz),
+      q(3376) => q(kja),
+      q(3377) => q(kjb),
+      q(3378) => q(kjc),
+      q(3379) => q(kjd),
+      q(3380) => q(kje),
+      q(3381) => q(kjf),
+      q(3382) => q(kjg),
+      q(3383) => q(kjh),
+      q(3384) => q(kji),
+      q(3385) => q(kjj),
+      q(3386) => q(kjk),
+      q(3387) => q(kjl),
+      q(3388) => q(kjm),
+      q(3389) => q(kjn),
+      q(3390) => q(kjo),
+      q(3391) => q(kjp),
+      q(3392) => q(kjq),
+      q(3393) => q(kjr),
+      q(3394) => q(kjs),
+      q(3395) => q(kjt),
+      q(3396) => q(kju),
+      q(3397) => q(kjv),
+      q(3398) => q(kjx),
+      q(3399) => q(kjy),
+      q(3400) => q(kjz),
+      q(3401) => q(kka),
+      q(3402) => q(kkb),
+      q(3403) => q(kkc),
+      q(3404) => q(kkd),
+      q(3405) => q(kke),
+      q(3406) => q(kkf),
+      q(3407) => q(kkg),
+      q(3408) => q(kkh),
+      q(3409) => q(kki),
+      q(3410) => q(kkj),
+      q(3411) => q(kkk),
+      q(3412) => q(kkl),
+      q(3413) => q(kkm),
+      q(3414) => q(kkn),
+      q(3415) => q(kko),
+      q(3416) => q(kkp),
+      q(3417) => q(kkq),
+      q(3418) => q(kkr),
+      q(3419) => q(kks),
+      q(3420) => q(kkt),
+      q(3421) => q(kku),
+      q(3422) => q(kkv),
+      q(3423) => q(kkw),
+      q(3424) => q(kkx),
+      q(3425) => q(kky),
+      q(3426) => q(kkz),
+      q(3427) => q(kla),
+      q(3428) => q(klb),
+      q(3429) => q(klc),
+      q(3430) => q(kld),
+      q(3431) => q(kle),
+      q(3432) => q(klf),
+      q(3433) => q(klg),
+      q(3434) => q(klh),
+      q(3435) => q(kli),
+      q(3436) => q(klj),
+      q(3437) => q(klk),
+      q(3438) => q(kll),
+      q(3439) => q(klm),
+      q(3440) => q(kln),
+      q(3441) => q(klo),
+      q(3442) => q(klp),
+      q(3443) => q(klq),
+      q(3444) => q(klr),
+      q(3445) => q(kls),
+      q(3446) => q(klt),
+      q(3447) => q(klu),
+      q(3448) => q(klv),
+      q(3449) => q(klw),
+      q(3450) => q(klx),
+      q(3451) => q(kly),
+      q(3452) => q(klz),
+      q(3453) => q(kma),
+      q(3454) => q(kmc),
+      q(3455) => q(kmd),
+      q(3456) => q(kme),
+      q(3457) => q(kmf),
+      q(3458) => q(kmg),
+      q(3459) => q(kmh),
+      q(3460) => q(kmi),
+      q(3461) => q(kmj),
+      q(3462) => q(kmk),
+      q(3463) => q(kml),
+      q(3464) => q(kmm),
+      q(3465) => q(kmn),
+      q(3466) => q(kmo),
+      q(3467) => q(kmp),
+      q(3468) => q(kmq),
+      q(3469) => q(kmr),
+      q(3470) => q(kms),
+      q(3471) => q(kmt),
+      q(3472) => q(kmu),
+      q(3473) => q(kmv),
+      q(3474) => q(kmw),
+      q(3475) => q(kmx),
+      q(3476) => q(kmy),
+      q(3477) => q(kmz),
+      q(3478) => q(kna),
+      q(3479) => q(knb),
+      q(3480) => q(knc),
+      q(3481) => q(knd),
+      q(3482) => q(kne),
+      q(3483) => q(knf),
+      q(3484) => q(kng),
+      q(3485) => q(kni),
+      q(3486) => q(knj),
+      q(3487) => q(knk),
+      q(3488) => q(knl),
+      q(3489) => q(knm),
+      q(3490) => q(knn),
+      q(3491) => q(kno),
+      q(3492) => q(knp),
+      q(3493) => q(knq),
+      q(3494) => q(knr),
+      q(3495) => q(kns),
+      q(3496) => q(knt),
+      q(3497) => q(knu),
+      q(3498) => q(knv),
+      q(3499) => q(knw),
+      q(3500) => q(knx),
+      q(3501) => q(kny),
+      q(3502) => q(knz),
+      q(3503) => q(koa),
+      q(3504) => q(koc),
+      q(3505) => q(kod),
+      q(3506) => q(koe),
+      q(3507) => q(kof),
+      q(3508) => q(kog),
+      q(3509) => q(koh),
+      q(3510) => q(koi),
+      q(3511) => q(kol),
+      q(3512) => q(koo),
+      q(3513) => q(kop),
+      q(3514) => q(koq),
+      q(3515) => q(kot),
+      q(3516) => q(kou),
+      q(3517) => q(kov),
+      q(3518) => q(kow),
+      q(3519) => q(kox),
+      q(3520) => q(koy),
+      q(3521) => q(koz),
+      q(3522) => q(kpa),
+      q(3523) => q(kpb),
+      q(3524) => q(kpc),
+      q(3525) => q(kpd),
+      q(3526) => q(kpf),
+      q(3527) => q(kpg),
+      q(3528) => q(kph),
+      q(3529) => q(kpi),
+      q(3530) => q(kpj),
+      q(3531) => q(kpk),
+      q(3532) => q(kpl),
+      q(3533) => q(kpm),
+      q(3534) => q(kpn),
+      q(3535) => q(kpo),
+      q(3536) => q(kpq),
+      q(3537) => q(kpr),
+      q(3538) => q(kps),
+      q(3539) => q(kpt),
+      q(3540) => q(kpu),
+      q(3541) => q(kpv),
+      q(3542) => q(kpw),
+      q(3543) => q(kpx),
+      q(3544) => q(kpy),
+      q(3545) => q(kpz),
+      q(3546) => q(kqa),
+      q(3547) => q(kqb),
+      q(3548) => q(kqc),
+      q(3549) => q(kqd),
+      q(3550) => q(kqe),
+      q(3551) => q(kqf),
+      q(3552) => q(kqg),
+      q(3553) => q(kqh),
+      q(3554) => q(kqi),
+      q(3555) => q(kqj),
+      q(3556) => q(kqk),
+      q(3557) => q(kql),
+      q(3558) => q(kqm),
+      q(3559) => q(kqn),
+      q(3560) => q(kqo),
+      q(3561) => q(kqp),
+      q(3562) => q(kqq),
+      q(3563) => q(kqr),
+      q(3564) => q(kqs),
+      q(3565) => q(kqt),
+      q(3566) => q(kqu),
+      q(3567) => q(kqv),
+      q(3568) => q(kqw),
+      q(3569) => q(kqx),
+      q(3570) => q(kqy),
+      q(3571) => q(kqz),
+      q(3572) => q(kra),
+      q(3573) => q(krb),
+      q(3574) => q(krd),
+      q(3575) => q(kre),
+      q(3576) => q(krf),
+      q(3577) => q(krh),
+      q(3578) => q(kri),
+      q(3579) => q(krj),
+      q(3580) => q(krk),
+      q(3581) => q(krm),
+      q(3582) => q(krn),
+      q(3583) => q(krp),
+      q(3584) => q(krr),
+      q(3585) => q(krs),
+      q(3586) => q(krt),
+      q(3587) => q(krv),
+      q(3588) => q(krw),
+      q(3589) => q(krx),
+      q(3590) => q(kry),
+      q(3591) => q(krz),
+      q(3592) => q(ksa),
+      q(3593) => q(ksb),
+      q(3594) => q(ksc),
+      q(3595) => q(ksd),
+      q(3596) => q(kse),
+      q(3597) => q(ksf),
+      q(3598) => q(ksg),
+      q(3599) => q(ksh),
+      q(3600) => q(ksi),
+      q(3601) => q(ksj),
+      q(3602) => q(ksk),
+      q(3603) => q(ksl),
+      q(3604) => q(ksm),
+      q(3605) => q(ksn),
+      q(3606) => q(kso),
+      q(3607) => q(ksp),
+      q(3608) => q(ksq),
+      q(3609) => q(ksr),
+      q(3610) => q(kss),
+      q(3611) => q(kst),
+      q(3612) => q(ksu),
+      q(3613) => q(ksv),
+      q(3614) => q(ksw),
+      q(3615) => q(ksx),
+      q(3616) => q(ksy),
+      q(3617) => q(ksz),
+      q(3618) => q(kta),
+      q(3619) => q(ktb),
+      q(3620) => q(ktc),
+      q(3621) => q(ktd),
+      q(3622) => q(kte),
+      q(3623) => q(ktf),
+      q(3624) => q(ktg),
+      q(3625) => q(kth),
+      q(3626) => q(kti),
+      q(3627) => q(ktj),
+      q(3628) => q(ktk),
+      q(3629) => q(ktl),
+      q(3630) => q(ktm),
+      q(3631) => q(ktn),
+      q(3632) => q(kto),
+      q(3633) => q(ktp),
+      q(3634) => q(ktq),
+      q(3635) => q(ktr),
+      q(3636) => q(kts),
+      q(3637) => q(ktt),
+      q(3638) => q(ktu),
+      q(3639) => q(ktv),
+      q(3640) => q(ktw),
+      q(3641) => q(ktx),
+      q(3642) => q(kty),
+      q(3643) => q(ktz),
+      q(3644) => q(kub),
+      q(3645) => q(kuc),
+      q(3646) => q(kud),
+      q(3647) => q(kue),
+      q(3648) => q(kuf),
+      q(3649) => q(kug),
+      q(3650) => q(kuh),
+      q(3651) => q(kui),
+      q(3652) => q(kuj),
+      q(3653) => q(kuk),
+      q(3654) => q(kul),
+      q(3655) => q(kun),
+      q(3656) => q(kuo),
+      q(3657) => q(kup),
+      q(3658) => q(kus),
+      q(3659) => q(kuu),
+      q(3660) => q(kuv),
+      q(3661) => q(kuw),
+      q(3662) => q(kux),
+      q(3663) => q(kuy),
+      q(3664) => q(kuz),
+      q(3665) => q(kva),
+      q(3666) => q(kvb),
+      q(3667) => q(kvc),
+      q(3668) => q(kvd),
+      q(3669) => q(kve),
+      q(3670) => q(kvf),
+      q(3671) => q(kvg),
+      q(3672) => q(kvh),
+      q(3673) => q(kvi),
+      q(3674) => q(kvj),
+      q(3675) => q(kvk),
+      q(3676) => q(kvl),
+      q(3677) => q(kvm),
+      q(3678) => q(kvn),
+      q(3679) => q(kvo),
+      q(3680) => q(kvp),
+      q(3681) => q(kvq),
+      q(3682) => q(kvr),
+      q(3683) => q(kvs),
+      q(3684) => q(kvt),
+      q(3685) => q(kvu),
+      q(3686) => q(kvv),
+      q(3687) => q(kvw),
+      q(3688) => q(kvx),
+      q(3689) => q(kvy),
+      q(3690) => q(kvz),
+      q(3691) => q(kwa),
+      q(3692) => q(kwb),
+      q(3693) => q(kwc),
+      q(3694) => q(kwd),
+      q(3695) => q(kwe),
+      q(3696) => q(kwf),
+      q(3697) => q(kwg),
+      q(3698) => q(kwh),
+      q(3699) => q(kwi),
+      q(3700) => q(kwj),
+      q(3701) => q(kwk),
+      q(3702) => q(kwl),
+      q(3703) => q(kwm),
+      q(3704) => q(kwn),
+      q(3705) => q(kwo),
+      q(3706) => q(kwp),
+      q(3707) => q(kwr),
+      q(3708) => q(kws),
+      q(3709) => q(kwt),
+      q(3710) => q(kwu),
+      q(3711) => q(kwv),
+      q(3712) => q(kww),
+      q(3713) => q(kwx),
+      q(3714) => q(kwy),
+      q(3715) => q(kwz),
+      q(3716) => q(kxa),
+      q(3717) => q(kxb),
+      q(3718) => q(kxc),
+      q(3719) => q(kxd),
+      q(3720) => q(kxf),
+      q(3721) => q(kxh),
+      q(3722) => q(kxi),
+      q(3723) => q(kxj),
+      q(3724) => q(kxk),
+      q(3725) => q(kxl),
+      q(3726) => q(kxm),
+      q(3727) => q(kxn),
+      q(3728) => q(kxo),
+      q(3729) => q(kxp),
+      q(3730) => q(kxq),
+      q(3731) => q(kxr),
+      q(3732) => q(kxs),
+      q(3733) => q(kxt),
+      q(3734) => q(kxu),
+      q(3735) => q(kxv),
+      q(3736) => q(kxw),
+      q(3737) => q(kxx),
+      q(3738) => q(kxy),
+      q(3739) => q(kxz),
+      q(3740) => q(kya),
+      q(3741) => q(kyb),
+      q(3742) => q(kyc),
+      q(3743) => q(kyd),
+      q(3744) => q(kye),
+      q(3745) => q(kyf),
+      q(3746) => q(kyg),
+      q(3747) => q(kyh),
+      q(3748) => q(kyi),
+      q(3749) => q(kyj),
+      q(3750) => q(kyk),
+      q(3751) => q(kyl),
+      q(3752) => q(kym),
+      q(3753) => q(kyn),
+      q(3754) => q(kyo),
+      q(3755) => q(kyp),
+      q(3756) => q(kyq),
+      q(3757) => q(kyr),
+      q(3758) => q(kys),
+      q(3759) => q(kyt),
+      q(3760) => q(kyu),
+      q(3761) => q(kyv),
+      q(3762) => q(kyw),
+      q(3763) => q(kyx),
+      q(3764) => q(kyy),
+      q(3765) => q(kyz),
+      q(3766) => q(kza),
+      q(3767) => q(kzb),
+      q(3768) => q(kzc),
+      q(3769) => q(kzd),
+      q(3770) => q(kze),
+      q(3771) => q(kzf),
+      q(3772) => q(kzg),
+      q(3773) => q(kzi),
+      q(3774) => q(kzj),
+      q(3775) => q(kzk),
+      q(3776) => q(kzl),
+      q(3777) => q(kzm),
+      q(3778) => q(kzn),
+      q(3779) => q(kzo),
+      q(3780) => q(kzp),
+      q(3781) => q(kzq),
+      q(3782) => q(kzr),
+      q(3783) => q(kzs),
+      q(3784) => q(kzt),
+      q(3785) => q(kzu),
+      q(3786) => q(kzv),
+      q(3787) => q(kzw),
+      q(3788) => q(kzx),
+      q(3789) => q(kzy),
+      q(3790) => q(kzz),
+      q(3791) => q(laa),
+      q(3792) => q(lab),
+      q(3793) => q(lac),
+      q(3794) => q(lae),
+      q(3795) => q(laf),
+      q(3796) => q(lag),
+      q(3797) => q(lai),
+      q(3798) => q(laj),
+      q(3799) => q(lak),
+      q(3800) => q(lal),
+      q(3801) => q(lan),
+      q(3802) => q(lap),
+      q(3803) => q(laq),
+      q(3804) => q(lar),
+      q(3805) => q(las),
+      q(3806) => q(lau),
+      q(3807) => q(law),
+      q(3808) => q(lax),
+      q(3809) => q(lay),
+      q(3810) => q(laz),
+      q(3811) => q(lba),
+      q(3812) => q(lbb),
+      q(3813) => q(lbc),
+      q(3814) => q(lbe),
+      q(3815) => q(lbf),
+      q(3816) => q(lbg),
+      q(3817) => q(lbi),
+      q(3818) => q(lbj),
+      q(3819) => q(lbk),
+      q(3820) => q(lbl),
+      q(3821) => q(lbm),
+      q(3822) => q(lbn),
+      q(3823) => q(lbo),
+      q(3824) => q(lbq),
+      q(3825) => q(lbr),
+      q(3826) => q(lbs),
+      q(3827) => q(lbt),
+      q(3828) => q(lbu),
+      q(3829) => q(lbv),
+      q(3830) => q(lbw),
+      q(3831) => q(lbx),
+      q(3832) => q(lby),
+      q(3833) => q(lbz),
+      q(3834) => q(lcc),
+      q(3835) => q(lcd),
+      q(3836) => q(lce),
+      q(3837) => q(lcf),
+      q(3838) => q(lch),
+      q(3839) => q(lcl),
+      q(3840) => q(lcm),
+      q(3841) => q(lcp),
+      q(3842) => q(lcq),
+      q(3843) => q(lcs),
+      q(3844) => q(lda),
+      q(3845) => q(ldb),
+      q(3846) => q(ldd),
+      q(3847) => q(ldg),
+      q(3848) => q(ldh),
+      q(3849) => q(ldi),
+      q(3850) => q(ldj),
+      q(3851) => q(ldk),
+      q(3852) => q(ldl),
+      q(3853) => q(ldm),
+      q(3854) => q(ldn),
+      q(3855) => q(ldo),
+      q(3856) => q(ldp),
+      q(3857) => q(ldq),
+      q(3858) => q(lea),
+      q(3859) => q(leb),
+      q(3860) => q(lec),
+      q(3861) => q(led),
+      q(3862) => q(lee),
+      q(3863) => q(lef),
+      q(3864) => q(leh),
+      q(3865) => q(lei),
+      q(3866) => q(lej),
+      q(3867) => q(lek),
+      q(3868) => q(lel),
+      q(3869) => q(lem),
+      q(3870) => q(len),
+      q(3871) => q(leo),
+      q(3872) => q(lep),
+      q(3873) => q(leq),
+      q(3874) => q(ler),
+      q(3875) => q(les),
+      q(3876) => q(let),
+      q(3877) => q(leu),
+      q(3878) => q(lev),
+      q(3879) => q(lew),
+      q(3880) => q(lex),
+      q(3881) => q(ley),
+      q(3882) => q(lfa),
+      q(3883) => q(lfn),
+      q(3884) => q(lga),
+      q(3885) => q(lgb),
+      q(3886) => q(lgg),
+      q(3887) => q(lgh),
+      q(3888) => q(lgi),
+      q(3889) => q(lgk),
+      q(3890) => q(lgl),
+      q(3891) => q(lgm),
+      q(3892) => q(lgn),
+      q(3893) => q(lgq),
+      q(3894) => q(lgr),
+      q(3895) => q(lgt),
+      q(3896) => q(lgu),
+      q(3897) => q(lgz),
+      q(3898) => q(lha),
+      q(3899) => q(lhh),
+      q(3900) => q(lhi),
+      q(3901) => q(lhl),
+      q(3902) => q(lhm),
+      q(3903) => q(lhn),
+      q(3904) => q(lhp),
+      q(3905) => q(lhs),
+      q(3906) => q(lht),
+      q(3907) => q(lhu),
+      q(3908) => q(lia),
+      q(3909) => q(lib),
+      q(3910) => q(lic),
+      q(3911) => q(lid),
+      q(3912) => q(lie),
+      q(3913) => q(lif),
+      q(3914) => q(lig),
+      q(3915) => q(lih),
+      q(3916) => q(lij),
+      q(3917) => q(lik),
+      q(3918) => q(lil),
+      q(3919) => q(lio),
+      q(3920) => q(lip),
+      q(3921) => q(liq),
+      q(3922) => q(lir),
+      q(3923) => q(lis),
+      q(3924) => q(liu),
+      q(3925) => q(liv),
+      q(3926) => q(liw),
+      q(3927) => q(lix),
+      q(3928) => q(liy),
+      q(3929) => q(liz),
+      q(3930) => q(lja),
+      q(3931) => q(lje),
+      q(3932) => q(lji),
+      q(3933) => q(ljl),
+      q(3934) => q(ljp),
+      q(3935) => q(ljw),
+      q(3936) => q(ljx),
+      q(3937) => q(lka),
+      q(3938) => q(lkb),
+      q(3939) => q(lkc),
+      q(3940) => q(lkd),
+      q(3941) => q(lke),
+      q(3942) => q(lkh),
+      q(3943) => q(lki),
+      q(3944) => q(lkj),
+      q(3945) => q(lkl),
+      q(3946) => q(lkm),
+      q(3947) => q(lkn),
+      q(3948) => q(lko),
+      q(3949) => q(lkr),
+      q(3950) => q(lks),
+      q(3951) => q(lkt),
+      q(3952) => q(lku),
+      q(3953) => q(lky),
+      q(3954) => q(lla),
+      q(3955) => q(llb),
+      q(3956) => q(llc),
+      q(3957) => q(lld),
+      q(3958) => q(lle),
+      q(3959) => q(llf),
+      q(3960) => q(llg),
+      q(3961) => q(llh),
+      q(3962) => q(lli),
+      q(3963) => q(llj),
+      q(3964) => q(llk),
+      q(3965) => q(lll),
+      q(3966) => q(llm),
+      q(3967) => q(lln),
+      q(3968) => q(llo),
+      q(3969) => q(llp),
+      q(3970) => q(llq),
+      q(3971) => q(lls),
+      q(3972) => q(llu),
+      q(3973) => q(llx),
+      q(3974) => q(lma),
+      q(3975) => q(lmb),
+      q(3976) => q(lmc),
+      q(3977) => q(lmd),
+      q(3978) => q(lme),
+      q(3979) => q(lmf),
+      q(3980) => q(lmg),
+      q(3981) => q(lmh),
+      q(3982) => q(lmi),
+      q(3983) => q(lmj),
+      q(3984) => q(lmk),
+      q(3985) => q(lml),
+      q(3986) => q(lmn),
+      q(3987) => q(lmo),
+      q(3988) => q(lmp),
+      q(3989) => q(lmq),
+      q(3990) => q(lmr),
+      q(3991) => q(lmu),
+      q(3992) => q(lmv),
+      q(3993) => q(lmw),
+      q(3994) => q(lmx),
+      q(3995) => q(lmy),
+      q(3996) => q(lmz),
+      q(3997) => q(lna),
+      q(3998) => q(lnb),
+      q(3999) => q(lnd),
+      q(4000) => q(lng),
+      q(4001) => q(lnh),
+      q(4002) => q(lni),
+      q(4003) => q(lnj),
+      q(4004) => q(lnl),
+      q(4005) => q(lnm),
+      q(4006) => q(lnn),
+      q(4007) => q(lno),
+      q(4008) => q(lns),
+      q(4009) => q(lnu),
+      q(4010) => q(lnw),
+      q(4011) => q(lnz),
+      q(4012) => q(loa),
+      q(4013) => q(lob),
+      q(4014) => q(loc),
+      q(4015) => q(loe),
+      q(4016) => q(lof),
+      q(4017) => q(log),
+      q(4018) => q(loh),
+      q(4019) => q(loi),
+      q(4020) => q(loj),
+      q(4021) => q(lok),
+      q(4022) => q(lom),
+      q(4023) => q(lon),
+      q(4024) => q(loo),
+      q(4025) => q(lop),
+      q(4026) => q(loq),
+      q(4027) => q(lor),
+      q(4028) => q(los),
+      q(4029) => q(lot),
+      q(4030) => q(lou),
+      q(4031) => q(lov),
+      q(4032) => q(low),
+      q(4033) => q(lox),
+      q(4034) => q(loy),
+      q(4035) => q(lpa),
+      q(4036) => q(lpe),
+      q(4037) => q(lpn),
+      q(4038) => q(lpo),
+      q(4039) => q(lpx),
+      q(4040) => q(lra),
+      q(4041) => q(lrc),
+      q(4042) => q(lre),
+      q(4043) => q(lrg),
+      q(4044) => q(lri),
+      q(4045) => q(lrk),
+      q(4046) => q(lrl),
+      q(4047) => q(lrm),
+      q(4048) => q(lrn),
+      q(4049) => q(lro),
+      q(4050) => q(lrr),
+      q(4051) => q(lrt),
+      q(4052) => q(lrv),
+      q(4053) => q(lrz),
+      q(4054) => q(lsa),
+      q(4055) => q(lsd),
+      q(4056) => q(lse),
+      q(4057) => q(lsg),
+      q(4058) => q(lsh),
+      q(4059) => q(lsi),
+      q(4060) => q(lsl),
+      q(4061) => q(lsm),
+      q(4062) => q(lso),
+      q(4063) => q(lsp),
+      q(4064) => q(lsr),
+      q(4065) => q(lss),
+      q(4066) => q(lst),
+      q(4067) => q(lsy),
+      q(4068) => q(ltc),
+      q(4069) => q(ltg),
+      q(4070) => q(lti),
+      q(4071) => q(ltn),
+      q(4072) => q(lto),
+      q(4073) => q(lts),
+      q(4074) => q(ltu),
+      q(4075) => q(luc),
+      q(4076) => q(lud),
+      q(4077) => q(lue),
+      q(4078) => q(luf),
+      q(4079) => q(luj),
+      q(4080) => q(luk),
+      q(4081) => q(lul),
+      q(4082) => q(lum),
+      q(4083) => q(lup),
+      q(4084) => q(luq),
+      q(4085) => q(lur),
+      q(4086) => q(lut),
+      q(4087) => q(luu),
+      q(4088) => q(luv),
+      q(4089) => q(luw),
+      q(4090) => q(luy),
+      q(4091) => q(luz),
+      q(4092) => q(lva),
+      q(4093) => q(lvk),
+      q(4094) => q(lvs),
+      q(4095) => q(lvu),
+      q(4096) => q(lwa),
+      q(4097) => q(lwe),
+      q(4098) => q(lwg),
+      q(4099) => q(lwh),
+      q(4100) => q(lwl),
+      q(4101) => q(lwm),
+      q(4102) => q(lwo),
+      q(4103) => q(lwt),
+      q(4104) => q(lwu),
+      q(4105) => q(lww),
+      q(4106) => q(lya),
+      q(4107) => q(lyg),
+      q(4108) => q(lyn),
+      q(4109) => q(lzh),
+      q(4110) => q(lzl),
+      q(4111) => q(lzn),
+      q(4112) => q(lzz),
+      q(4113) => q(maa),
+      q(4114) => q(mab),
+      q(4115) => q(mae),
+      q(4116) => q(maf),
+      q(4117) => q(maj),
+      q(4118) => q(mam),
+      q(4119) => q(maq),
+      q(4120) => q(mat),
+      q(4121) => q(mau),
+      q(4122) => q(mav),
+      q(4123) => q(maw),
+      q(4124) => q(max),
+      q(4125) => q(maz),
+      q(4126) => q(mba),
+      q(4127) => q(mbb),
+      q(4128) => q(mbc),
+      q(4129) => q(mbd),
+      q(4130) => q(mbe),
+      q(4131) => q(mbf),
+      q(4132) => q(mbh),
+      q(4133) => q(mbi),
+      q(4134) => q(mbj),
+      q(4135) => q(mbk),
+      q(4136) => q(mbl),
+      q(4137) => q(mbm),
+      q(4138) => q(mbn),
+      q(4139) => q(mbo),
+      q(4140) => q(mbp),
+      q(4141) => q(mbq),
+      q(4142) => q(mbr),
+      q(4143) => q(mbs),
+      q(4144) => q(mbt),
+      q(4145) => q(mbu),
+      q(4146) => q(mbv),
+      q(4147) => q(mbw),
+      q(4148) => q(mbx),
+      q(4149) => q(mby),
+      q(4150) => q(mbz),
+      q(4151) => q(mca),
+      q(4152) => q(mcb),
+      q(4153) => q(mcc),
+      q(4154) => q(mcd),
+      q(4155) => q(mce),
+      q(4156) => q(mcf),
+      q(4157) => q(mcg),
+      q(4158) => q(mch),
+      q(4159) => q(mci),
+      q(4160) => q(mcj),
+      q(4161) => q(mck),
+      q(4162) => q(mcl),
+      q(4163) => q(mcm),
+      q(4164) => q(mcn),
+      q(4165) => q(mco),
+      q(4166) => q(mcp),
+      q(4167) => q(mcq),
+      q(4168) => q(mcr),
+      q(4169) => q(mcs),
+      q(4170) => q(mct),
+      q(4171) => q(mcu),
+      q(4172) => q(mcv),
+      q(4173) => q(mcw),
+      q(4174) => q(mcx),
+      q(4175) => q(mcy),
+      q(4176) => q(mcz),
+      q(4177) => q(mda),
+      q(4178) => q(mdb),
+      q(4179) => q(mdc),
+      q(4180) => q(mdd),
+      q(4181) => q(mde),
+      q(4182) => q(mdg),
+      q(4183) => q(mdh),
+      q(4184) => q(mdi),
+      q(4185) => q(mdj),
+      q(4186) => q(mdk),
+      q(4187) => q(mdl),
+      q(4188) => q(mdm),
+      q(4189) => q(mdn),
+      q(4190) => q(mdp),
+      q(4191) => q(mdq),
+      q(4192) => q(mds),
+      q(4193) => q(mdt),
+      q(4194) => q(mdu),
+      q(4195) => q(mdv),
+      q(4196) => q(mdw),
+      q(4197) => q(mdx),
+      q(4198) => q(mdy),
+      q(4199) => q(mdz),
+      q(4200) => q(mea),
+      q(4201) => q(meb),
+      q(4202) => q(mec),
+      q(4203) => q(med),
+      q(4204) => q(mee),
+      q(4205) => q(mef),
+      q(4206) => q(meh),
+      q(4207) => q(mei),
+      q(4208) => q(mej),
+      q(4209) => q(mek),
+      q(4210) => q(mel),
+      q(4211) => q(mem),
+      q(4212) => q(meo),
+      q(4213) => q(mep),
+      q(4214) => q(meq),
+      q(4215) => q(mer),
+      q(4216) => q(mes),
+      q(4217) => q(met),
+      q(4218) => q(meu),
+      q(4219) => q(mev),
+      q(4220) => q(mew),
+      q(4221) => q(mey),
+      q(4222) => q(mez),
+      q(4223) => q(mfa),
+      q(4224) => q(mfb),
+      q(4225) => q(mfc),
+      q(4226) => q(mfd),
+      q(4227) => q(mfe),
+      q(4228) => q(mff),
+      q(4229) => q(mfg),
+      q(4230) => q(mfh),
+      q(4231) => q(mfi),
+      q(4232) => q(mfj),
+      q(4233) => q(mfk),
+      q(4234) => q(mfl),
+      q(4235) => q(mfm),
+      q(4236) => q(mfn),
+      q(4237) => q(mfo),
+      q(4238) => q(mfp),
+      q(4239) => q(mfq),
+      q(4240) => q(mfr),
+      q(4241) => q(mfs),
+      q(4242) => q(mft),
+      q(4243) => q(mfu),
+      q(4244) => q(mfv),
+      q(4245) => q(mfw),
+      q(4246) => q(mfx),
+      q(4247) => q(mfy),
+      q(4248) => q(mfz),
+      q(4249) => q(mgb),
+      q(4250) => q(mgc),
+      q(4251) => q(mgd),
+      q(4252) => q(mge),
+      q(4253) => q(mgf),
+      q(4254) => q(mgg),
+      q(4255) => q(mgh),
+      q(4256) => q(mgi),
+      q(4257) => q(mgj),
+      q(4258) => q(mgk),
+      q(4259) => q(mgl),
+      q(4260) => q(mgm),
+      q(4261) => q(mgn),
+      q(4262) => q(mgo),
+      q(4263) => q(mgp),
+      q(4264) => q(mgq),
+      q(4265) => q(mgr),
+      q(4266) => q(mgs),
+      q(4267) => q(mgt),
+      q(4268) => q(mgu),
+      q(4269) => q(mgv),
+      q(4270) => q(mgw),
+      q(4271) => q(mgy),
+      q(4272) => q(mgz),
+      q(4273) => q(mha),
+      q(4274) => q(mhb),
+      q(4275) => q(mhc),
+      q(4276) => q(mhd),
+      q(4277) => q(mhe),
+      q(4278) => q(mhf),
+      q(4279) => q(mhg),
+      q(4280) => q(mhi),
+      q(4281) => q(mhj),
+      q(4282) => q(mhk),
+      q(4283) => q(mhl),
+      q(4284) => q(mhm),
+      q(4285) => q(mhn),
+      q(4286) => q(mho),
+      q(4287) => q(mhp),
+      q(4288) => q(mhq),
+      q(4289) => q(mhr),
+      q(4290) => q(mhs),
+      q(4291) => q(mht),
+      q(4292) => q(mhu),
+      q(4293) => q(mhw),
+      q(4294) => q(mhx),
+      q(4295) => q(mhy),
+      q(4296) => q(mhz),
+      q(4297) => q(mia),
+      q(4298) => q(mib),
+      q(4299) => q(mid),
+      q(4300) => q(mie),
+      q(4301) => q(mif),
+      q(4302) => q(mig),
+      q(4303) => q(mih),
+      q(4304) => q(mii),
+      q(4305) => q(mij),
+      q(4306) => q(mik),
+      q(4307) => q(mil),
+      q(4308) => q(mim),
+      q(4309) => q(mio),
+      q(4310) => q(mip),
+      q(4311) => q(miq),
+      q(4312) => q(mir),
+      q(4313) => q(mit),
+      q(4314) => q(miu),
+      q(4315) => q(miw),
+      q(4316) => q(mix),
+      q(4317) => q(miy),
+      q(4318) => q(miz),
+      q(4319) => q(mjc),
+      q(4320) => q(mjd),
+      q(4321) => q(mje),
+      q(4322) => q(mjg),
+      q(4323) => q(mjh),
+      q(4324) => q(mji),
+      q(4325) => q(mjj),
+      q(4326) => q(mjk),
+      q(4327) => q(mjl),
+      q(4328) => q(mjm),
+      q(4329) => q(mjn),
+      q(4330) => q(mjo),
+      q(4331) => q(mjp),
+      q(4332) => q(mjq),
+      q(4333) => q(mjr),
+      q(4334) => q(mjs),
+      q(4335) => q(mjt),
+      q(4336) => q(mju),
+      q(4337) => q(mjv),
+      q(4338) => q(mjw),
+      q(4339) => q(mjx),
+      q(4340) => q(mjy),
+      q(4341) => q(mjz),
+      q(4342) => q(mka),
+      q(4343) => q(mkb),
+      q(4344) => q(mkc),
+      q(4345) => q(mke),
+      q(4346) => q(mkf),
+      q(4347) => q(mkg),
+      q(4348) => q(mki),
+      q(4349) => q(mkj),
+      q(4350) => q(mkk),
+      q(4351) => q(mkl),
+      q(4352) => q(mkm),
+      q(4353) => q(mkn),
+      q(4354) => q(mko),
+      q(4355) => q(mkp),
+      q(4356) => q(mkq),
+      q(4357) => q(mkr),
+      q(4358) => q(mks),
+      q(4359) => q(mkt),
+      q(4360) => q(mku),
+      q(4361) => q(mkv),
+      q(4362) => q(mkw),
+      q(4363) => q(mkx),
+      q(4364) => q(mky),
+      q(4365) => q(mkz),
+      q(4366) => q(mla),
+      q(4367) => q(mlb),
+      q(4368) => q(mlc),
+      q(4369) => q(mle),
+      q(4370) => q(mlf),
+      q(4371) => q(mlh),
+      q(4372) => q(mli),
+      q(4373) => q(mlj),
+      q(4374) => q(mlk),
+      q(4375) => q(mll),
+      q(4376) => q(mlm),
+      q(4377) => q(mln),
+      q(4378) => q(mlo),
+      q(4379) => q(mlp),
+      q(4380) => q(mlq),
+      q(4381) => q(mlr),
+      q(4382) => q(mls),
+      q(4383) => q(mlu),
+      q(4384) => q(mlv),
+      q(4385) => q(mlw),
+      q(4386) => q(mlx),
+      q(4387) => q(mlz),
+      q(4388) => q(mma),
+      q(4389) => q(mmb),
+      q(4390) => q(mmc),
+      q(4391) => q(mmd),
+      q(4392) => q(mme),
+      q(4393) => q(mmf),
+      q(4394) => q(mmg),
+      q(4395) => q(mmh),
+      q(4396) => q(mmi),
+      q(4397) => q(mmj),
+      q(4398) => q(mmk),
+      q(4399) => q(mml),
+      q(4400) => q(mmm),
+      q(4401) => q(mmn),
+      q(4402) => q(mmo),
+      q(4403) => q(mmp),
+      q(4404) => q(mmq),
+      q(4405) => q(mmr),
+      q(4406) => q(mmt),
+      q(4407) => q(mmu),
+      q(4408) => q(mmv),
+      q(4409) => q(mmw),
+      q(4410) => q(mmx),
+      q(4411) => q(mmy),
+      q(4412) => q(mmz),
+      q(4413) => q(mna),
+      q(4414) => q(mnb),
+      q(4415) => q(mnd),
+      q(4416) => q(mne),
+      q(4417) => q(mnf),
+      q(4418) => q(mng),
+      q(4419) => q(mnh),
+      q(4420) => q(mnj),
+      q(4421) => q(mnk),
+      q(4422) => q(mnl),
+      q(4423) => q(mnm),
+      q(4424) => q(mnn),
+      q(4425) => q(mnp),
+      q(4426) => q(mnq),
+      q(4427) => q(mnr),
+      q(4428) => q(mns),
+      q(4429) => q(mnu),
+      q(4430) => q(mnv),
+      q(4431) => q(mnw),
+      q(4432) => q(mnx),
+      q(4433) => q(mny),
+      q(4434) => q(mnz),
+      q(4435) => q(moa),
+      q(4436) => q(moc),
+      q(4437) => q(mod),
+      q(4438) => q(moe),
+      q(4439) => q(mog),
+      q(4440) => q(moi),
+      q(4441) => q(moj),
+      q(4442) => q(mok),
+      q(4443) => q(mom),
+      q(4444) => q(moo),
+      q(4445) => q(mop),
+      q(4446) => q(moq),
+      q(4447) => q(mor),
+      q(4448) => q(mou),
+      q(4449) => q(mov),
+      q(4450) => q(mow),
+      q(4451) => q(mox),
+      q(4452) => q(moy),
+      q(4453) => q(moz),
+      q(4454) => q(mpa),
+      q(4455) => q(mpb),
+      q(4456) => q(mpc),
+      q(4457) => q(mpd),
+      q(4458) => q(mpe),
+      q(4459) => q(mpg),
+      q(4460) => q(mph),
+      q(4461) => q(mpi),
+      q(4462) => q(mpj),
+      q(4463) => q(mpk),
+      q(4464) => q(mpl),
+      q(4465) => q(mpm),
+      q(4466) => q(mpn),
+      q(4467) => q(mpo),
+      q(4468) => q(mpp),
+      q(4469) => q(mpq),
+      q(4470) => q(mpr),
+      q(4471) => q(mps),
+      q(4472) => q(mpt),
+      q(4473) => q(mpu),
+      q(4474) => q(mpv),
+      q(4475) => q(mpw),
+      q(4476) => q(mpx),
+      q(4477) => q(mpy),
+      q(4478) => q(mpz),
+      q(4479) => q(mqa),
+      q(4480) => q(mqb),
+      q(4481) => q(mqc),
+      q(4482) => q(mqe),
+      q(4483) => q(mqf),
+      q(4484) => q(mqg),
+      q(4485) => q(mqh),
+      q(4486) => q(mqi),
+      q(4487) => q(mqj),
+      q(4488) => q(mqk),
+      q(4489) => q(mql),
+      q(4490) => q(mqm),
+      q(4491) => q(mqn),
+      q(4492) => q(mqo),
+      q(4493) => q(mqp),
+      q(4494) => q(mqq),
+      q(4495) => q(mqr),
+      q(4496) => q(mqs),
+      q(4497) => q(mqt),
+      q(4498) => q(mqu),
+      q(4499) => q(mqv),
+      q(4500) => q(mqw),
+      q(4501) => q(mqx),
+      q(4502) => q(mqy),
+      q(4503) => q(mqz),
+      q(4504) => q(mra),
+      q(4505) => q(mrb),
+      q(4506) => q(mrc),
+      q(4507) => q(mrd),
+      q(4508) => q(mre),
+      q(4509) => q(mrf),
+      q(4510) => q(mrg),
+      q(4511) => q(mrh),
+      q(4512) => q(mrj),
+      q(4513) => q(mrk),
+      q(4514) => q(mrl),
+      q(4515) => q(mrm),
+      q(4516) => q(mrn),
+      q(4517) => q(mro),
+      q(4518) => q(mrp),
+      q(4519) => q(mrq),
+      q(4520) => q(mrr),
+      q(4521) => q(mrs),
+      q(4522) => q(mrt),
+      q(4523) => q(mru),
+      q(4524) => q(mrv),
+      q(4525) => q(mrw),
+      q(4526) => q(mrx),
+      q(4527) => q(mry),
+      q(4528) => q(mrz),
+      q(4529) => q(msb),
+      q(4530) => q(msc),
+      q(4531) => q(msd),
+      q(4532) => q(mse),
+      q(4533) => q(msf),
+      q(4534) => q(msg),
+      q(4535) => q(msh),
+      q(4536) => q(msi),
+      q(4537) => q(msj),
+      q(4538) => q(msk),
+      q(4539) => q(msl),
+      q(4540) => q(msm),
+      q(4541) => q(msn),
+      q(4542) => q(mso),
+      q(4543) => q(msp),
+      q(4544) => q(msq),
+      q(4545) => q(msr),
+      q(4546) => q(mss),
+      q(4547) => q(msu),
+      q(4548) => q(msv),
+      q(4549) => q(msw),
+      q(4550) => q(msx),
+      q(4551) => q(msy),
+      q(4552) => q(msz),
+      q(4553) => q(mta),
+      q(4554) => q(mtb),
+      q(4555) => q(mtc),
+      q(4556) => q(mtd),
+      q(4557) => q(mte),
+      q(4558) => q(mtf),
+      q(4559) => q(mtg),
+      q(4560) => q(mth),
+      q(4561) => q(mti),
+      q(4562) => q(mtj),
+      q(4563) => q(mtk),
+      q(4564) => q(mtl),
+      q(4565) => q(mtm),
+      q(4566) => q(mtn),
+      q(4567) => q(mto),
+      q(4568) => q(mtp),
+      q(4569) => q(mtq),
+      q(4570) => q(mtr),
+      q(4571) => q(mts),
+      q(4572) => q(mtt),
+      q(4573) => q(mtu),
+      q(4574) => q(mtv),
+      q(4575) => q(mtw),
+      q(4576) => q(mtx),
+      q(4577) => q(mty),
+      q(4578) => q(mua),
+      q(4579) => q(mub),
+      q(4580) => q(muc),
+      q(4581) => q(mud),
+      q(4582) => q(mue),
+      q(4583) => q(mug),
+      q(4584) => q(muh),
+      q(4585) => q(mui),
+      q(4586) => q(muj),
+      q(4587) => q(muk),
+      q(4588) => q(mum),
+      q(4589) => q(muo),
+      q(4590) => q(mup),
+      q(4591) => q(muq),
+      q(4592) => q(mur),
+      q(4593) => q(mut),
+      q(4594) => q(muu),
+      q(4595) => q(muv),
+      q(4596) => q(mux),
+      q(4597) => q(muy),
+      q(4598) => q(muz),
+      q(4599) => q(mva),
+      q(4600) => q(mvb),
+      q(4601) => q(mvd),
+      q(4602) => q(mve),
+      q(4603) => q(mvf),
+      q(4604) => q(mvg),
+      q(4605) => q(mvh),
+      q(4606) => q(mvi),
+      q(4607) => q(mvk),
+      q(4608) => q(mvl),
+      q(4609) => q(mvm),
+      q(4610) => q(mvn),
+      q(4611) => q(mvo),
+      q(4612) => q(mvp),
+      q(4613) => q(mvq),
+      q(4614) => q(mvr),
+      q(4615) => q(mvs),
+      q(4616) => q(mvt),
+      q(4617) => q(mvu),
+      q(4618) => q(mvv),
+      q(4619) => q(mvw),
+      q(4620) => q(mvx),
+      q(4621) => q(mvy),
+      q(4622) => q(mvz),
+      q(4623) => q(mwa),
+      q(4624) => q(mwb),
+      q(4625) => q(mwc),
+      q(4626) => q(mwe),
+      q(4627) => q(mwf),
+      q(4628) => q(mwg),
+      q(4629) => q(mwh),
+      q(4630) => q(mwi),
+      q(4631) => q(mwk),
+      q(4632) => q(mwm),
+      q(4633) => q(mwn),
+      q(4634) => q(mwo),
+      q(4635) => q(mwp),
+      q(4636) => q(mwq),
+      q(4637) => q(mws),
+      q(4638) => q(mwt),
+      q(4639) => q(mwu),
+      q(4640) => q(mwv),
+      q(4641) => q(mww),
+      q(4642) => q(mwx),
+      q(4643) => q(mwy),
+      q(4644) => q(mwz),
+      q(4645) => q(mxa),
+      q(4646) => q(mxb),
+      q(4647) => q(mxc),
+      q(4648) => q(mxd),
+      q(4649) => q(mxe),
+      q(4650) => q(mxf),
+      q(4651) => q(mxg),
+      q(4652) => q(mxh),
+      q(4653) => q(mxi),
+      q(4654) => q(mxj),
+      q(4655) => q(mxk),
+      q(4656) => q(mxl),
+      q(4657) => q(mxm),
+      q(4658) => q(mxn),
+      q(4659) => q(mxo),
+      q(4660) => q(mxp),
+      q(4661) => q(mxq),
+      q(4662) => q(mxr),
+      q(4663) => q(mxs),
+      q(4664) => q(mxt),
+      q(4665) => q(mxu),
+      q(4666) => q(mxv),
+      q(4667) => q(mxw),
+      q(4668) => q(mxx),
+      q(4669) => q(mxy),
+      q(4670) => q(mxz),
+      q(4671) => q(myb),
+      q(4672) => q(myc),
+      q(4673) => q(myd),
+      q(4674) => q(mye),
+      q(4675) => q(myf),
+      q(4676) => q(myg),
+      q(4677) => q(myh),
+      q(4678) => q(myi),
+      q(4679) => q(myj),
+      q(4680) => q(myk),
+      q(4681) => q(myl),
+      q(4682) => q(mym),
+      q(4683) => q(myo),
+      q(4684) => q(myp),
+      q(4685) => q(myr),
+      q(4686) => q(mys),
+      q(4687) => q(myu),
+      q(4688) => q(myw),
+      q(4689) => q(myx),
+      q(4690) => q(myy),
+      q(4691) => q(myz),
+      q(4692) => q(mza),
+      q(4693) => q(mzb),
+      q(4694) => q(mzc),
+      q(4695) => q(mzd),
+      q(4696) => q(mze),
+      q(4697) => q(mzg),
+      q(4698) => q(mzh),
+      q(4699) => q(mzi),
+      q(4700) => q(mzj),
+      q(4701) => q(mzk),
+      q(4702) => q(mzl),
+      q(4703) => q(mzm),
+      q(4704) => q(mzn),
+      q(4705) => q(mzo),
+      q(4706) => q(mzp),
+      q(4707) => q(mzq),
+      q(4708) => q(mzr),
+      q(4709) => q(mzs),
+      q(4710) => q(mzt),
+      q(4711) => q(mzu),
+      q(4712) => q(mzv),
+      q(4713) => q(mzw),
+      q(4714) => q(mzx),
+      q(4715) => q(mzy),
+      q(4716) => q(mzz),
+      q(4717) => q(naa),
+      q(4718) => q(nab),
+      q(4719) => q(nac),
+      q(4720) => q(nad),
+      q(4721) => q(nae),
+      q(4722) => q(naf),
+      q(4723) => q(nag),
+      q(4724) => q(naj),
+      q(4725) => q(nak),
+      q(4726) => q(nal),
+      q(4727) => q(nam),
+      q(4728) => q(nan),
+      q(4729) => q(nao),
+      q(4730) => q(naq),
+      q(4731) => q(nar),
+      q(4732) => q(nas),
+      q(4733) => q(nat),
+      q(4734) => q(naw),
+      q(4735) => q(nax),
+      q(4736) => q(nay),
+      q(4737) => q(naz),
+      q(4738) => q(nba),
+      q(4739) => q(nbb),
+      q(4740) => q(nbc),
+      q(4741) => q(nbd),
+      q(4742) => q(nbe),
+      q(4743) => q(nbg),
+      q(4744) => q(nbh),
+      q(4745) => q(nbi),
+      q(4746) => q(nbj),
+      q(4747) => q(nbk),
+      q(4748) => q(nbm),
+      q(4749) => q(nbn),
+      q(4750) => q(nbo),
+      q(4751) => q(nbp),
+      q(4752) => q(nbq),
+      q(4753) => q(nbr),
+      q(4754) => q(nbs),
+      q(4755) => q(nbt),
+      q(4756) => q(nbu),
+      q(4757) => q(nbv),
+      q(4758) => q(nbw),
+      q(4759) => q(nby),
+      q(4760) => q(nca),
+      q(4761) => q(ncb),
+      q(4762) => q(ncc),
+      q(4763) => q(ncd),
+      q(4764) => q(nce),
+      q(4765) => q(ncf),
+      q(4766) => q(ncg),
+      q(4767) => q(nch),
+      q(4768) => q(nci),
+      q(4769) => q(ncj),
+      q(4770) => q(nck),
+      q(4771) => q(ncl),
+      q(4772) => q(ncm),
+      q(4773) => q(ncn),
+      q(4774) => q(nco),
+      q(4775) => q(ncp),
+      q(4776) => q(ncr),
+      q(4777) => q(ncs),
+      q(4778) => q(nct),
+      q(4779) => q(ncu),
+      q(4780) => q(ncx),
+      q(4781) => q(ncz),
+      q(4782) => q(nda),
+      q(4783) => q(ndb),
+      q(4784) => q(ndc),
+      q(4785) => q(ndd),
+      q(4786) => q(ndf),
+      q(4787) => q(ndg),
+      q(4788) => q(ndh),
+      q(4789) => q(ndi),
+      q(4790) => q(ndj),
+      q(4791) => q(ndk),
+      q(4792) => q(ndl),
+      q(4793) => q(ndm),
+      q(4794) => q(ndn),
+      q(4795) => q(ndp),
+      q(4796) => q(ndq),
+      q(4797) => q(ndr),
+      q(4798) => q(ndt),
+      q(4799) => q(ndu),
+      q(4800) => q(ndv),
+      q(4801) => q(ndw),
+      q(4802) => q(ndx),
+      q(4803) => q(ndy),
+      q(4804) => q(ndz),
+      q(4805) => q(nea),
+      q(4806) => q(neb),
+      q(4807) => q(nec),
+      q(4808) => q(ned),
+      q(4809) => q(nee),
+      q(4810) => q(nef),
+      q(4811) => q(neg),
+      q(4812) => q(neh),
+      q(4813) => q(nei),
+      q(4814) => q(nej),
+      q(4815) => q(nek),
+      q(4816) => q(nem),
+      q(4817) => q(nen),
+      q(4818) => q(neo),
+      q(4819) => q(neq),
+      q(4820) => q(ner),
+      q(4821) => q(nes),
+      q(4822) => q(net),
+      q(4823) => q(neu),
+      q(4824) => q(nev),
+      q(4825) => q(nex),
+      q(4826) => q(ney),
+      q(4827) => q(nez),
+      q(4828) => q(nfa),
+      q(4829) => q(nfd),
+      q(4830) => q(nfl),
+      q(4831) => q(nfr),
+      q(4832) => q(nfu),
+      q(4833) => q(nga),
+      q(4834) => q(ngb),
+      q(4835) => q(ngc),
+      q(4836) => q(ngd),
+      q(4837) => q(nge),
+      q(4838) => q(ngg),
+      q(4839) => q(ngh),
+      q(4840) => q(ngi),
+      q(4841) => q(ngj),
+      q(4842) => q(ngk),
+      q(4843) => q(ngl),
+      q(4844) => q(ngm),
+      q(4845) => q(ngn),
+      q(4846) => q(ngo),
+      q(4847) => q(ngp),
+      q(4848) => q(ngq),
+      q(4849) => q(ngr),
+      q(4850) => q(ngs),
+      q(4851) => q(ngt),
+      q(4852) => q(ngu),
+      q(4853) => q(ngv),
+      q(4854) => q(ngw),
+      q(4855) => q(ngx),
+      q(4856) => q(ngy),
+      q(4857) => q(ngz),
+      q(4858) => q(nha),
+      q(4859) => q(nhb),
+      q(4860) => q(nhc),
+      q(4861) => q(nhd),
+      q(4862) => q(nhe),
+      q(4863) => q(nhf),
+      q(4864) => q(nhg),
+      q(4865) => q(nhh),
+      q(4866) => q(nhi),
+      q(4867) => q(nhk),
+      q(4868) => q(nhm),
+      q(4869) => q(nhn),
+      q(4870) => q(nho),
+      q(4871) => q(nhp),
+      q(4872) => q(nhq),
+      q(4873) => q(nhr),
+      q(4874) => q(nht),
+      q(4875) => q(nhu),
+      q(4876) => q(nhv),
+      q(4877) => q(nhw),
+      q(4878) => q(nhx),
+      q(4879) => q(nhy),
+      q(4880) => q(nhz),
+      q(4881) => q(nib),
+      q(4882) => q(nid),
+      q(4883) => q(nie),
+      q(4884) => q(nif),
+      q(4885) => q(nig),
+      q(4886) => q(nih),
+      q(4887) => q(nii),
+      q(4888) => q(nij),
+      q(4889) => q(nik),
+      q(4890) => q(nil),
+      q(4891) => q(nim),
+      q(4892) => q(nin),
+      q(4893) => q(nio),
+      q(4894) => q(niq),
+      q(4895) => q(nir),
+      q(4896) => q(nis),
+      q(4897) => q(nit),
+      q(4898) => q(niv),
+      q(4899) => q(niw),
+      q(4900) => q(nix),
+      q(4901) => q(niy),
+      q(4902) => q(niz),
+      q(4903) => q(nja),
+      q(4904) => q(njb),
+      q(4905) => q(njd),
+      q(4906) => q(njh),
+      q(4907) => q(nji),
+      q(4908) => q(njj),
+      q(4909) => q(njl),
+      q(4910) => q(njm),
+      q(4911) => q(njn),
+      q(4912) => q(njo),
+      q(4913) => q(njr),
+      q(4914) => q(njs),
+      q(4915) => q(njt),
+      q(4916) => q(nju),
+      q(4917) => q(njx),
+      q(4918) => q(njy),
+      q(4919) => q(njz),
+      q(4920) => q(nka),
+      q(4921) => q(nkb),
+      q(4922) => q(nkc),
+      q(4923) => q(nkd),
+      q(4924) => q(nke),
+      q(4925) => q(nkf),
+      q(4926) => q(nkg),
+      q(4927) => q(nkh),
+      q(4928) => q(nki),
+      q(4929) => q(nkj),
+      q(4930) => q(nkk),
+      q(4931) => q(nkm),
+      q(4932) => q(nkn),
+      q(4933) => q(nko),
+      q(4934) => q(nkp),
+      q(4935) => q(nkq),
+      q(4936) => q(nkr),
+      q(4937) => q(nks),
+      q(4938) => q(nkt),
+      q(4939) => q(nku),
+      q(4940) => q(nkv),
+      q(4941) => q(nkw),
+      q(4942) => q(nkx),
+      q(4943) => q(nkz),
+      q(4944) => q(nla),
+      q(4945) => q(nlc),
+      q(4946) => q(nle),
+      q(4947) => q(nlg),
+      q(4948) => q(nli),
+      q(4949) => q(nlj),
+      q(4950) => q(nlk),
+      q(4951) => q(nll),
+      q(4952) => q(nlo),
+      q(4953) => q(nlq),
+      q(4954) => q(nlu),
+      q(4955) => q(nlv),
+      q(4956) => q(nlw),
+      q(4957) => q(nlx),
+      q(4958) => q(nly),
+      q(4959) => q(nlz),
+      q(4960) => q(nma),
+      q(4961) => q(nmb),
+      q(4962) => q(nmc),
+      q(4963) => q(nmd),
+      q(4964) => q(nme),
+      q(4965) => q(nmf),
+      q(4966) => q(nmg),
+      q(4967) => q(nmh),
+      q(4968) => q(nmi),
+      q(4969) => q(nmj),
+      q(4970) => q(nmk),
+      q(4971) => q(nml),
+      q(4972) => q(nmm),
+      q(4973) => q(nmn),
+      q(4974) => q(nmo),
+      q(4975) => q(nmp),
+      q(4976) => q(nmq),
+      q(4977) => q(nmr),
+      q(4978) => q(nms),
+      q(4979) => q(nmt),
+      q(4980) => q(nmu),
+      q(4981) => q(nmv),
+      q(4982) => q(nmw),
+      q(4983) => q(nmx),
+      q(4984) => q(nmy),
+      q(4985) => q(nmz),
+      q(4986) => q(nna),
+      q(4987) => q(nnb),
+      q(4988) => q(nnc),
+      q(4989) => q(nnd),
+      q(4990) => q(nne),
+      q(4991) => q(nnf),
+      q(4992) => q(nng),
+      q(4993) => q(nnh),
+      q(4994) => q(nni),
+      q(4995) => q(nnj),
+      q(4996) => q(nnk),
+      q(4997) => q(nnl),
+      q(4998) => q(nnm),
+      q(4999) => q(nnn),
+      q(5000) => q(nnp),
+      q(5001) => q(nnq),
+      q(5002) => q(nnr),
+      q(5003) => q(nns),
+      q(5004) => q(nnt),
+      q(5005) => q(nnu),
+      q(5006) => q(nnv),
+      q(5007) => q(nnw),
+      q(5008) => q(nny),
+      q(5009) => q(nnz),
+      q(5010) => q(noa),
+      q(5011) => q(noc),
+      q(5012) => q(nod),
+      q(5013) => q(noe),
+      q(5014) => q(nof),
+      q(5015) => q(noh),
+      q(5016) => q(noi),
+      q(5017) => q(noj),
+      q(5018) => q(nok),
+      q(5019) => q(nol),
+      q(5020) => q(nom),
+      q(5021) => q(nop),
+      q(5022) => q(noq),
+      q(5023) => q(nos),
+      q(5024) => q(not),
+      q(5025) => q(nou),
+      q(5026) => q(nov),
+      q(5027) => q(now),
+      q(5028) => q(noy),
+      q(5029) => q(noz),
+      q(5030) => q(npa),
+      q(5031) => q(npb),
+      q(5032) => q(npg),
+      q(5033) => q(nph),
+      q(5034) => q(npi),
+      q(5035) => q(npl),
+      q(5036) => q(npn),
+      q(5037) => q(npo),
+      q(5038) => q(nps),
+      q(5039) => q(npu),
+      q(5040) => q(npy),
+      q(5041) => q(nqg),
+      q(5042) => q(nqk),
+      q(5043) => q(nqm),
+      q(5044) => q(nqn),
+      q(5045) => q(nqq),
+      q(5046) => q(nqy),
+      q(5047) => q(nra),
+      q(5048) => q(nrb),
+      q(5049) => q(nrc),
+      q(5050) => q(nre),
+      q(5051) => q(nrf),
+      q(5052) => q(nrg),
+      q(5053) => q(nri),
+      q(5054) => q(nrk),
+      q(5055) => q(nrl),
+      q(5056) => q(nrm),
+      q(5057) => q(nrn),
+      q(5058) => q(nrp),
+      q(5059) => q(nrr),
+      q(5060) => q(nrt),
+      q(5061) => q(nru),
+      q(5062) => q(nrx),
+      q(5063) => q(nrz),
+      q(5064) => q(nsa),
+      q(5065) => q(nsc),
+      q(5066) => q(nsd),
+      q(5067) => q(nse),
+      q(5068) => q(nsf),
+      q(5069) => q(nsg),
+      q(5070) => q(nsh),
+      q(5071) => q(nsi),
+      q(5072) => q(nsk),
+      q(5073) => q(nsl),
+      q(5074) => q(nsm),
+      q(5075) => q(nsn),
+      q(5076) => q(nsp),
+      q(5077) => q(nsq),
+      q(5078) => q(nsr),
+      q(5079) => q(nss),
+      q(5080) => q(nst),
+      q(5081) => q(nsu),
+      q(5082) => q(nsv),
+      q(5083) => q(nsw),
+      q(5084) => q(nsx),
+      q(5085) => q(nsy),
+      q(5086) => q(nsz),
+      q(5087) => q(nte),
+      q(5088) => q(ntg),
+      q(5089) => q(nti),
+      q(5090) => q(ntj),
+      q(5091) => q(ntk),
+      q(5092) => q(ntm),
+      q(5093) => q(nto),
+      q(5094) => q(ntp),
+      q(5095) => q(ntr),
+      q(5096) => q(nts),
+      q(5097) => q(ntu),
+      q(5098) => q(ntw),
+      q(5099) => q(ntx),
+      q(5100) => q(nty),
+      q(5101) => q(ntz),
+      q(5102) => q(nua),
+      q(5103) => q(nuc),
+      q(5104) => q(nud),
+      q(5105) => q(nue),
+      q(5106) => q(nuf),
+      q(5107) => q(nug),
+      q(5108) => q(nuh),
+      q(5109) => q(nui),
+      q(5110) => q(nuj),
+      q(5111) => q(nuk),
+      q(5112) => q(nul),
+      q(5113) => q(num),
+      q(5114) => q(nun),
+      q(5115) => q(nuo),
+      q(5116) => q(nup),
+      q(5117) => q(nuq),
+      q(5118) => q(nur),
+      q(5119) => q(nus),
+      q(5120) => q(nut),
+      q(5121) => q(nuu),
+      q(5122) => q(nuv),
+      q(5123) => q(nuw),
+      q(5124) => q(nux),
+      q(5125) => q(nuy),
+      q(5126) => q(nuz),
+      q(5127) => q(nvh),
+      q(5128) => q(nvm),
+      q(5129) => q(nvo),
+      q(5130) => q(nwa),
+      q(5131) => q(nwb),
+      q(5132) => q(nwe),
+      q(5133) => q(nwg),
+      q(5134) => q(nwi),
+      q(5135) => q(nwm),
+      q(5136) => q(nwo),
+      q(5137) => q(nwr),
+      q(5138) => q(nwx),
+      q(5139) => q(nwy),
+      q(5140) => q(nxa),
+      q(5141) => q(nxd),
+      q(5142) => q(nxe),
+      q(5143) => q(nxg),
+      q(5144) => q(nxi),
+      q(5145) => q(nxk),
+      q(5146) => q(nxl),
+      q(5147) => q(nxm),
+      q(5148) => q(nxn),
+      q(5149) => q(nxo),
+      q(5150) => q(nxq),
+      q(5151) => q(nxr),
+      q(5152) => q(nxu),
+      q(5153) => q(nxx),
+      q(5154) => q(nyb),
+      q(5155) => q(nyc),
+      q(5156) => q(nyd),
+      q(5157) => q(nye),
+      q(5158) => q(nyf),
+      q(5159) => q(nyg),
+      q(5160) => q(nyh),
+      q(5161) => q(nyi),
+      q(5162) => q(nyj),
+      q(5163) => q(nyk),
+      q(5164) => q(nyl),
+      q(5165) => q(nyp),
+      q(5166) => q(nyq),
+      q(5167) => q(nyr),
+      q(5168) => q(nys),
+      q(5169) => q(nyt),
+      q(5170) => q(nyu),
+      q(5171) => q(nyv),
+      q(5172) => q(nyw),
+      q(5173) => q(nyx),
+      q(5174) => q(nyy),
+      q(5175) => q(nza),
+      q(5176) => q(nzb),
+      q(5177) => q(nzk),
+      q(5178) => q(nzm),
+      q(5179) => q(nzs),
+      q(5180) => q(nzu),
+      q(5181) => q(nzy),
+      q(5182) => q(nzz),
+      q(5183) => q(oaa),
+      q(5184) => q(oac),
+      q(5185) => q(oar),
+      q(5186) => q(oav),
+      q(5187) => q(obi),
+      q(5188) => q(obk),
+      q(5189) => q(obl),
+      q(5190) => q(obm),
+      q(5191) => q(obo),
+      q(5192) => q(obr),
+      q(5193) => q(obt),
+      q(5194) => q(obu),
+      q(5195) => q(oca),
+      q(5196) => q(och),
+      q(5197) => q(oco),
+      q(5198) => q(ocu),
+      q(5199) => q(oda),
+      q(5200) => q(odk),
+      q(5201) => q(odt),
+      q(5202) => q(odu),
+      q(5203) => q(ofo),
+      q(5204) => q(ofs),
+      q(5205) => q(ofu),
+      q(5206) => q(ogb),
+      q(5207) => q(ogc),
+      q(5208) => q(oge),
+      q(5209) => q(ogg),
+      q(5210) => q(ogo),
+      q(5211) => q(ogu),
+      q(5212) => q(oht),
+      q(5213) => q(ohu),
+      q(5214) => q(oia),
+      q(5215) => q(oin),
+      q(5216) => q(ojb),
+      q(5217) => q(ojc),
+      q(5218) => q(ojg),
+      q(5219) => q(ojp),
+      q(5220) => q(ojs),
+      q(5221) => q(ojv),
+      q(5222) => q(ojw),
+      q(5223) => q(oka),
+      q(5224) => q(okb),
+      q(5225) => q(okd),
+      q(5226) => q(oke),
+      q(5227) => q(okg),
+      q(5228) => q(okh),
+      q(5229) => q(oki),
+      q(5230) => q(okj),
+      q(5231) => q(okk),
+      q(5232) => q(okl),
+      q(5233) => q(okm),
+      q(5234) => q(okn),
+      q(5235) => q(oko),
+      q(5236) => q(okr),
+      q(5237) => q(oks),
+      q(5238) => q(oku),
+      q(5239) => q(okv),
+      q(5240) => q(okx),
+      q(5241) => q(ola),
+      q(5242) => q(old),
+      q(5243) => q(ole),
+      q(5244) => q(olk),
+      q(5245) => q(olm),
+      q(5246) => q(olo),
+      q(5247) => q(olr),
+      q(5248) => q(olt),
+      q(5249) => q(oma),
+      q(5250) => q(omb),
+      q(5251) => q(omc),
+      q(5252) => q(ome),
+      q(5253) => q(omg),
+      q(5254) => q(omi),
+      q(5255) => q(omk),
+      q(5256) => q(oml),
+      q(5257) => q(omn),
+      q(5258) => q(omo),
+      q(5259) => q(omp),
+      q(5260) => q(omr),
+      q(5261) => q(omt),
+      q(5262) => q(omu),
+      q(5263) => q(omw),
+      q(5264) => q(omx),
+      q(5265) => q(ona),
+      q(5266) => q(onb),
+      q(5267) => q(one),
+      q(5268) => q(ong),
+      q(5269) => q(oni),
+      q(5270) => q(onj),
+      q(5271) => q(onk),
+      q(5272) => q(onn),
+      q(5273) => q(ono),
+      q(5274) => q(onp),
+      q(5275) => q(onr),
+      q(5276) => q(ons),
+      q(5277) => q(ont),
+      q(5278) => q(onu),
+      q(5279) => q(onw),
+      q(5280) => q(onx),
+      q(5281) => q(ood),
+      q(5282) => q(oog),
+      q(5283) => q(oon),
+      q(5284) => q(oor),
+      q(5285) => q(oos),
+      q(5286) => q(opa),
+      q(5287) => q(opk),
+      q(5288) => q(opm),
+      q(5289) => q(opo),
+      q(5290) => q(opt),
+      q(5291) => q(opy),
+      q(5292) => q(ora),
+      q(5293) => q(orc),
+      q(5294) => q(ore),
+      q(5295) => q(org),
+      q(5296) => q(orh),
+      q(5297) => q(orn),
+      q(5298) => q(oro),
+      q(5299) => q(orr),
+      q(5300) => q(ors),
+      q(5301) => q(ort),
+      q(5302) => q(oru),
+      q(5303) => q(orv),
+      q(5304) => q(orw),
+      q(5305) => q(orx),
+      q(5306) => q(ory),
+      q(5307) => q(orz),
+      q(5308) => q(osc),
+      q(5309) => q(osi),
+      q(5310) => q(oso),
+      q(5311) => q(osp),
+      q(5312) => q(ost),
+      q(5313) => q(osu),
+      q(5314) => q(osx),
+      q(5315) => q(otb),
+      q(5316) => q(otd),
+      q(5317) => q(ote),
+      q(5318) => q(oti),
+      q(5319) => q(otk),
+      q(5320) => q(otl),
+      q(5321) => q(otm),
+      q(5322) => q(otn),
+      q(5323) => q(otq),
+      q(5324) => q(otr),
+      q(5325) => q(ots),
+      q(5326) => q(ott),
+      q(5327) => q(otu),
+      q(5328) => q(otw),
+      q(5329) => q(otx),
+      q(5330) => q(oty),
+      q(5331) => q(otz),
+      q(5332) => q(oua),
+      q(5333) => q(oub),
+      q(5334) => q(oue),
+      q(5335) => q(oui),
+      q(5336) => q(oum),
+      q(5337) => q(owi),
+      q(5338) => q(owl),
+      q(5339) => q(oyb),
+      q(5340) => q(oyd),
+      q(5341) => q(oym),
+      q(5342) => q(oyy),
+      q(5343) => q(ozm),
+      q(5344) => q(pab),
+      q(5345) => q(pac),
+      q(5346) => q(pad),
+      q(5347) => q(pae),
+      q(5348) => q(paf),
+      q(5349) => q(pah),
+      q(5350) => q(pai),
+      q(5351) => q(pak),
+      q(5352) => q(pao),
+      q(5353) => q(paq),
+      q(5354) => q(par),
+      q(5355) => q(pas),
+      q(5356) => q(pat),
+      q(5357) => q(pav),
+      q(5358) => q(paw),
+      q(5359) => q(pax),
+      q(5360) => q(pay),
+      q(5361) => q(paz),
+      q(5362) => q(pbb),
+      q(5363) => q(pbc),
+      q(5364) => q(pbe),
+      q(5365) => q(pbf),
+      q(5366) => q(pbg),
+      q(5367) => q(pbh),
+      q(5368) => q(pbi),
+      q(5369) => q(pbl),
+      q(5370) => q(pbn),
+      q(5371) => q(pbo),
+      q(5372) => q(pbp),
+      q(5373) => q(pbr),
+      q(5374) => q(pbs),
+      q(5375) => q(pbt),
+      q(5376) => q(pbu),
+      q(5377) => q(pbv),
+      q(5378) => q(pby),
+      q(5379) => q(pca),
+      q(5380) => q(pcb),
+      q(5381) => q(pcc),
+      q(5382) => q(pcd),
+      q(5383) => q(pce),
+      q(5384) => q(pcf),
+      q(5385) => q(pcg),
+      q(5386) => q(pch),
+      q(5387) => q(pci),
+      q(5388) => q(pcj),
+      q(5389) => q(pck),
+      q(5390) => q(pcl),
+      q(5391) => q(pcm),
+      q(5392) => q(pcn),
+      q(5393) => q(pcp),
+      q(5394) => q(pcw),
+      q(5395) => q(pda),
+      q(5396) => q(pdc),
+      q(5397) => q(pdi),
+      q(5398) => q(pdn),
+      q(5399) => q(pdo),
+      q(5400) => q(pdt),
+      q(5401) => q(pdu),
+      q(5402) => q(pea),
+      q(5403) => q(peb),
+      q(5404) => q(ped),
+      q(5405) => q(pee),
+      q(5406) => q(pef),
+      q(5407) => q(peg),
+      q(5408) => q(peh),
+      q(5409) => q(pei),
+      q(5410) => q(pej),
+      q(5411) => q(pek),
+      q(5412) => q(pel),
+      q(5413) => q(pem),
+      q(5414) => q(pep),
+      q(5415) => q(peq),
+      q(5416) => q(pes),
+      q(5417) => q(pev),
+      q(5418) => q(pex),
+      q(5419) => q(pey),
+      q(5420) => q(pez),
+      q(5421) => q(pfa),
+      q(5422) => q(pfe),
+      q(5423) => q(pfl),
+      q(5424) => q(pga),
+      q(5425) => q(pgd),
+      q(5426) => q(pgg),
+      q(5427) => q(pgi),
+      q(5428) => q(pgk),
+      q(5429) => q(pgl),
+      q(5430) => q(pgn),
+      q(5431) => q(pgs),
+      q(5432) => q(pgu),
+      q(5433) => q(pha),
+      q(5434) => q(phd),
+      q(5435) => q(phg),
+      q(5436) => q(phh),
+      q(5437) => q(phk),
+      q(5438) => q(phl),
+      q(5439) => q(phm),
+      q(5440) => q(pho),
+      q(5441) => q(phq),
+      q(5442) => q(phr),
+      q(5443) => q(pht),
+      q(5444) => q(phu),
+      q(5445) => q(phv),
+      q(5446) => q(phw),
+      q(5447) => q(pia),
+      q(5448) => q(pib),
+      q(5449) => q(pic),
+      q(5450) => q(pid),
+      q(5451) => q(pie),
+      q(5452) => q(pif),
+      q(5453) => q(pig),
+      q(5454) => q(pih),
+      q(5455) => q(pii),
+      q(5456) => q(pij),
+      q(5457) => q(pil),
+      q(5458) => q(pim),
+      q(5459) => q(pin),
+      q(5460) => q(pio),
+      q(5461) => q(pip),
+      q(5462) => q(pir),
+      q(5463) => q(pis),
+      q(5464) => q(pit),
+      q(5465) => q(piu),
+      q(5466) => q(piv),
+      q(5467) => q(piw),
+      q(5468) => q(pix),
+      q(5469) => q(piy),
+      q(5470) => q(piz),
+      q(5471) => q(pjt),
+      q(5472) => q(pka),
+      q(5473) => q(pkb),
+      q(5474) => q(pkc),
+      q(5475) => q(pkg),
+      q(5476) => q(pkh),
+      q(5477) => q(pkn),
+      q(5478) => q(pko),
+      q(5479) => q(pkp),
+      q(5480) => q(pkr),
+      q(5481) => q(pks),
+      q(5482) => q(pkt),
+      q(5483) => q(pku),
+      q(5484) => q(pla),
+      q(5485) => q(plb),
+      q(5486) => q(plc),
+      q(5487) => q(pld),
+      q(5488) => q(ple),
+      q(5489) => q(plg),
+      q(5490) => q(plh),
+      q(5491) => q(plj),
+      q(5492) => q(plk),
+      q(5493) => q(pll),
+      q(5494) => q(pln),
+      q(5495) => q(plo),
+      q(5496) => q(plp),
+      q(5497) => q(plq),
+      q(5498) => q(plr),
+      q(5499) => q(pls),
+      q(5500) => q(plt),
+      q(5501) => q(plu),
+      q(5502) => q(plv),
+      q(5503) => q(plw),
+      q(5504) => q(ply),
+      q(5505) => q(plz),
+      q(5506) => q(pma),
+      q(5507) => q(pmb),
+      q(5508) => q(pmc),
+      q(5509) => q(pmd),
+      q(5510) => q(pme),
+      q(5511) => q(pmf),
+      q(5512) => q(pmh),
+      q(5513) => q(pmi),
+      q(5514) => q(pmj),
+      q(5515) => q(pmk),
+      q(5516) => q(pml),
+      q(5517) => q(pmm),
+      q(5518) => q(pmn),
+      q(5519) => q(pmo),
+      q(5520) => q(pmq),
+      q(5521) => q(pmr),
+      q(5522) => q(pms),
+      q(5523) => q(pmt),
+      q(5524) => q(pmw),
+      q(5525) => q(pmx),
+      q(5526) => q(pmy),
+      q(5527) => q(pmz),
+      q(5528) => q(pna),
+      q(5529) => q(pnb),
+      q(5530) => q(pnc),
+      q(5531) => q(pne),
+      q(5532) => q(png),
+      q(5533) => q(pnh),
+      q(5534) => q(pni),
+      q(5535) => q(pnj),
+      q(5536) => q(pnk),
+      q(5537) => q(pnl),
+      q(5538) => q(pnm),
+      q(5539) => q(pnn),
+      q(5540) => q(pno),
+      q(5541) => q(pnp),
+      q(5542) => q(pnq),
+      q(5543) => q(pnr),
+      q(5544) => q(pns),
+      q(5545) => q(pnt),
+      q(5546) => q(pnu),
+      q(5547) => q(pnv),
+      q(5548) => q(pnw),
+      q(5549) => q(pnx),
+      q(5550) => q(pny),
+      q(5551) => q(pnz),
+      q(5552) => q(poc),
+      q(5553) => q(pod),
+      q(5554) => q(poe),
+      q(5555) => q(pof),
+      q(5556) => q(pog),
+      q(5557) => q(poh),
+      q(5558) => q(poi),
+      q(5559) => q(pok),
+      q(5560) => q(pom),
+      q(5561) => q(poo),
+      q(5562) => q(pop),
+      q(5563) => q(poq),
+      q(5564) => q(pos),
+      q(5565) => q(pot),
+      q(5566) => q(pov),
+      q(5567) => q(pow),
+      q(5568) => q(pox),
+      q(5569) => q(poy),
+      q(5570) => q(ppa),
+      q(5571) => q(ppe),
+      q(5572) => q(ppi),
+      q(5573) => q(ppk),
+      q(5574) => q(ppl),
+      q(5575) => q(ppm),
+      q(5576) => q(ppn),
+      q(5577) => q(ppo),
+      q(5578) => q(ppp),
+      q(5579) => q(ppq),
+      q(5580) => q(pps),
+      q(5581) => q(ppt),
+      q(5582) => q(ppu),
+      q(5583) => q(pqa),
+      q(5584) => q(pqm),
+      q(5585) => q(prb),
+      q(5586) => q(prc),
+      q(5587) => q(prd),
+      q(5588) => q(pre),
+      q(5589) => q(prf),
+      q(5590) => q(prg),
+      q(5591) => q(prh),
+      q(5592) => q(pri),
+      q(5593) => q(prk),
+      q(5594) => q(prl),
+      q(5595) => q(prm),
+      q(5596) => q(prn),
+      q(5597) => q(prp),
+      q(5598) => q(prq),
+      q(5599) => q(prr),
+      q(5600) => q(prs),
+      q(5601) => q(prt),
+      q(5602) => q(pru),
+      q(5603) => q(prw),
+      q(5604) => q(prx),
+      q(5605) => q(pry),
+      q(5606) => q(prz),
+      q(5607) => q(psa),
+      q(5608) => q(psc),
+      q(5609) => q(psd),
+      q(5610) => q(pse),
+      q(5611) => q(psg),
+      q(5612) => q(psh),
+      q(5613) => q(psi),
+      q(5614) => q(psl),
+      q(5615) => q(psm),
+      q(5616) => q(psn),
+      q(5617) => q(pso),
+      q(5618) => q(psp),
+      q(5619) => q(psq),
+      q(5620) => q(psr),
+      q(5621) => q(pss),
+      q(5622) => q(pst),
+      q(5623) => q(psu),
+      q(5624) => q(psw),
+      q(5625) => q(psy),
+      q(5626) => q(pta),
+      q(5627) => q(pth),
+      q(5628) => q(pti),
+      q(5629) => q(ptn),
+      q(5630) => q(pto),
+      q(5631) => q(ptp),
+      q(5632) => q(ptq),
+      q(5633) => q(ptr),
+      q(5634) => q(ptt),
+      q(5635) => q(ptu),
+      q(5636) => q(ptv),
+      q(5637) => q(ptw),
+      q(5638) => q(pty),
+      q(5639) => q(pua),
+      q(5640) => q(pub),
+      q(5641) => q(puc),
+      q(5642) => q(pud),
+      q(5643) => q(pue),
+      q(5644) => q(puf),
+      q(5645) => q(pug),
+      q(5646) => q(pui),
+      q(5647) => q(puj),
+      q(5648) => q(puk),
+      q(5649) => q(pum),
+      q(5650) => q(puo),
+      q(5651) => q(pup),
+      q(5652) => q(puq),
+      q(5653) => q(pur),
+      q(5654) => q(put),
+      q(5655) => q(puu),
+      q(5656) => q(puw),
+      q(5657) => q(pux),
+      q(5658) => q(puy),
+      q(5659) => q(pwa),
+      q(5660) => q(pwb),
+      q(5661) => q(pwg),
+      q(5662) => q(pwi),
+      q(5663) => q(pwm),
+      q(5664) => q(pwn),
+      q(5665) => q(pwo),
+      q(5666) => q(pwr),
+      q(5667) => q(pww),
+      q(5668) => q(pxm),
+      q(5669) => q(pye),
+      q(5670) => q(pym),
+      q(5671) => q(pyn),
+      q(5672) => q(pys),
+      q(5673) => q(pyu),
+      q(5674) => q(pyx),
+      q(5675) => q(pyy),
+      q(5676) => q(pzn),
+      q(5677) => q(qua),
+      q(5678) => q(qub),
+      q(5679) => q(quc),
+      q(5680) => q(qud),
+      q(5681) => q(quf),
+      q(5682) => q(qug),
+      q(5683) => q(quh),
+      q(5684) => q(qui),
+      q(5685) => q(quk),
+      q(5686) => q(qul),
+      q(5687) => q(qum),
+      q(5688) => q(qun),
+      q(5689) => q(qup),
+      q(5690) => q(quq),
+      q(5691) => q(qur),
+      q(5692) => q(qus),
+      q(5693) => q(quv),
+      q(5694) => q(quw),
+      q(5695) => q(qux),
+      q(5696) => q(quy),
+      q(5697) => q(quz),
+      q(5698) => q(qva),
+      q(5699) => q(qvc),
+      q(5700) => q(qve),
+      q(5701) => q(qvh),
+      q(5702) => q(qvi),
+      q(5703) => q(qvj),
+      q(5704) => q(qvl),
+      q(5705) => q(qvm),
+      q(5706) => q(qvn),
+      q(5707) => q(qvo),
+      q(5708) => q(qvp),
+      q(5709) => q(qvs),
+      q(5710) => q(qvw),
+      q(5711) => q(qvy),
+      q(5712) => q(qvz),
+      q(5713) => q(qwa),
+      q(5714) => q(qwc),
+      q(5715) => q(qwh),
+      q(5716) => q(qwm),
+      q(5717) => q(qws),
+      q(5718) => q(qwt),
+      q(5719) => q(qxa),
+      q(5720) => q(qxc),
+      q(5721) => q(qxh),
+      q(5722) => q(qxl),
+      q(5723) => q(qxn),
+      q(5724) => q(qxo),
+      q(5725) => q(qxp),
+      q(5726) => q(qxq),
+      q(5727) => q(qxr),
+      q(5728) => q(qxs),
+      q(5729) => q(qxt),
+      q(5730) => q(qxu),
+      q(5731) => q(qxw),
+      q(5732) => q(qya),
+      q(5733) => q(qyp),
+      q(5734) => q(raa),
+      q(5735) => q(rab),
+      q(5736) => q(rac),
+      q(5737) => q(rad),
+      q(5738) => q(raf),
+      q(5739) => q(rag),
+      q(5740) => q(rah),
+      q(5741) => q(rai),
+      q(5742) => q(rak),
+      q(5743) => q(ral),
+      q(5744) => q(ram),
+      q(5745) => q(ran),
+      q(5746) => q(rao),
+      q(5747) => q(raq),
+      q(5748) => q(ras),
+      q(5749) => q(rat),
+      q(5750) => q(rau),
+      q(5751) => q(rav),
+      q(5752) => q(raw),
+      q(5753) => q(rax),
+      q(5754) => q(ray),
+      q(5755) => q(raz),
+      q(5756) => q(rbb),
+      q(5757) => q(rbk),
+      q(5758) => q(rbl),
+      q(5759) => q(rbp),
+      q(5760) => q(rcf),
+      q(5761) => q(rdb),
+      q(5762) => q(rea),
+      q(5763) => q(reb),
+      q(5764) => q(ree),
+      q(5765) => q(reg),
+      q(5766) => q(rei),
+      q(5767) => q(rej),
+      q(5768) => q(rel),
+      q(5769) => q(rem),
+      q(5770) => q(ren),
+      q(5771) => q(rer),
+      q(5772) => q(res),
+      q(5773) => q(ret),
+      q(5774) => q(rey),
+      q(5775) => q(rga),
+      q(5776) => q(rge),
+      q(5777) => q(rgk),
+      q(5778) => q(rgn),
+      q(5779) => q(rgr),
+      q(5780) => q(rgs),
+      q(5781) => q(rgu),
+      q(5782) => q(rhg),
+      q(5783) => q(rhp),
+      q(5784) => q(ria),
+      q(5785) => q(rie),
+      q(5786) => q(rif),
+      q(5787) => q(ril),
+      q(5788) => q(rim),
+      q(5789) => q(rin),
+      q(5790) => q(rir),
+      q(5791) => q(rit),
+      q(5792) => q(riu),
+      q(5793) => q(rjg),
+      q(5794) => q(rji),
+      q(5795) => q(rjs),
+      q(5796) => q(rka),
+      q(5797) => q(rkb),
+      q(5798) => q(rkh),
+      q(5799) => q(rki),
+      q(5800) => q(rkm),
+      q(5801) => q(rkt),
+      q(5802) => q(rkw),
+      q(5803) => q(rma),
+      q(5804) => q(rmb),
+      q(5805) => q(rmc),
+      q(5806) => q(rmd),
+      q(5807) => q(rme),
+      q(5808) => q(rmf),
+      q(5809) => q(rmg),
+      q(5810) => q(rmh),
+      q(5811) => q(rmi),
+      q(5812) => q(rmk),
+      q(5813) => q(rml),
+      q(5814) => q(rmm),
+      q(5815) => q(rmn),
+      q(5816) => q(rmo),
+      q(5817) => q(rmp),
+      q(5818) => q(rmq),
+      q(5819) => q(rms),
+      q(5820) => q(rmt),
+      q(5821) => q(rmu),
+      q(5822) => q(rmv),
+      q(5823) => q(rmw),
+      q(5824) => q(rmx),
+      q(5825) => q(rmy),
+      q(5826) => q(rmz),
+      q(5827) => q(rna),
+      q(5828) => q(rnd),
+      q(5829) => q(rng),
+      q(5830) => q(rnl),
+      q(5831) => q(rnn),
+      q(5832) => q(rnp),
+      q(5833) => q(rnr),
+      q(5834) => q(rnw),
+      q(5835) => q(rob),
+      q(5836) => q(roc),
+      q(5837) => q(rod),
+      q(5838) => q(roe),
+      q(5839) => q(rof),
+      q(5840) => q(rog),
+      q(5841) => q(rol),
+      q(5842) => q(roo),
+      q(5843) => q(rop),
+      q(5844) => q(ror),
+      q(5845) => q(rou),
+      q(5846) => q(row),
+      q(5847) => q(rpn),
+      q(5848) => q(rpt),
+      q(5849) => q(rri),
+      q(5850) => q(rro),
+      q(5851) => q(rrt),
+      q(5852) => q(rsb),
+      q(5853) => q(rsi),
+      q(5854) => q(rsl),
+      q(5855) => q(rtc),
+      q(5856) => q(rth),
+      q(5857) => q(rtm),
+      q(5858) => q(rts),
+      q(5859) => q(rtw),
+      q(5860) => q(rub),
+      q(5861) => q(ruc),
+      q(5862) => q(rue),
+      q(5863) => q(ruf),
+      q(5864) => q(rug),
+      q(5865) => q(ruh),
+      q(5866) => q(rui),
+      q(5867) => q(ruk),
+      q(5868) => q(ruo),
+      q(5869) => q(ruq),
+      q(5870) => q(rut),
+      q(5871) => q(ruu),
+      q(5872) => q(ruy),
+      q(5873) => q(ruz),
+      q(5874) => q(rwa),
+      q(5875) => q(rwk),
+      q(5876) => q(rwm),
+      q(5877) => q(rwo),
+      q(5878) => q(rwr),
+      q(5879) => q(rxd),
+      q(5880) => q(rxw),
+      q(5881) => q(ryn),
+      q(5882) => q(rys),
+      q(5883) => q(ryu),
+      q(5884) => q(saa),
+      q(5885) => q(sab),
+      q(5886) => q(sac),
+      q(5887) => q(sae),
+      q(5888) => q(saf),
+      q(5889) => q(saj),
+      q(5890) => q(sak),
+      q(5891) => q(sao),
+      q(5892) => q(saq),
+      q(5893) => q(sar),
+      q(5894) => q(sau),
+      q(5895) => q(sav),
+      q(5896) => q(saw),
+      q(5897) => q(sax),
+      q(5898) => q(say),
+      q(5899) => q(saz),
+      q(5900) => q(sba),
+      q(5901) => q(sbb),
+      q(5902) => q(sbc),
+      q(5903) => q(sbd),
+      q(5904) => q(slc),
+      q(5905) => q(sbf),
+      q(5906) => q(sbg),
+      q(5907) => q(sbh),
+      q(5908) => q(sbi),
+      q(5909) => q(sbj),
+      q(5910) => q(sbk),
+      q(5911) => q(sbl),
+      q(5912) => q(sbm),
+      q(5913) => q(sbn),
+      q(5914) => q(sbo),
+      q(5915) => q(sbp),
+      q(5916) => q(sbq),
+      q(5917) => q(sbr),
+      q(5918) => q(sbs),
+      q(5919) => q(sbt),
+      q(5920) => q(sbu),
+      q(5921) => q(sbv),
+      q(5922) => q(sbw),
+      q(5923) => q(sbx),
+      q(5924) => q(sby),
+      q(5925) => q(sbz),
+      q(5926) => q(scb),
+      q(5927) => q(sce),
+      q(5928) => q(scf),
+      q(5929) => q(scg),
+      q(5930) => q(sch),
+      q(5931) => q(sci),
+      q(5932) => q(sck),
+      q(5933) => q(scl),
+      q(5934) => q(scp),
+      q(5935) => q(scq),
+      q(5936) => q(scs),
+      q(5937) => q(scu),
+      q(5938) => q(scv),
+      q(5939) => q(scw),
+      q(5940) => q(scx),
+      q(5941) => q(sda),
+      q(5942) => q(sdb),
+      q(5943) => q(sdc),
+      q(5944) => q(sde),
+      q(5945) => q(sdf),
+      q(5946) => q(sdg),
+      q(5947) => q(sdh),
+      q(5948) => q(sdj),
+      q(5949) => q(sdk),
+      q(5950) => q(sdl),
+      q(5951) => q(sdm),
+      q(5952) => q(sdn),
+      q(5953) => q(sdo),
+      q(5954) => q(sdp),
+      q(5955) => q(sdr),
+      q(5956) => q(sds),
+      q(5957) => q(sdt),
+      q(5958) => q(sdu),
+      q(5959) => q(sdx),
+      q(5960) => q(sdz),
+      q(5961) => q(sea),
+      q(5962) => q(seb),
+      q(5963) => q(sec),
+      q(5964) => q(sed),
+      q(5965) => q(see),
+      q(5966) => q(sef),
+      q(5967) => q(seg),
+      q(5968) => q(seh),
+      q(5969) => q(sei),
+      q(5970) => q(sej),
+      q(5971) => q(sek),
+      q(5972) => q(sen),
+      q(5973) => q(seo),
+      q(5974) => q(sep),
+      q(5975) => q(seq),
+      q(5976) => q(ser),
+      q(5977) => q(ses),
+      q(5978) => q(set),
+      q(5979) => q(seu),
+      q(5980) => q(sev),
+      q(5981) => q(sew),
+      q(5982) => q(sey),
+      q(5983) => q(sez),
+      q(5984) => q(sfb),
+      q(5985) => q(sfe),
+      q(5986) => q(sfm),
+      q(5987) => q(sfs),
+      q(5988) => q(sfw),
+      q(5989) => q(sgb),
+      q(5990) => q(sgc),
+      q(5991) => q(sgd),
+      q(5992) => q(sge),
+      q(5993) => q(sgg),
+      q(5994) => q(sgh),
+      q(5995) => q(sgi),
+      q(5996) => q(sgj),
+      q(5997) => q(sgk),
+      q(5998) => q(sgm),
+      q(5999) => q(sgp),
+      q(6000) => q(sgr),
+      q(6001) => q(sgs),
+      q(6002) => q(sgt),
+      q(6003) => q(sgu),
+      q(6004) => q(sgw),
+      q(6005) => q(sgx),
+      q(6006) => q(sgy),
+      q(6007) => q(sgz),
+      q(6008) => q(sha),
+      q(6009) => q(shb),
+      q(6010) => q(shc),
+      q(6011) => q(shd),
+      q(6012) => q(she),
+      q(6013) => q(shg),
+      q(6014) => q(shh),
+      q(6015) => q(shi),
+      q(6016) => q(shj),
+      q(6017) => q(shk),
+      q(6018) => q(shl),
+      q(6019) => q(shm),
+      q(6020) => q(sho),
+      q(6021) => q(shp),
+      q(6022) => q(shq),
+      q(6023) => q(shr),
+      q(6024) => q(shs),
+      q(6025) => q(sht),
+      q(6026) => q(shu),
+      q(6027) => q(shv),
+      q(6028) => q(shw),
+      q(6029) => q(shx),
+      q(6030) => q(shy),
+      q(6031) => q(shz),
+      q(6032) => q(sia),
+      q(6033) => q(sib),
+      q(6034) => q(sie),
+      q(6035) => q(sif),
+      q(6036) => q(sig),
+      q(6037) => q(sih),
+      q(6038) => q(sii),
+      q(6039) => q(sij),
+      q(6040) => q(sik),
+      q(6041) => q(sil),
+      q(6042) => q(sim),
+      q(6043) => q(sip),
+      q(6044) => q(siq),
+      q(6045) => q(sir),
+      q(6046) => q(sis),
+      q(6047) => q(siu),
+      q(6048) => q(siv),
+      q(6049) => q(siw),
+      q(6050) => q(six),
+      q(6051) => q(siy),
+      q(6052) => q(siz),
+      q(6053) => q(sja),
+      q(6054) => q(sjb),
+      q(6055) => q(sjd),
+      q(6056) => q(sje),
+      q(6057) => q(sjg),
+      q(6058) => q(sjk),
+      q(6059) => q(sjl),
+      q(6060) => q(sjm),
+      q(6061) => q(sjn),
+      q(6062) => q(sjo),
+      q(6063) => q(sjp),
+      q(6064) => q(sjr),
+      q(6065) => q(sjs),
+      q(6066) => q(sjt),
+      q(6067) => q(sju),
+      q(6068) => q(sjw),
+      q(6069) => q(ska),
+      q(6070) => q(skb),
+      q(6071) => q(skc),
+      q(6072) => q(skd),
+      q(6073) => q(ske),
+      q(6074) => q(skf),
+      q(6075) => q(skg),
+      q(6076) => q(skh),
+      q(6077) => q(ski),
+      q(6078) => q(skj),
+      q(6079) => q(skk),
+      q(6080) => q(skm),
+      q(6081) => q(skn),
+      q(6082) => q(sko),
+      q(6083) => q(skp),
+      q(6084) => q(skq),
+      q(6085) => q(skr),
+      q(6086) => q(sks),
+      q(6087) => q(skt),
+      q(6088) => q(sku),
+      q(6089) => q(skv),
+      q(6090) => q(skw),
+      q(6091) => q(skx),
+      q(6092) => q(sky),
+      q(6093) => q(skz),
+      q(6094) => q(sld),
+      q(6095) => q(sle),
+      q(6096) => q(slf),
+      q(6097) => q(slg),
+      q(6098) => q(slh),
+      q(6099) => q(sli),
+      q(6100) => q(slj),
+      q(6101) => q(sll),
+      q(6102) => q(slm),
+      q(6103) => q(sln),
+      q(6104) => q(slp),
+      q(6105) => q(slq),
+      q(6106) => q(slr),
+      q(6107) => q(sls),
+      q(6108) => q(slt),
+      q(6109) => q(slu),
+      q(6110) => q(slw),
+      q(6111) => q(slx),
+      q(6112) => q(sly),
+      q(6113) => q(slz),
+      q(6114) => q(smb),
+      q(6115) => q(smc),
+      q(6116) => q(smd),
+      q(6117) => q(smf),
+      q(6118) => q(smg),
+      q(6119) => q(smh),
+      q(6120) => q(smk),
+      q(6121) => q(sml),
+      q(6122) => q(smm),
+      q(6123) => q(smp),
+      q(6124) => q(smq),
+      q(6125) => q(smr),
+      q(6126) => q(smt),
+      q(6127) => q(smu),
+      q(6128) => q(smv),
+      q(6129) => q(smw),
+      q(6130) => q(smx),
+      q(6131) => q(smy),
+      q(6132) => q(smz),
+      q(6133) => q(snb),
+      q(6134) => q(snc),
+      q(6135) => q(sne),
+      q(6136) => q(snf),
+      q(6137) => q(sng),
+      q(6138) => q(snh),
+      q(6139) => q(sni),
+      q(6140) => q(snj),
+      q(6141) => q(snl),
+      q(6142) => q(snm),
+      q(6143) => q(snn),
+      q(6144) => q(sno),
+      q(6145) => q(snp),
+      q(6146) => q(snq),
+      q(6147) => q(snr),
+      q(6148) => q(sns),
+      q(6149) => q(snu),
+      q(6150) => q(snv),
+      q(6151) => q(snw),
+      q(6152) => q(snx),
+      q(6153) => q(sny),
+      q(6154) => q(snz),
+      q(6155) => q(soa),
+      q(6156) => q(sob),
+      q(6157) => q(soc),
+      q(6158) => q(sod),
+      q(6159) => q(soe),
+      q(6160) => q(soh),
+      q(6161) => q(soi),
+      q(6162) => q(soj),
+      q(6163) => q(sok),
+      q(6164) => q(sol),
+      q(6165) => q(soo),
+      q(6166) => q(sop),
+      q(6167) => q(soq),
+      q(6168) => q(sor),
+      q(6169) => q(sos),
+      q(6170) => q(sou),
+      q(6171) => q(sov),
+      q(6172) => q(sow),
+      q(6173) => q(sox),
+      q(6174) => q(soy),
+      q(6175) => q(soz),
+      q(6176) => q(spb),
+      q(6177) => q(spc),
+      q(6178) => q(spd),
+      q(6179) => q(spe),
+      q(6180) => q(spg),
+      q(6181) => q(spi),
+      q(6182) => q(spk),
+      q(6183) => q(spl),
+      q(6184) => q(spm),
+      q(6185) => q(spn),
+      q(6186) => q(spo),
+      q(6187) => q(spp),
+      q(6188) => q(spq),
+      q(6189) => q(spr),
+      q(6190) => q(sps),
+      q(6191) => q(spt),
+      q(6192) => q(spu),
+      q(6193) => q(spv),
+      q(6194) => q(spx),
+      q(6195) => q(spy),
+      q(6196) => q(sqa),
+      q(6197) => q(sqh),
+      q(6198) => q(sqk),
+      q(6199) => q(sqm),
+      q(6200) => q(sqn),
+      q(6201) => q(sqo),
+      q(6202) => q(sqq),
+      q(6203) => q(sqr),
+      q(6204) => q(sqs),
+      q(6205) => q(sqt),
+      q(6206) => q(squ),
+      q(6207) => q(sra),
+      q(6208) => q(srb),
+      q(6209) => q(src),
+      q(6210) => q(sre),
+      q(6211) => q(srf),
+      q(6212) => q(srg),
+      q(6213) => q(srh),
+      q(6214) => q(sri),
+      q(6215) => q(srk),
+      q(6216) => q(srl),
+      q(6217) => q(srm),
+      q(6218) => q(sro),
+      q(6219) => q(srq),
+      q(6220) => q(srs),
+      q(6221) => q(srt),
+      q(6222) => q(sru),
+      q(6223) => q(srv),
+      q(6224) => q(srw),
+      q(6225) => q(srx),
+      q(6226) => q(sry),
+      q(6227) => q(srz),
+      q(6228) => q(ssb),
+      q(6229) => q(ssc),
+      q(6230) => q(ssd),
+      q(6231) => q(sse),
+      q(6232) => q(ssf),
+      q(6233) => q(ssg),
+      q(6234) => q(ssh),
+      q(6235) => q(ssi),
+      q(6236) => q(ssj),
+      q(6237) => q(ssk),
+      q(6238) => q(ssl),
+      q(6239) => q(ssm),
+      q(6240) => q(ssn),
+      q(6241) => q(sso),
+      q(6242) => q(ssp),
+      q(6243) => q(ssq),
+      q(6244) => q(ssr),
+      q(6245) => q(sss),
+      q(6246) => q(sst),
+      q(6247) => q(ssu),
+      q(6248) => q(ssv),
+      q(6249) => q(ssx),
+      q(6250) => q(ssy),
+      q(6251) => q(ssz),
+      q(6252) => q(sta),
+      q(6253) => q(stb),
+      q(6254) => q(std),
+      q(6255) => q(ste),
+      q(6256) => q(stf),
+      q(6257) => q(stg),
+      q(6258) => q(sth),
+      q(6259) => q(sti),
+      q(6260) => q(stj),
+      q(6261) => q(stk),
+      q(6262) => q(stl),
+      q(6263) => q(stm),
+      q(6264) => q(stn),
+      q(6265) => q(sto),
+      q(6266) => q(stp),
+      q(6267) => q(stq),
+      q(6268) => q(str),
+      q(6269) => q(sts),
+      q(6270) => q(stt),
+      q(6271) => q(stu),
+      q(6272) => q(stv),
+      q(6273) => q(stw),
+      q(6274) => q(sty),
+      q(6275) => q(sua),
+      q(6276) => q(sub),
+      q(6277) => q(suc),
+      q(6278) => q(sue),
+      q(6279) => q(sug),
+      q(6280) => q(sui),
+      q(6281) => q(suj),
+      q(6282) => q(suq),
+      q(6283) => q(sur),
+      q(6284) => q(sut),
+      q(6285) => q(suv),
+      q(6286) => q(suw),
+      q(6287) => q(suy),
+      q(6288) => q(suz),
+      q(6289) => q(sva),
+      q(6290) => q(svb),
+      q(6291) => q(svc),
+      q(6292) => q(sve),
+      q(6293) => q(svk),
+      q(6294) => q(svm),
+      q(6295) => q(svr),
+      q(6296) => q(svs),
+      q(6297) => q(svx),
+      q(6298) => q(swb),
+      q(6299) => q(swc),
+      q(6300) => q(swf),
+      q(6301) => q(swg),
+      q(6302) => q(swh),
+      q(6303) => q(swi),
+      q(6304) => q(swj),
+      q(6305) => q(swk),
+      q(6306) => q(swl),
+      q(6307) => q(swm),
+      q(6308) => q(swn),
+      q(6309) => q(swo),
+      q(6310) => q(swp),
+      q(6311) => q(swq),
+      q(6312) => q(swr),
+      q(6313) => q(sws),
+      q(6314) => q(swt),
+      q(6315) => q(swu),
+      q(6316) => q(swv),
+      q(6317) => q(sww),
+      q(6318) => q(swx),
+      q(6319) => q(swy),
+      q(6320) => q(sxb),
+      q(6321) => q(sxc),
+      q(6322) => q(sxe),
+      q(6323) => q(sxg),
+      q(6324) => q(sxk),
+      q(6325) => q(sxl),
+      q(6326) => q(sxm),
+      q(6327) => q(sxn),
+      q(6328) => q(sxo),
+      q(6329) => q(sxr),
+      q(6330) => q(sxs),
+      q(6331) => q(sxu),
+      q(6332) => q(sxw),
+      q(6333) => q(sya),
+      q(6334) => q(syb),
+      q(6335) => q(syi),
+      q(6336) => q(syk),
+      q(6337) => q(syl),
+      q(6338) => q(sym),
+      q(6339) => q(syn),
+      q(6340) => q(syo),
+      q(6341) => q(sys),
+      q(6342) => q(syw),
+      q(6343) => q(syx),
+      q(6344) => q(syy),
+      q(6345) => q(sza),
+      q(6346) => q(szb),
+      q(6347) => q(szc),
+      q(6348) => q(szd),
+      q(6349) => q(sze),
+      q(6350) => q(szg),
+      q(6351) => q(szl),
+      q(6352) => q(szn),
+      q(6353) => q(szp),
+      q(6354) => q(szv),
+      q(6355) => q(szw),
+      q(6356) => q(taa),
+      q(6357) => q(tab),
+      q(6358) => q(tac),
+      q(6359) => q(tad),
+      q(6360) => q(tae),
+      q(6361) => q(taf),
+      q(6362) => q(tag),
+      q(6363) => q(taj),
+      q(6364) => q(tak),
+      q(6365) => q(tal),
+      q(6366) => q(tan),
+      q(6367) => q(tao),
+      q(6368) => q(tap),
+      q(6369) => q(taq),
+      q(6370) => q(tar),
+      q(6371) => q(tas),
+      q(6372) => q(tau),
+      q(6373) => q(tav),
+      q(6374) => q(taw),
+      q(6375) => q(tax),
+      q(6376) => q(tay),
+      q(6377) => q(taz),
+      q(6378) => q(tba),
+      q(6379) => q(tbb),
+      q(6380) => q(tbc),
+      q(6381) => q(tbd),
+      q(6382) => q(tbe),
+      q(6383) => q(tbf),
+      q(6384) => q(tbg),
+      q(6385) => q(tbh),
+      q(6386) => q(tbi),
+      q(6387) => q(tbj),
+      q(6388) => q(tbk),
+      q(6389) => q(tbl),
+      q(6390) => q(tbm),
+      q(6391) => q(tbn),
+      q(6392) => q(tbo),
+      q(6393) => q(tbp),
+      q(6394) => q(tbr),
+      q(6395) => q(tbs),
+      q(6396) => q(tbt),
+      q(6397) => q(tbu),
+      q(6398) => q(tbv),
+      q(6399) => q(tbw),
+      q(6400) => q(tbx),
+      q(6401) => q(tby),
+      q(6402) => q(tbz),
+      q(6403) => q(tca),
+      q(6404) => q(tcb),
+      q(6405) => q(tcc),
+      q(6406) => q(tcd),
+      q(6407) => q(tce),
+      q(6408) => q(tcf),
+      q(6409) => q(tcg),
+      q(6410) => q(tch),
+      q(6411) => q(wbf),
+      q(6412) => q(tck),
+      q(6413) => q(tcl),
+      q(6414) => q(tcm),
+      q(6415) => q(tcn),
+      q(6416) => q(tco),
+      q(6417) => q(tcp),
+      q(6418) => q(tcq),
+      q(6419) => q(tcs),
+      q(6420) => q(tct),
+      q(6421) => q(tcu),
+      q(6422) => q(tcw),
+      q(6423) => q(tcx),
+      q(6424) => q(tcy),
+      q(6425) => q(tcz),
+      q(6426) => q(tda),
+      q(6427) => q(tdb),
+      q(6428) => q(tdc),
+      q(6429) => q(tdd),
+      q(6430) => q(tde),
+      q(6431) => q(tdf),
+      q(6432) => q(tdg),
+      q(6433) => q(tdh),
+      q(6434) => q(tdi),
+      q(6435) => q(tdj),
+      q(6436) => q(tdk),
+      q(6437) => q(tdl),
+      q(6438) => q(tdn),
+      q(6439) => q(tdo),
+      q(6440) => q(tdq),
+      q(6441) => q(tdr),
+      q(6442) => q(tds),
+      q(6443) => q(tdt),
+      q(6444) => q(tdu),
+      q(6445) => q(tdv),
+      q(6446) => q(tdx),
+      q(6447) => q(tdy),
+      q(6448) => q(tea),
+      q(6449) => q(teb),
+      q(6450) => q(tec),
+      q(6451) => q(ted),
+      q(6452) => q(tee),
+      q(6453) => q(tef),
+      q(6454) => q(teg),
+      q(6455) => q(teh),
+      q(6456) => q(tei),
+      q(6457) => q(tek),
+      q(6458) => q(ten),
+      q(6459) => q(teo),
+      q(6460) => q(tep),
+      q(6461) => q(teq),
+      q(6462) => q(tes),
+      q(6463) => q(teu),
+      q(6464) => q(tev),
+      q(6465) => q(tew),
+      q(6466) => q(tex),
+      q(6467) => q(tey),
+      q(6468) => q(tfi),
+      q(6469) => q(tfn),
+      q(6470) => q(tfo),
+      q(6471) => q(tfr),
+      q(6472) => q(tft),
+      q(6473) => q(tga),
+      q(6474) => q(tgb),
+      q(6475) => q(tgc),
+      q(6476) => q(tgd),
+      q(6477) => q(tge),
+      q(6478) => q(tgf),
+      q(6479) => q(tgh),
+      q(6480) => q(tgi),
+      q(6481) => q(tgj),
+      q(6482) => q(tgn),
+      q(6483) => q(tgo),
+      q(6484) => q(tgp),
+      q(6485) => q(tgq),
+      q(6486) => q(tgr),
+      q(6487) => q(tgs),
+      q(6488) => q(tgt),
+      q(6489) => q(tgu),
+      q(6490) => q(tgv),
+      q(6491) => q(tgw),
+      q(6492) => q(tgx),
+      q(6493) => q(tgy),
+      q(6494) => q(tgz),
+      q(6495) => q(thc),
+      q(6496) => q(thd),
+      q(6497) => q(the),
+      q(6498) => q(thf),
+      q(6499) => q(thh),
+      q(6500) => q(thi),
+      q(6501) => q(thk),
+      q(6502) => q(thl),
+      q(6503) => q(thm),
+      q(6504) => q(thn),
+      q(6505) => q(thp),
+      q(6506) => q(thq),
+      q(6507) => q(thr),
+      q(6508) => q(ths),
+      q(6509) => q(tht),
+      q(6510) => q(thu),
+      q(6511) => q(thv),
+      q(6512) => q(thw),
+      q(6513) => q(thy),
+      q(6514) => q(thz),
+      q(6515) => q(tia),
+      q(6516) => q(tic),
+      q(6517) => q(tid),
+      q(6518) => q(tif),
+      q(6519) => q(tih),
+      q(6520) => q(tii),
+      q(6521) => q(tij),
+      q(6522) => q(tik),
+      q(6523) => q(til),
+      q(6524) => q(tim),
+      q(6525) => q(tin),
+      q(6526) => q(tio),
+      q(6527) => q(tip),
+      q(6528) => q(tiq),
+      q(6529) => q(tis),
+      q(6530) => q(tit),
+      q(6531) => q(tiu),
+      q(6532) => q(tiw),
+      q(6533) => q(tix),
+      q(6534) => q(tiy),
+      q(6535) => q(tiz),
+      q(6536) => q(tja),
+      q(6537) => q(tjg),
+      q(6538) => q(tji),
+      q(6539) => q(tjl),
+      q(6540) => q(tjm),
+      q(6541) => q(tjn),
+      q(6542) => q(tjo),
+      q(6543) => q(tjs),
+      q(6544) => q(tju),
+      q(6545) => q(tjw),
+      q(6546) => q(tka),
+      q(6547) => q(tkb),
+      q(6548) => q(tkd),
+      q(6549) => q(tke),
+      q(6550) => q(tkf),
+      q(6551) => q(tkg),
+      q(6552) => q(tkm),
+      q(6553) => q(tkn),
+      q(6554) => q(tkp),
+      q(6555) => q(tkq),
+      q(6556) => q(tkr),
+      q(6557) => q(tks),
+      q(6558) => q(tkt),
+      q(6559) => q(tku),
+      q(6560) => q(tkv),
+      q(6561) => q(tkw),
+      q(6562) => q(tkx),
+      q(6563) => q(tkz),
+      q(6564) => q(tla),
+      q(6565) => q(tlb),
+      q(6566) => q(tlc),
+      q(6567) => q(tld),
+      q(6568) => q(tlf),
+      q(6569) => q(tlg),
+      q(6570) => q(tlj),
+      q(6571) => q(tlk),
+      q(6572) => q(tll),
+      q(6573) => q(tlm),
+      q(6574) => q(tln),
+      q(6575) => q(tlo),
+      q(6576) => q(tlp),
+      q(6577) => q(tlq),
+      q(6578) => q(tlr),
+      q(6579) => q(tls),
+      q(6580) => q(tlt),
+      q(6581) => q(tlu),
+      q(6582) => q(tlv),
+      q(6583) => q(tlx),
+      q(6584) => q(tly),
+      q(6585) => q(tma),
+      q(6586) => q(tmb),
+      q(6587) => q(tmc),
+      q(6588) => q(tmd),
+      q(6589) => q(tme),
+      q(6590) => q(tmf),
+      q(6591) => q(tmg),
+      q(6592) => q(tmi),
+      q(6593) => q(tmj),
+      q(6594) => q(tmk),
+      q(6595) => q(tml),
+      q(6596) => q(tmm),
+      q(6597) => q(tmn),
+      q(6598) => q(tmo),
+      q(6599) => q(tmp),
+      q(6600) => q(tmq),
+      q(6601) => q(tmr),
+      q(6602) => q(tms),
+      q(6603) => q(tmt),
+      q(6604) => q(tmu),
+      q(6605) => q(tmv),
+      q(6606) => q(tmw),
+      q(6607) => q(tmy),
+      q(6608) => q(tmz),
+      q(6609) => q(tna),
+      q(6610) => q(tnb),
+      q(6611) => q(tnc),
+      q(6612) => q(tnd),
+      q(6613) => q(tne),
+      q(6614) => q(tng),
+      q(6615) => q(tnh),
+      q(6616) => q(tni),
+      q(6617) => q(tnk),
+      q(6618) => q(tnl),
+      q(6619) => q(tnm),
+      q(6620) => q(tnn),
+      q(6621) => q(tno),
+      q(6622) => q(tnp),
+      q(6623) => q(tnq),
+      q(6624) => q(tnr),
+      q(6625) => q(tns),
+      q(6626) => q(tnt),
+      q(6627) => q(tnu),
+      q(6628) => q(tnv),
+      q(6629) => q(tnw),
+      q(6630) => q(tnx),
+      q(6631) => q(tny),
+      q(6632) => q(tnz),
+      q(6633) => q(tob),
+      q(6634) => q(toc),
+      q(6635) => q(tod),
+      q(6636) => q(toe),
+      q(6637) => q(tof),
+      q(6638) => q(toh),
+      q(6639) => q(toi),
+      q(6640) => q(toj),
+      q(6641) => q(tol),
+      q(6642) => q(tom),
+      q(6643) => q(too),
+      q(6644) => q(top),
+      q(6645) => q(toq),
+      q(6646) => q(tor),
+      q(6647) => q(tos),
+      q(6648) => q(tou),
+      q(6649) => q(tov),
+      q(6650) => q(tow),
+      q(6651) => q(tox),
+      q(6652) => q(toy),
+      q(6653) => q(toz),
+      q(6654) => q(tpa),
+      q(6655) => q(tpc),
+      q(6656) => q(tpe),
+      q(6657) => q(tpf),
+      q(6658) => q(tpg),
+      q(6659) => q(tpj),
+      q(6660) => q(tpk),
+      q(6661) => q(tpl),
+      q(6662) => q(tpm),
+      q(6663) => q(tpn),
+      q(6664) => q(tpo),
+      q(6665) => q(tpp),
+      q(6666) => q(tpq),
+      q(6667) => q(tpr),
+      q(6668) => q(tpt),
+      q(6669) => q(tpu),
+      q(6670) => q(tpv),
+      q(6671) => q(tpw),
+      q(6672) => q(tpx),
+      q(6673) => q(tpy),
+      q(6674) => q(tpz),
+      q(6675) => q(tqb),
+      q(6676) => q(tql),
+      q(6677) => q(tqm),
+      q(6678) => q(tqn),
+      q(6679) => q(tqo),
+      q(6680) => q(tqp),
+      q(6681) => q(tqq),
+      q(6682) => q(tqr),
+      q(6683) => q(tqt),
+      q(6684) => q(tqu),
+      q(6685) => q(tqw),
+      q(6686) => q(tra),
+      q(6687) => q(trb),
+      q(6688) => q(trc),
+      q(6689) => q(trd),
+      q(6690) => q(tre),
+      q(6691) => q(trf),
+      q(6692) => q(trg),
+      q(6693) => q(trh),
+      q(6694) => q(tri),
+      q(6695) => q(trj),
+      q(6696) => q(trl),
+      q(6697) => q(trm),
+      q(6698) => q(trn),
+      q(6699) => q(tro),
+      q(6700) => q(trp),
+      q(6701) => q(trq),
+      q(6702) => q(trr),
+      q(6703) => q(trs),
+      q(6704) => q(trt),
+      q(6705) => q(tru),
+      q(6706) => q(trv),
+      q(6707) => q(trw),
+      q(6708) => q(trx),
+      q(6709) => q(try),
+      q(6710) => q(trz),
+      q(6711) => q(tsa),
+      q(6712) => q(tsb),
+      q(6713) => q(tsc),
+      q(6714) => q(tsd),
+      q(6715) => q(tse),
+      q(6716) => q(tsg),
+      q(6717) => q(tsh),
+      q(6718) => q(tsj),
+      q(6719) => q(tsk),
+      q(6720) => q(tsl),
+      q(6721) => q(tsm),
+      q(6722) => q(tsp),
+      q(6723) => q(tsq),
+      q(6724) => q(tsr),
+      q(6725) => q(tss),
+      q(6726) => q(tst),
+      q(6727) => q(tsu),
+      q(6728) => q(tsv),
+      q(6729) => q(tsw),
+      q(6730) => q(tsx),
+      q(6731) => q(tsy),
+      q(6732) => q(tsz),
+      q(6733) => q(tta),
+      q(6734) => q(ttb),
+      q(6735) => q(ttc),
+      q(6736) => q(ttd),
+      q(6737) => q(tte),
+      q(6738) => q(ttf),
+      q(6739) => q(ttg),
+      q(6740) => q(tth),
+      q(6741) => q(tti),
+      q(6742) => q(ttj),
+      q(6743) => q(ttk),
+      q(6744) => q(ttl),
+      q(6745) => q(ttm),
+      q(6746) => q(ttn),
+      q(6747) => q(tto),
+      q(6748) => q(ttp),
+      q(6749) => q(ttq),
+      q(6750) => q(ttr),
+      q(6751) => q(tts),
+      q(6752) => q(ttt),
+      q(6753) => q(ttu),
+      q(6754) => q(ttv),
+      q(6755) => q(ttw),
+      q(6756) => q(tty),
+      q(6757) => q(ttz),
+      q(6758) => q(tua),
+      q(6759) => q(tub),
+      q(6760) => q(tuc),
+      q(6761) => q(tud),
+      q(6762) => q(tue),
+      q(6763) => q(tuf),
+      q(6764) => q(tug),
+      q(6765) => q(tuh),
+      q(6766) => q(tui),
+      q(6767) => q(tuj),
+      q(6768) => q(tul),
+      q(6769) => q(tun),
+      q(6770) => q(tuo),
+      q(6771) => q(tuq),
+      q(6772) => q(tus),
+      q(6773) => q(tuu),
+      q(6774) => q(tuv),
+      q(6775) => q(tux),
+      q(6776) => q(tuy),
+      q(6777) => q(tuz),
+      q(6778) => q(tva),
+      q(6779) => q(tvd),
+      q(6780) => q(tve),
+      q(6781) => q(tvk),
+      q(6782) => q(tvm),
+      q(6783) => q(tvn),
+      q(6784) => q(tvo),
+      q(6785) => q(tvs),
+      q(6786) => q(tvt),
+      q(6787) => q(tvu),
+      q(6788) => q(tvw),
+      q(6789) => q(tvy),
+      q(6790) => q(twa),
+      q(6791) => q(twb),
+      q(6792) => q(twc),
+      q(6793) => q(twd),
+      q(6794) => q(twe),
+      q(6795) => q(twf),
+      q(6796) => q(twg),
+      q(6797) => q(twh),
+      q(6798) => q(twl),
+      q(6799) => q(twm),
+      q(6800) => q(twn),
+      q(6801) => q(two),
+      q(6802) => q(twp),
+      q(6803) => q(twq),
+      q(6804) => q(twr),
+      q(6805) => q(twt),
+      q(6806) => q(twu),
+      q(6807) => q(tww),
+      q(6808) => q(twx),
+      q(6809) => q(twy),
+      q(6810) => q(txa),
+      q(6811) => q(txb),
+      q(6812) => q(txc),
+      q(6813) => q(txe),
+      q(6814) => q(txg),
+      q(6815) => q(txh),
+      q(6816) => q(txi),
+      q(6817) => q(txj),
+      q(6818) => q(txm),
+      q(6819) => q(txn),
+      q(6820) => q(txo),
+      q(6821) => q(txq),
+      q(6822) => q(txr),
+      q(6823) => q(txs),
+      q(6824) => q(txt),
+      q(6825) => q(txu),
+      q(6826) => q(txx),
+      q(6827) => q(txy),
+      q(6828) => q(tya),
+      q(6829) => q(tye),
+      q(6830) => q(tyh),
+      q(6831) => q(tyi),
+      q(6832) => q(tyj),
+      q(6833) => q(tyl),
+      q(6834) => q(tyn),
+      q(6835) => q(typ),
+      q(6836) => q(tyr),
+      q(6837) => q(tys),
+      q(6838) => q(tyt),
+      q(6839) => q(tyu),
+      q(6840) => q(tyx),
+      q(6841) => q(tyz),
+      q(6842) => q(tza),
+      q(6843) => q(tzh),
+      q(6844) => q(tzj),
+      q(6845) => q(tzl),
+      q(6846) => q(tzm),
+      q(6847) => q(tzn),
+      q(6848) => q(tzo),
+      q(6849) => q(tzx),
+      q(6850) => q(uam),
+      q(6851) => q(uan),
+      q(6852) => q(uar),
+      q(6853) => q(uba),
+      q(6854) => q(ubi),
+      q(6855) => q(ubl),
+      q(6856) => q(ubr),
+      q(6857) => q(ubu),
+      q(6858) => q(uby),
+      q(6859) => q(uda),
+      q(6860) => q(ude),
+      q(6861) => q(udg),
+      q(6862) => q(udi),
+      q(6863) => q(udj),
+      q(6864) => q(udl),
+      q(6865) => q(udu),
+      q(6866) => q(ues),
+      q(6867) => q(ufi),
+      q(6868) => q(ugb),
+      q(6869) => q(uge),
+      q(6870) => q(ugn),
+      q(6871) => q(ugo),
+      q(6872) => q(ugy),
+      q(6873) => q(uha),
+      q(6874) => q(uhn),
+      q(6875) => q(uis),
+      q(6876) => q(uiv),
+      q(6877) => q(uji),
+      q(6878) => q(uka),
+      q(6879) => q(ukg),
+      q(6880) => q(ukh),
+      q(6881) => q(ukl),
+      q(6882) => q(ukp),
+      q(6883) => q(ukq),
+      q(6884) => q(uks),
+      q(6885) => q(uku),
+      q(6886) => q(ukw),
+      q(6887) => q(uky),
+      q(6888) => q(ula),
+      q(6889) => q(ulb),
+      q(6890) => q(ulc),
+      q(6891) => q(ule),
+      q(6892) => q(ulf),
+      q(6893) => q(uli),
+      q(6894) => q(ulk),
+      q(6895) => q(ull),
+      q(6896) => q(ulm),
+      q(6897) => q(uln),
+      q(6898) => q(ulu),
+      q(6899) => q(ulw),
+      q(6900) => q(uma),
+      q(6901) => q(umc),
+      q(6902) => q(umd),
+      q(6903) => q(umg),
+      q(6904) => q(umi),
+      q(6905) => q(umm),
+      q(6906) => q(umn),
+      q(6907) => q(umo),
+      q(6908) => q(ump),
+      q(6909) => q(umr),
+      q(6910) => q(ums),
+      q(6911) => q(umu),
+      q(6912) => q(una),
+      q(6913) => q(une),
+      q(6914) => q(ung),
+      q(6915) => q(unk),
+      q(6916) => q(unm),
+      q(6917) => q(unn),
+      q(6918) => q(unr),
+      q(6919) => q(unu),
+      q(6920) => q(unx),
+      q(6921) => q(unz),
+      q(6922) => q(upi),
+      q(6923) => q(upv),
+      q(6924) => q(ura),
+      q(6925) => q(urb),
+      q(6926) => q(urc),
+      q(6927) => q(ure),
+      q(6928) => q(urf),
+      q(6929) => q(urg),
+      q(6930) => q(urh),
+      q(6931) => q(uri),
+      q(6932) => q(urk),
+      q(6933) => q(url),
+      q(6934) => q(urm),
+      q(6935) => q(urn),
+      q(6936) => q(uro),
+      q(6937) => q(urp),
+      q(6938) => q(urr),
+      q(6939) => q(urt),
+      q(6940) => q(uru),
+      q(6941) => q(urv),
+      q(6942) => q(urw),
+      q(6943) => q(urx),
+      q(6944) => q(ury),
+      q(6945) => q(urz),
+      q(6946) => q(usa),
+      q(6947) => q(ush),
+      q(6948) => q(usi),
+      q(6949) => q(usk),
+      q(6950) => q(usp),
+      q(6951) => q(usu),
+      q(6952) => q(uta),
+      q(6953) => q(ute),
+      q(6954) => q(utp),
+      q(6955) => q(utr),
+      q(6956) => q(utu),
+      q(6957) => q(uum),
+      q(6958) => q(uun),
+      q(6959) => q(uur),
+      q(6960) => q(uuu),
+      q(6961) => q(uve),
+      q(6962) => q(uvh),
+      q(6963) => q(uvl),
+      q(6964) => q(uwa),
+      q(6965) => q(uya),
+      q(6966) => q(uzn),
+      q(6967) => q(uzs),
+      q(6968) => q(vaa),
+      q(6969) => q(vae),
+      q(6970) => q(vaf),
+      q(6971) => q(vag),
+      q(6972) => q(vah),
+      q(6973) => q(vaj),
+      q(6974) => q(val),
+      q(6975) => q(vam),
+      q(6976) => q(van),
+      q(6977) => q(vao),
+      q(6978) => q(vap),
+      q(6979) => q(var),
+      q(6980) => q(vas),
+      q(6981) => q(vau),
+      q(6982) => q(vav),
+      q(6983) => q(vay),
+      q(6984) => q(vbb),
+      q(6985) => q(vbk),
+      q(6986) => q(vec),
+      q(6987) => q(ved),
+      q(6988) => q(vel),
+      q(6989) => q(vem),
+      q(6990) => q(veo),
+      q(6991) => q(vep),
+      q(6992) => q(ver),
+      q(6993) => q(vgr),
+      q(6994) => q(vgt),
+      q(6995) => q(vic),
+      q(6996) => q(vid),
+      q(6997) => q(vif),
+      q(6998) => q(vig),
+      q(6999) => q(vil),
+      q(7000) => q(vin),
+      q(7001) => q(vis),
+      q(7002) => q(vit),
+      q(7003) => q(viv),
+      q(7004) => q(vka),
+      q(7005) => q(vki),
+      q(7006) => q(vkj),
+      q(7007) => q(vkk),
+      q(7008) => q(vkl),
+      q(7009) => q(vkm),
+      q(7010) => q(vko),
+      q(7011) => q(vkp),
+      q(7012) => q(vkt),
+      q(7013) => q(vku),
+      q(7014) => q(vlp),
+      q(7015) => q(vls),
+      q(7016) => q(vma),
+      q(7017) => q(vmb),
+      q(7018) => q(vmc),
+      q(7019) => q(vmd),
+      q(7020) => q(vme),
+      q(7021) => q(vmf),
+      q(7022) => q(vmg),
+      q(7023) => q(vmh),
+      q(7024) => q(vmi),
+      q(7025) => q(vmj),
+      q(7026) => q(vmk),
+      q(7027) => q(vml),
+      q(7028) => q(vmm),
+      q(7029) => q(vmp),
+      q(7030) => q(vmq),
+      q(7031) => q(vmr),
+      q(7032) => q(vms),
+      q(7033) => q(vmu),
+      q(7034) => q(vmv),
+      q(7035) => q(vmw),
+      q(7036) => q(vmx),
+      q(7037) => q(vmy),
+      q(7038) => q(vmz),
+      q(7039) => q(vnk),
+      q(7040) => q(vnm),
+      q(7041) => q(vnp),
+      q(7042) => q(vro),
+      q(7043) => q(vra),
+      q(7044) => q(vrs),
+      q(7045) => q(vrt),
+      q(7046) => q(vsi),
+      q(7047) => q(vsl),
+      q(7048) => q(vsv),
+      q(7049) => q(vto),
+      q(7050) => q(vum),
+      q(7051) => q(vun),
+      q(7052) => q(vut),
+      q(7053) => q(vwa),
+      q(7054) => q(waa),
+      q(7055) => q(wab),
+      q(7056) => q(wac),
+      q(7057) => q(wad),
+      q(7058) => q(wae),
+      q(7059) => q(waf),
+      q(7060) => q(wag),
+      q(7061) => q(wah),
+      q(7062) => q(wai),
+      q(7063) => q(waj),
+      q(7064) => q(wam),
+      q(7065) => q(wan),
+      q(7066) => q(wao),
+      q(7067) => q(wap),
+      q(7068) => q(waq),
+      q(7069) => q(wat),
+      q(7070) => q(wau),
+      q(7071) => q(wav),
+      q(7072) => q(waw),
+      q(7073) => q(wax),
+      q(7074) => q(way),
+      q(7075) => q(waz),
+      q(7076) => q(wba),
+      q(7077) => q(wbb),
+      q(7078) => q(wbe),
+      q(7079) => q(wbh),
+      q(7080) => q(wbi),
+      q(7081) => q(wbj),
+      q(7082) => q(wbk),
+      q(7083) => q(wbl),
+      q(7084) => q(wbm),
+      q(7085) => q(wbp),
+      q(7086) => q(wbq),
+      q(7087) => q(wbr),
+      q(7088) => q(wbt),
+      q(7089) => q(wbv),
+      q(7090) => q(wbw),
+      q(7091) => q(wca),
+      q(7092) => q(wci),
+      q(7093) => q(wdd),
+      q(7094) => q(wdg),
+      q(7095) => q(wdj),
+      q(7096) => q(wdk),
+      q(7097) => q(wdu),
+      q(7098) => q(wdy),
+      q(7099) => q(wea),
+      q(7100) => q(wec),
+      q(7101) => q(wed),
+      q(7102) => q(weg),
+      q(7103) => q(weh),
+      q(7104) => q(wei),
+      q(7105) => q(wem),
+      q(7106) => q(weo),
+      q(7107) => q(wep),
+      q(7108) => q(wer),
+      q(7109) => q(wes),
+      q(7110) => q(wet),
+      q(7111) => q(weu),
+      q(7112) => q(wew),
+      q(7113) => q(wfg),
+      q(7114) => q(wga),
+      q(7115) => q(wgb),
+      q(7116) => q(wgg),
+      q(7117) => q(wgi),
+      q(7118) => q(wgo),
+      q(7119) => q(wgu),
+      q(7120) => q(wgy),
+      q(7121) => q(wha),
+      q(7122) => q(whg),
+      q(7123) => q(whk),
+      q(7124) => q(whu),
+      q(7125) => q(wib),
+      q(7126) => q(wic),
+      q(7127) => q(wie),
+      q(7128) => q(wif),
+      q(7129) => q(wig),
+      q(7130) => q(wih),
+      q(7131) => q(wii),
+      q(7132) => q(wij),
+      q(7133) => q(wik),
+      q(7134) => q(wil),
+      q(7135) => q(wim),
+      q(7136) => q(win),
+      q(7137) => q(wir),
+      q(7138) => q(wiu),
+      q(7139) => q(wiv),
+      q(7140) => q(wiy),
+      q(7141) => q(wja),
+      q(7142) => q(wji),
+      q(7143) => q(wka),
+      q(7144) => q(wkb),
+      q(7145) => q(wkd),
+      q(7146) => q(wkl),
+      q(7147) => q(wku),
+      q(7148) => q(wkw),
+      q(7149) => q(wky),
+      q(7150) => q(wla),
+      q(7151) => q(wlc),
+      q(7152) => q(wle),
+      q(7153) => q(wlg),
+      q(7154) => q(wli),
+      q(7155) => q(wlk),
+      q(7156) => q(wll),
+      q(7157) => q(wlm),
+      q(7158) => q(wlo),
+      q(7159) => q(wlr),
+      q(7160) => q(wls),
+      q(7161) => q(wlu),
+      q(7162) => q(wlv),
+      q(7163) => q(wlw),
+      q(7164) => q(wlx),
+      q(7165) => q(wly),
+      q(7166) => q(wma),
+      q(7167) => q(wmb),
+      q(7168) => q(wmc),
+      q(7169) => q(wmd),
+      q(7170) => q(wme),
+      q(7171) => q(wmh),
+      q(7172) => q(wmi),
+      q(7173) => q(wmm),
+      q(7174) => q(wmn),
+      q(7175) => q(wmo),
+      q(7176) => q(wms),
+      q(7177) => q(wmt),
+      q(7178) => q(wmw),
+      q(7179) => q(wmx),
+      q(7180) => q(wnb),
+      q(7181) => q(wnc),
+      q(7182) => q(wnd),
+      q(7183) => q(wne),
+      q(7184) => q(wng),
+      q(7185) => q(wni),
+      q(7186) => q(wnk),
+      q(7187) => q(wnm),
+      q(7188) => q(wnn),
+      q(7189) => q(wno),
+      q(7190) => q(wnp),
+      q(7191) => q(wnu),
+      q(7192) => q(wnw),
+      q(7193) => q(wny),
+      q(7194) => q(woa),
+      q(7195) => q(wob),
+      q(7196) => q(woc),
+      q(7197) => q(wod),
+      q(7198) => q(woe),
+      q(7199) => q(wof),
+      q(7200) => q(wog),
+      q(7201) => q(woi),
+      q(7202) => q(wok),
+      q(7203) => q(wom),
+      q(7204) => q(won),
+      q(7205) => q(woo),
+      q(7206) => q(wor),
+      q(7207) => q(wos),
+      q(7208) => q(wow),
+      q(7209) => q(woy),
+      q(7210) => q(wpc),
+      q(7211) => q(wra),
+      q(7212) => q(wrb),
+      q(7213) => q(wrd),
+      q(7214) => q(wrg),
+      q(7215) => q(wrh),
+      q(7216) => q(wri),
+      q(7217) => q(wrk),
+      q(7218) => q(wrl),
+      q(7219) => q(wrm),
+      q(7220) => q(wrn),
+      q(7221) => q(wro),
+      q(7222) => q(wrp),
+      q(7223) => q(wrr),
+      q(7224) => q(wrs),
+      q(7225) => q(wru),
+      q(7226) => q(wrv),
+      q(7227) => q(wrw),
+      q(7228) => q(wrx),
+      q(7229) => q(wry),
+      q(7230) => q(wrz),
+      q(7231) => q(wsa),
+      q(7232) => q(wsi),
+      q(7233) => q(wsk),
+      q(7234) => q(wsr),
+      q(7235) => q(wss),
+      q(7236) => q(wsu),
+      q(7237) => q(wsv),
+      q(7238) => q(wtf),
+      q(7239) => q(wth),
+      q(7240) => q(wti),
+      q(7241) => q(wtk),
+      q(7242) => q(wtm),
+      q(7243) => q(wtw),
+      q(7244) => q(wua),
+      q(7245) => q(wub),
+      q(7246) => q(wud),
+      q(7247) => q(wuh),
+      q(7248) => q(wul),
+      q(7249) => q(wum),
+      q(7250) => q(wun),
+      q(7251) => q(wur),
+      q(7252) => q(wut),
+      q(7253) => q(wuu),
+      q(7254) => q(wuv),
+      q(7255) => q(wux),
+      q(7256) => q(wuy),
+      q(7257) => q(wwa),
+      q(7258) => q(wwb),
+      q(7259) => q(wwo),
+      q(7260) => q(wwr),
+      q(7261) => q(www),
+      q(7262) => q(wxa),
+      q(7263) => q(wxw),
+      q(7264) => q(wya),
+      q(7265) => q(wyb),
+      q(7266) => q(wyi),
+      q(7267) => q(wym),
+      q(7268) => q(wyr),
+      q(7269) => q(wyy),
+      q(7270) => q(xaa),
+      q(7271) => q(xab),
+      q(7272) => q(xac),
+      q(7273) => q(xad),
+      q(7274) => q(xae),
+      q(7275) => q(xag),
+      q(7276) => q(xai),
+      q(7277) => q(xaj),
+      q(7278) => q(xam),
+      q(7279) => q(xan),
+      q(7280) => q(xao),
+      q(7281) => q(xap),
+      q(7282) => q(xaq),
+      q(7283) => q(xar),
+      q(7284) => q(xas),
+      q(7285) => q(xat),
+      q(7286) => q(xau),
+      q(7287) => q(xav),
+      q(7288) => q(xaw),
+      q(7289) => q(xay),
+      q(7290) => q(xba),
+      q(7291) => q(xbb),
+      q(7292) => q(xbc),
+      q(7293) => q(xbd),
+      q(7294) => q(xbe),
+      q(7295) => q(xbg),
+      q(7296) => q(xbi),
+      q(7297) => q(xbj),
+      q(7298) => q(xbm),
+      q(7299) => q(xbn),
+      q(7300) => q(xbo),
+      q(7301) => q(xbp),
+      q(7302) => q(xbr),
+      q(7303) => q(xbw),
+      q(7304) => q(xbx),
+      q(7305) => q(xby),
+      q(7306) => q(xcb),
+      q(7307) => q(xcc),
+      q(7308) => q(xce),
+      q(7309) => q(xcg),
+      q(7310) => q(xch),
+      q(7311) => q(xcl),
+      q(7312) => q(xcm),
+      q(7313) => q(xcn),
+      q(7314) => q(xco),
+      q(7315) => q(xcr),
+      q(7316) => q(xct),
+      q(7317) => q(xcu),
+      q(7318) => q(xcv),
+      q(7319) => q(xcw),
+      q(7320) => q(xcy),
+      q(7321) => q(xda),
+      q(7322) => q(xdc),
+      q(7323) => q(xdk),
+      q(7324) => q(xdm),
+      q(7325) => q(xdy),
+      q(7326) => q(xeb),
+      q(7327) => q(xed),
+      q(7328) => q(xeg),
+      q(7329) => q(xel),
+      q(7330) => q(xem),
+      q(7331) => q(xep),
+      q(7332) => q(xer),
+      q(7333) => q(xes),
+      q(7334) => q(xet),
+      q(7335) => q(xeu),
+      q(7336) => q(xfa),
+      q(7337) => q(xga),
+      q(7338) => q(xgb),
+      q(7339) => q(xgd),
+      q(7340) => q(xgf),
+      q(7341) => q(xgg),
+      q(7342) => q(xgi),
+      q(7343) => q(xgl),
+      q(7344) => q(xgm),
+      q(7345) => q(xgr),
+      q(7346) => q(xgu),
+      q(7347) => q(xgw),
+      q(7348) => q(xha),
+      q(7349) => q(xhc),
+      q(7350) => q(xhd),
+      q(7351) => q(xhe),
+      q(7352) => q(xhr),
+      q(7353) => q(xht),
+      q(7354) => q(xhu),
+      q(7355) => q(xhv),
+      q(7356) => q(xib),
+      q(7357) => q(xii),
+      q(7358) => q(xil),
+      q(7359) => q(xin),
+      q(7360) => q(xip),
+      q(7361) => q(xir),
+      q(7362) => q(xis),
+      q(7363) => q(xiv),
+      q(7364) => q(xiy),
+      q(7365) => q(xjb),
+      q(7366) => q(xjt),
+      q(7367) => q(xka),
+      q(7368) => q(xkb),
+      q(7369) => q(xkc),
+      q(7370) => q(xkd),
+      q(7371) => q(xke),
+      q(7372) => q(xkf),
+      q(7373) => q(xkg),
+      q(7374) => q(xkh),
+      q(7375) => q(xki),
+      q(7376) => q(xkj),
+      q(7377) => q(xkk),
+      q(7378) => q(xkl),
+      q(7379) => q(xkn),
+      q(7380) => q(xko),
+      q(7381) => q(xkp),
+      q(7382) => q(xkq),
+      q(7383) => q(xkr),
+      q(7384) => q(xks),
+      q(7385) => q(xkt),
+      q(7386) => q(xku),
+      q(7387) => q(xkv),
+      q(7388) => q(xkw),
+      q(7389) => q(xkx),
+      q(7390) => q(xky),
+      q(7391) => q(xkz),
+      q(7392) => q(xla),
+      q(7393) => q(xlb),
+      q(7394) => q(xlc),
+      q(7395) => q(xld),
+      q(7396) => q(xle),
+      q(7397) => q(xlg),
+      q(7398) => q(xli),
+      q(7399) => q(xln),
+      q(7400) => q(xlo),
+      q(7401) => q(xlp),
+      q(7402) => q(xls),
+      q(7403) => q(xlu),
+      q(7404) => q(xly),
+      q(7405) => q(xma),
+      q(7406) => q(xmb),
+      q(7407) => q(xmc),
+      q(7408) => q(xmd),
+      q(7409) => q(xme),
+      q(7410) => q(xmf),
+      q(7411) => q(xmg),
+      q(7412) => q(xmh),
+      q(7413) => q(xmj),
+      q(7414) => q(xmk),
+      q(7415) => q(xml),
+      q(7416) => q(xmm),
+      q(7417) => q(xmn),
+      q(7418) => q(xmo),
+      q(7419) => q(xmp),
+      q(7420) => q(xmq),
+      q(7421) => q(xmr),
+      q(7422) => q(xms),
+      q(7423) => q(xmt),
+      q(7424) => q(xmu),
+      q(7425) => q(xmv),
+      q(7426) => q(xmw),
+      q(7427) => q(xmx),
+      q(7428) => q(xmy),
+      q(7429) => q(xmz),
+      q(7430) => q(xna),
+      q(7431) => q(xnb),
+      q(7432) => q(xng),
+      q(7433) => q(xnh),
+      q(7434) => q(xni),
+      q(7435) => q(xnk),
+      q(7436) => q(xnn),
+      q(7437) => q(xno),
+      q(7438) => q(xnr),
+      q(7439) => q(xns),
+      q(7440) => q(xnt),
+      q(7441) => q(xnu),
+      q(7442) => q(xny),
+      q(7443) => q(xnz),
+      q(7444) => q(xoc),
+      q(7445) => q(xod),
+      q(7446) => q(xog),
+      q(7447) => q(xoi),
+      q(7448) => q(xok),
+      q(7449) => q(xom),
+      q(7450) => q(xon),
+      q(7451) => q(xoo),
+      q(7452) => q(xop),
+      q(7453) => q(xor),
+      q(7454) => q(xow),
+      q(7455) => q(xpa),
+      q(7456) => q(xpc),
+      q(7457) => q(xpe),
+      q(7458) => q(xpg),
+      q(7459) => q(xpi),
+      q(7460) => q(xpj),
+      q(7461) => q(xpk),
+      q(7462) => q(xpm),
+      q(7463) => q(xpn),
+      q(7464) => q(xpo),
+      q(7465) => q(xpp),
+      q(7466) => q(xpq),
+      q(7467) => q(xpr),
+      q(7468) => q(xps),
+      q(7469) => q(xpt),
+      q(7470) => q(xpu),
+      q(7471) => q(xpy),
+      q(7472) => q(xqa),
+      q(7473) => q(xqt),
+      q(7474) => q(xra),
+      q(7475) => q(xrb),
+      q(7476) => q(xrd),
+      q(7477) => q(xre),
+      q(7478) => q(xrg),
+      q(7479) => q(xri),
+      q(7480) => q(xrm),
+      q(7481) => q(xrn),
+      q(7482) => q(xrq),
+      q(7483) => q(xrr),
+      q(7484) => q(xrt),
+      q(7485) => q(xru),
+      q(7486) => q(xrw),
+      q(7487) => q(xsa),
+      q(7488) => q(xsb),
+      q(7489) => q(xsc),
+      q(7490) => q(xsd),
+      q(7491) => q(xse),
+      q(7492) => q(xsh),
+      q(7493) => q(xsi),
+      q(7494) => q(xsl),
+      q(7495) => q(xsm),
+      q(7496) => q(xsn),
+      q(7497) => q(xso),
+      q(7498) => q(xsp),
+      q(7499) => q(xsq),
+      q(7500) => q(xsr),
+      q(7501) => q(xss),
+      q(7502) => q(xsu),
+      q(7503) => q(xsv),
+      q(7504) => q(xsy),
+      q(7505) => q(xta),
+      q(7506) => q(xtb),
+      q(7507) => q(xtc),
+      q(7508) => q(xtd),
+      q(7509) => q(xte),
+      q(7510) => q(xtg),
+      q(7511) => q(xth),
+      q(7512) => q(xti),
+      q(7513) => q(xtj),
+      q(7514) => q(xtl),
+      q(7515) => q(xtm),
+      q(7516) => q(xtn),
+      q(7517) => q(xto),
+      q(7518) => q(xtp),
+      q(7519) => q(xtq),
+      q(7520) => q(xtr),
+      q(7521) => q(xts),
+      q(7522) => q(xtt),
+      q(7523) => q(xtu),
+      q(7524) => q(xtv),
+      q(7525) => q(xtw),
+      q(7526) => q(xty),
+      q(7527) => q(xtz),
+      q(7528) => q(xua),
+      q(7529) => q(xub),
+      q(7530) => q(xud),
+      q(7531) => q(xug),
+      q(7532) => q(xuj),
+      q(7533) => q(xul),
+      q(7534) => q(xum),
+      q(7535) => q(xun),
+      q(7536) => q(xuo),
+      q(7537) => q(xup),
+      q(7538) => q(xur),
+      q(7539) => q(xut),
+      q(7540) => q(xuu),
+      q(7541) => q(xve),
+      q(7542) => q(xvi),
+      q(7543) => q(xvn),
+      q(7544) => q(xvo),
+      q(7545) => q(xvs),
+      q(7546) => q(xwa),
+      q(7547) => q(xwc),
+      q(7548) => q(xwd),
+      q(7549) => q(xwe),
+      q(7550) => q(xwg),
+      q(7551) => q(xwj),
+      q(7552) => q(xwk),
+      q(7553) => q(xwl),
+      q(7554) => q(xwo),
+      q(7555) => q(xwr),
+      q(7556) => q(xwt),
+      q(7557) => q(xww),
+      q(7558) => q(xxb),
+      q(7559) => q(xxk),
+      q(7560) => q(xxm),
+      q(7561) => q(xxr),
+      q(7562) => q(xxt),
+      q(7563) => q(xya),
+      q(7564) => q(xyb),
+      q(7565) => q(xyj),
+      q(7566) => q(xyk),
+      q(7567) => q(xyl),
+      q(7568) => q(xyt),
+      q(7569) => q(xyy),
+      q(7570) => q(xzh),
+      q(7571) => q(xzm),
+      q(7572) => q(xzp),
+      q(7573) => q(yaa),
+      q(7574) => q(yab),
+      q(7575) => q(yac),
+      q(7576) => q(yad),
+      q(7577) => q(yae),
+      q(7578) => q(yaf),
+      q(7579) => q(yag),
+      q(7580) => q(yah),
+      q(7581) => q(yai),
+      q(7582) => q(yaj),
+      q(7583) => q(yak),
+      q(7584) => q(yal),
+      q(7585) => q(yam),
+      q(7586) => q(yan),
+      q(7587) => q(yaq),
+      q(7588) => q(yar),
+      q(7589) => q(yas),
+      q(7590) => q(yat),
+      q(7591) => q(yau),
+      q(7592) => q(yav),
+      q(7593) => q(yaw),
+      q(7594) => q(yax),
+      q(7595) => q(yay),
+      q(7596) => q(yaz),
+      q(7597) => q(yba),
+      q(7598) => q(ybb),
+      q(7599) => q(ybe),
+      q(7600) => q(ybh),
+      q(7601) => q(ybi),
+      q(7602) => q(ybj),
+      q(7603) => q(ybk),
+      q(7604) => q(ybl),
+      q(7605) => q(ybm),
+      q(7606) => q(ybn),
+      q(7607) => q(ybo),
+      q(7608) => q(ybx),
+      q(7609) => q(yby),
+      q(7610) => q(ych),
+      q(7611) => q(ycl),
+      q(7612) => q(ycn),
+      q(7613) => q(ycp),
+      q(7614) => q(yda),
+      q(7615) => q(ydd),
+      q(7616) => q(yde),
+      q(7617) => q(ydg),
+      q(7618) => q(ydk),
+      q(7619) => q(yea),
+      q(7620) => q(yec),
+      q(7621) => q(yee),
+      q(7622) => q(yei),
+      q(7623) => q(yej),
+      q(7624) => q(yel),
+      q(7625) => q(yer),
+      q(7626) => q(yes),
+      q(7627) => q(yet),
+      q(7628) => q(yeu),
+      q(7629) => q(yev),
+      q(7630) => q(yey),
+      q(7631) => q(yga),
+      q(7632) => q(ygi),
+      q(7633) => q(ygl),
+      q(7634) => q(ygm),
+      q(7635) => q(ygp),
+      q(7636) => q(ygr),
+      q(7637) => q(ygs),
+      q(7638) => q(ygu),
+      q(7639) => q(ygw),
+      q(7640) => q(yha),
+      q(7641) => q(yhd),
+      q(7642) => q(yhl),
+      q(7643) => q(yhs),
       q(7644) => q(yia),
       q(7645) => q(yig),
       q(7646) => q(yih),
index 3bf73c5..f697467 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Language_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Feb 20 15:27:22 GMT 2015
+#    Generated on: Mon Jun  1 13:35:17 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Retired{'language'}{'alpha-2'}{'code'} = {
    q(in) => q(Indonesian),
index 94130a9..e021c58 100644 (file)
@@ -22,7 +22,7 @@ use Locale::Codes::Script_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.34';
+$VERSION='3.35';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2script
                 script2code
index b62d148..e4e1d40 100644 (file)
@@ -18,7 +18,7 @@ Locale::Codes::Script - standard codes for script identification
 
 =head1 DESCRIPTION
 
-The C<Locale::Codes::Script> module provides access to standards codes used
+This module provides access to standards codes used
 for identifying scripts, such as those defined in ISO 15924.
 
 Most of the routines take an optional additional argument which
@@ -61,33 +61,33 @@ for Phoenician.
 
 =over 4
 
-=item B<code2script ( CODE [,CODESET] [,'retired'])>
+=item B<code2script(CODE [,CODESET] [,'retired'])>
 
-=item B<script2code ( NAME [,CODESET] [,'retired'])>
+=item B<script2code(NAME [,CODESET] [,'retired'])>
 
-=item B<script_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<script_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_script_codes ( [CODESET] [,'retired'])>
+=item B<all_script_codes([CODESET] [,'retired'])>
 
-=item B<all_script_names ( [CODESET] [,'retired'])>
+=item B<all_script_names([CODESET] [,'retired'])>
 
-=item B<Locale::Codes::Script::rename_script  ( CODE ,NEW_NAME [,CODESET] )>
+=item B<Locale::Codes::Script::rename_script(CODE ,NEW_NAME [,CODESET])>
 
-=item B<Locale::Codes::Script::add_script  ( CODE ,NAME [,CODESET] )>
+=item B<Locale::Codes::Script::add_script(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Codes::Script::delete_script  ( CODE [,CODESET] )>
+=item B<Locale::Codes::Script::delete_script(CODE [,CODESET])>
 
-=item B<Locale::Codes::Script::add_script_alias  ( NAME ,NEW_NAME )>
+=item B<Locale::Codes::Script::add_script_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::Script::delete_script_alias  ( NAME )>
+=item B<Locale::Codes::Script::delete_script_alias(NAME)>
 
-=item B<Locale::Codes::Script::rename_script_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::Script::rename_script_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::Script::add_script_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Codes::Script::add_script_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::Script::delete_script_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Codes::Script::delete_script_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =back
 
@@ -95,19 +95,19 @@ These routines are all documented in the Locale::Codes::API man page.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<http://www.unicode.org/iso15924/>
+=item L<http://www.unicode.org/iso15924/>
 
 Home page for ISO 15924.
 
-=item B<http://www.iana.org/assignments/language-subtag-registry>
+=item L<http://www.iana.org/assignments/language-subtag-registry>
 
 The IANA language subtag registry.
 
index 1e8f0de..d4dd585 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Script_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Thu Feb 19 20:50:29 GMT 2015
+#    Generated on: Mon Jun  1 10:50:41 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Data{'script'}{'id'} = '0173';
 
index eb4d17c..25bcdb6 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Script_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Feb 20 15:27:22 GMT 2015
+#    Generated on: Mon Jun  1 13:35:17 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.34';
+$VERSION='3.35';
 
 $Locale::Codes::Retired{'script'}{'alpha'}{'code'} = {
 };
index 9dd896c..faa6629 100644 (file)
@@ -10,7 +10,7 @@ use warnings;
 use Exporter;
 
 our $VERSION;
-$VERSION='3.34';
+$VERSION='3.35';
 
 our (@ISA,@EXPORT);
 
index 133a9d6..e35c4f1 100644 (file)
@@ -20,7 +20,7 @@ Locale::Country - standard codes for country identification
 
 =head1 DESCRIPTION
 
-The C<Locale::Country> module provides access to several code sets
+This module provides access to several code sets
 that can be used for identifying countries, such as those defined in
 ISO 3166-1.
 
@@ -80,33 +80,33 @@ Locale::Codes::Changes document for details.
 
 =over 4
 
-=item B<code2country ( CODE [,CODESET] [,'retired'])>
+=item B<code2country(CODE [,CODESET] [,'retired'])>
 
-=item B<country2code ( NAME [,CODESET] [,'retired'])>
+=item B<country2code(NAME [,CODESET] [,'retired'])>
 
-=item B<country_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<country_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_country_codes ( [CODESET] [,'retired'])>
+=item B<all_country_codes([CODESET] [,'retired'])>
 
-=item B<all_country_names ( [CODESET] [,'retired'])>
+=item B<all_country_names([CODESET] [,'retired'])>
 
-=item B<Locale::Country::rename_country  ( CODE ,NEW_NAME [,CODESET] )>
+=item B<Locale::Country::rename_country(CODE ,NEW_NAME [,CODESET])>
 
-=item B<Locale::Country::add_country  ( CODE ,NAME [,CODESET] )>
+=item B<Locale::Country::add_country(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Country::delete_country  ( CODE [,CODESET] )>
+=item B<Locale::Country::delete_country(CODE [,CODESET])>
 
-=item B<Locale::Country::add_country_alias  ( NAME ,NEW_NAME )>
+=item B<Locale::Country::add_country_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Country::delete_country_alias  ( NAME )>
+=item B<Locale::Country::delete_country_alias(NAME)>
 
-=item B<Locale::Country::rename_country_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Country::rename_country_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Country::add_country_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Country::add_country_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Country::delete_country_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Country::delete_country_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =item B<alias_code ( ALIAS, CODE [,CODESET] )>
 
@@ -137,35 +137,35 @@ all 2.X releases, but has been dropped as of 3.00.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<Locale::SubCountry>
+=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 B<http://www.iso.org/iso/home/standards/country_codes.htm>
+=item L<http://www.iso.org/iso/home/standards/country_codes.htm>
 
 Official home page for the ISO 3166 maintenance agency.
 
-=item B<http://www.iso.org/iso/home/standards/country_codes/iso-3166-1_decoding_table.htm>
+=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 B<http://www.iana.org/domains/root/db/>
+=item L<http://www.iana.org/domains/root/db/>
 
 Official source of the top-level domain names.
 
-=item B<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
+=item L<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
 
 The source of the official ISO 3166-1 three-letter codes and
 three-digit codes.
@@ -174,13 +174,13 @@ For some reason, this table is incomplete! Several countries are
 missing from it, and I cannot find them anywhere on the UN site.  I
 no longer use this as a source of data.
 
-=item B<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
+=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 B<http://www.statoids.com/wab.html>
+=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
index 26535d1..b68c8da 100644 (file)
@@ -10,7 +10,7 @@ use warnings;
 use Exporter;
 
 our $VERSION;
-$VERSION='3.34';
+$VERSION='3.35';
 
 our (@ISA,@EXPORT);
 
index 6b52d7f..22cafaf 100644 (file)
@@ -14,11 +14,10 @@ Locale::Currency - standard codes for currency identification
     @codes   = all_currency_codes();
     @names   = all_currency_names();
 
-
 =head1 DESCRIPTION
 
-The C<Locale::Currency> module provides access to standard codes used
-for identifying currencies and funds, such as those defined in ISO 4217.
+This module provides access to standard codes used for identifying
+currencies and funds, such as those defined in ISO 4217.
 
 Most of the routines take an optional additional argument which
 specifies the code set to use. If not specified, the default ISO
@@ -60,33 +59,33 @@ This is the set of three-digit numeric codes from ISO 4217.
 
 =over 4
 
-=item B<code2currency ( CODE [,CODESET] [,'retired'])>
+=item B<code2currency(CODE [,CODESET] [,'retired'])>
 
-=item B<currency2code ( NAME [,CODESET] [,'retired'])>
+=item B<currency2code(NAME [,CODESET] [,'retired'])>
 
-=item B<currency_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<currency_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_currency_codes ( [CODESET] [,'retired'])>
+=item B<all_currency_codes([CODESET] [,'retired'])>
 
-=item B<all_currency_names ( [CODESET] [,'retired'])>
+=item B<all_currency_names([CODESET] [,'retired'])>
 
-=item B<Locale::Currency::rename_currency  ( CODE ,NEW_NAME [,CODESET] )>
+=item B<Locale::Currency::rename_currency(CODE ,NEW_NAME [,CODESET])>
 
-=item B<Locale::Currency::add_currency  ( CODE ,NAME [,CODESET] )>
+=item B<Locale::Currency::add_currency(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Currency::delete_currency  ( CODE [,CODESET] )>
+=item B<Locale::Currency::delete_currency(CODE [,CODESET])>
 
-=item B<Locale::Currency::add_currency_alias  ( NAME ,NEW_NAME )>
+=item B<Locale::Currency::add_currency_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Currency::delete_currency_alias  ( NAME )>
+=item B<Locale::Currency::delete_currency_alias(NAME)>
 
-=item B<Locale::Currency::rename_currency_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Currency::rename_currency_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Currency::add_currency_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Currency::add_currency_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Currency::delete_currency_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Currency::delete_currency_code_alias( ODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =back
 
@@ -94,15 +93,15 @@ These routines are all documented in the Locale::Codes::API man page.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
+=item L<http://www.iso.org/iso/support/currency_codes_list-1.htm>
 
 The ISO 4217 data.
 
index bf3afa4..a14a879 100644 (file)
@@ -10,7 +10,7 @@ use warnings;
 use Exporter;
 
 our $VERSION;
-$VERSION='3.34';
+$VERSION='3.35';
 
 our (@ISA,@EXPORT);
 
index 771aa8a..d7e4bd8 100644 (file)
@@ -16,7 +16,7 @@ Locale::Language - standard codes for language identification
 
 =head1 DESCRIPTION
 
-The C<Locale::Language> module provides access to standard codes used
+This module provides access to standard codes used
 for identifying languages, such as those as defined in ISO 639.
 
 Most of the routines take an optional additional argument which
@@ -63,33 +63,33 @@ ISO 639.
 
 =over 4
 
-=item B<code2language ( CODE [,CODESET] [,'retired'])>
+=item B<code2language(CODE [,CODESET] [,'retired'])>
 
-=item B<language2code ( NAME [,CODESET] [,'retired'])>
+=item B<language2code(NAME [,CODESET] [,'retired'])>
 
-=item B<language_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<language_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_language_codes ( [CODESET] [,'retired'])>
+=item B<all_language_codes([CODESET] [,'retired'])>
 
-=item B<all_language_names ( [CODESET] [,'retired'])>
+=item B<all_language_names([CODESET] [,'retired'])>
 
-=item B<Locale::Language::rename_language  ( CODE ,NEW_NAME [,CODESET] )>
+=item B<Locale::Language::rename_language(CODE ,NEW_NAME [,CODESET])>
 
-=item B<Locale::Language::add_language  ( CODE ,NAME [,CODESET] )>
+=item B<Locale::Language::add_language(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Language::delete_language  ( CODE [,CODESET] )>
+=item B<Locale::Language::delete_language(CODE [,CODESET])>
 
-=item B<Locale::Language::add_language_alias  ( NAME ,NEW_NAME )>
+=item B<Locale::Language::add_language_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Language::delete_language_alias  ( NAME )>
+=item B<Locale::Language::delete_language_alias(NAME)>
 
-=item B<Locale::Language::rename_language_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Language::rename_language_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Language::add_language_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Language::add_language_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Language::delete_language_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Language::delete_language_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =back
 
@@ -97,23 +97,23 @@ These routines are all documented in the Locale::Codes::API man page.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<http://www.loc.gov/standards/iso639-2/>
+=item L<http://www.loc.gov/standards/iso639-2/>
 
 Source of the ISO 639-2 codes.
 
-=item B<http://www.loc.gov/standards/iso639-5/>
+=item L<http://www.loc.gov/standards/iso639-5/>
 
 Source of the ISO 639-5 codes.
 
-=item B<http://www.iana.org/assignments/language-subtag-registry>
+=item L<http://www.iana.org/assignments/language-subtag-registry>
 
 The IANA language subtag registry.
 
index 185935d..6a8ac38 100644 (file)
@@ -10,7 +10,7 @@ use warnings;
 use Exporter;
 
 our $VERSION;
-$VERSION='3.34';
+$VERSION='3.35';
 
 our (@ISA,@EXPORT);
 
index a1c2c81..c06f1b1 100644 (file)
@@ -18,7 +18,7 @@ Locale::Script - standard codes for script identification
 
 =head1 DESCRIPTION
 
-The C<Locale::Script> module provides access to standards codes used
+This module provides access to standards codes used
 for identifying scripts, such as those defined in ISO 15924.
 
 Most of the routines take an optional additional argument which
@@ -61,33 +61,33 @@ for Phoenician.
 
 =over 4
 
-=item B<code2script ( CODE [,CODESET] [,'retired'])>
+=item B<code2script(CODE [,CODESET] [,'retired'])>
 
-=item B<script2code ( NAME [,CODESET] [,'retired'])>
+=item B<script2code(NAME [,CODESET] [,'retired'])>
 
-=item B<script_code2code ( CODE ,CODESET ,CODESET2 )>
+=item B<script_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<all_script_codes ( [CODESET] [,'retired'])>
+=item B<all_script_codes([CODESET] [,'retired'])>
 
-=item B<all_script_names ( [CODESET] [,'retired'])>
+=item B<all_script_names([CODESET] [,'retired'])>
 
-=item B<Locale::Script::rename_script  ( CODE ,NEW_NAME [,CODESET] )>
+=item B<Locale::Script::rename_script(CODE ,NEW_NAME [,CODESET])>
 
-=item B<Locale::Script::add_script  ( CODE ,NAME [,CODESET] )>
+=item B<Locale::Script::add_script(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Script::delete_script  ( CODE [,CODESET] )>
+=item B<Locale::Script::delete_script(CODE [,CODESET])>
 
-=item B<Locale::Script::add_script_alias  ( NAME ,NEW_NAME )>
+=item B<Locale::Script::add_script_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Script::delete_script_alias  ( NAME )>
+=item B<Locale::Script::delete_script_alias(NAME)>
 
-=item B<Locale::Script::rename_script_code  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Script::rename_script_code(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Script::add_script_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+=item B<Locale::Script::add_script_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Script::delete_script_code_alias  ( CODE [,CODESET] )>
+=item B<Locale::Script::delete_script_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the Locale::Codes::API man page.
+These routines are all documented in the L<Locale::Codes::API> man page.
 
 =back
 
@@ -95,19 +95,19 @@ These routines are all documented in the Locale::Codes::API man page.
 
 =over 4
 
-=item B<Locale::Codes>
+=item L<Locale::Codes>
 
 The Locale-Codes distribution.
 
-=item B<Locale::Codes::API>
+=item L<Locale::Codes::API>
 
 The list of functions supported by this module.
 
-=item B<http://www.unicode.org/iso15924/>
+=item L<http://www.unicode.org/iso15924/>
 
 Home page for ISO 15924.
 
-=item B<http://www.iana.org/assignments/language-subtag-registry>
+=item L<http://www.iana.org/assignments/language-subtag-registry>
 
 The IANA language subtag registry.
 
index 9e61670..30760f3 100644 (file)
@@ -1,5 +1,5 @@
 package Locale::Maketext::Simple;
-$Locale::Maketext::Simple::VERSION = '0.21_01';
+$Locale::Maketext::Simple::VERSION = '0.21';
 
 use strict;
 use 5.005;
@@ -134,12 +134,7 @@ sub load_loc {
     my $pkg = join('::', grep { defined and length } $args{Class}, $args{Subclass});
     return $Loc{$pkg} if exists $Loc{$pkg};
 
-    eval {
-        local @INC = @INC;
-        pop @INC if $INC[-1] eq '.';
-        require Locale::Maketext::Lexicon;
-        1
-    } or return;
+    eval { require Locale::Maketext::Lexicon; 1 }   or return;
     $Locale::Maketext::Lexicon::VERSION > 0.20     or return;
     eval { require File::Spec; 1 }                 or return;
 
index f4e6522..9a58c4a 100644 (file)
@@ -9,7 +9,7 @@
 # write to mjd-perl-memoize+@plover.com for a license.
 
 package Memoize;
-$VERSION = '1.03_01';
+$VERSION = '1.03';
 
 # Compile-time constants
 sub SCALAR () { 0 } 
@@ -184,11 +184,7 @@ sub _my_tie {
   }
   my $modulefile = $module . '.pm';
   $modulefile =~ s{::}{/}g;
-  eval {
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
-    require $modulefile
-  };
+  eval { require $modulefile };
   if ($@) {
     croak "Memoize: Couldn't load hash tie module `$module': $@; aborting";
   }
index 7ea1210..2fa75c1 100644 (file)
@@ -1,6 +1,6 @@
 # -*- mode: cperl; tab-width: 8; indent-tabs-mode: nil; basic-offset: 2 -*-
 # vim:ts=8:sw=2:et:sta:sts=2
-package Module::Metadata; # git description: v1.000025-7-g47ca1b2
+package Module::Metadata; # git description: v1.000026-12-g9b12bf1
 
 # Adapted from Perl-licensed code originally distributed with
 # Module-Build by Ken Williams
@@ -13,7 +13,7 @@ sub __clean_eval { eval $_[0] }
 use strict;
 use warnings;
 
-our $VERSION = '1.000026';
+our $VERSION = '1.000027';
 
 use Carp qw/croak/;
 use File::Spec;
@@ -26,7 +26,10 @@ BEGIN {
 use version 0.87;
 BEGIN {
   if ($INC{'Log/Contextual.pm'}) {
-    Log::Contextual->import('log_info');
+    require "Log/Contextual/WarnLogger.pm"; # Hide from AutoPrereqs
+    Log::Contextual->import('log_info',
+      '-default_logger' => Log::Contextual::WarnLogger->new({ env_prefix => 'MODULE_METADATA', }),
+    );
   } else {
     *log_info = sub (&) { warn $_[0]->() };
   }
@@ -814,13 +817,9 @@ This module provides a standard way to gather metadata about a .pm file through
 version of a module, the C<$VERSION> assignment is C<eval>ed, as is traditional
 in the CPAN toolchain.
 
-=head1 USAGE
-
-=head2 Class methods
-
-=over 4
+=head1 CLASS METHODS
 
-=item C<< new_from_file($filename, collect_pod => 1) >>
+=head2 C<< new_from_file($filename, collect_pod => 1) >>
 
 Constructs a C<Module::Metadata> object given the path to a file.  Returns
 undef if the filename does not exist.
@@ -833,7 +832,7 @@ If the file begins by an UTF-8, UTF-16BE or UTF-16LE byte-order mark, then
 it is skipped before processing, and the content of the file is also decoded
 appropriately starting from perl 5.8.
 
-=item C<< new_from_handle($handle, $filename, collect_pod => 1) >>
+=head2 C<< new_from_handle($handle, $filename, collect_pod => 1) >>
 
 This works just like C<new_from_file>, except that a handle can be provided
 as the first argument.
@@ -846,7 +845,7 @@ mandatory or undef will be returned.
 You are responsible for setting the decoding layers on C<$handle> if
 required.
 
-=item C<< new_from_module($module, collect_pod => 1, inc => \@dirs) >>
+=head2 C<< new_from_module($module, collect_pod => 1, inc => \@dirs) >>
 
 Constructs a C<Module::Metadata> object given a module or package name.
 Returns undef if the module cannot be found.
@@ -860,7 +859,7 @@ If the file that contains the module begins by an UTF-8, UTF-16BE or
 UTF-16LE byte-order mark, then it is skipped before processing, and the
 content of the file is also decoded appropriately starting from perl 5.8.
 
-=item C<< find_module_by_name($module, \@dirs) >>
+=head2 C<< find_module_by_name($module, \@dirs) >>
 
 Returns the path to a module given the module or package name. A list
 of directories can be passed in as an optional parameter, otherwise
@@ -868,7 +867,7 @@ of directories can be passed in as an optional parameter, otherwise
 
 Can be called as either an object or a class method.
 
-=item C<< find_module_dir_by_name($module, \@dirs) >>
+=head2 C<< find_module_dir_by_name($module, \@dirs) >>
 
 Returns the entry in C<@dirs> (or C<@INC> by default) that contains
 the module C<$module>. A list of directories can be passed in as an
@@ -876,7 +875,7 @@ optional parameter, otherwise @INC is searched.
 
 Can be called as either an object or a class method.
 
-=item C<< provides( %options ) >>
+=head2 C<< provides( %options ) >>
 
 This is a convenience wrapper around C<package_versions_from_directory>
 to generate a CPAN META C<provides> data structure.  It takes key/value
@@ -925,7 +924,7 @@ is a hashref of the form:
     'OtherPackage::Name' => ...
   }
 
-=item C<< package_versions_from_directory($dir, \@files?) >>
+=head2 C<< package_versions_from_directory($dir, \@files?) >>
 
 Scans C<$dir> for .pm files (unless C<@files> is given, in which case looks
 for those files in C<$dir> - and reads each file for packages and versions,
@@ -947,36 +946,33 @@ Note that the file path is relative to C<$dir> if that is specified.
 This B<must not> be used directly for CPAN META C<provides>.  See
 the C<provides> method instead.
 
-=item C<< log_info (internal) >>
+=head2 C<< log_info (internal) >>
 
 Used internally to perform logging; imported from Log::Contextual if
 Log::Contextual has already been loaded, otherwise simply calls warn.
 
-=back
-
-=head2 Object methods
+=head1 OBJECT METHODS
 
-=over 4
-
-=item C<< name() >>
+=head2 C<< name() >>
 
 Returns the name of the package represented by this module. If there
 is more than one package, it makes a best guess based on the
 filename. If it's a script (i.e. not a *.pm) the package name is
 'main'.
 
-=item C<< version($package) >>
+=head2 C<< version($package) >>
 
 Returns the version as defined by the $VERSION variable for the
 package as returned by the C<name> method if no arguments are
 given. If given the name of a package it will attempt to return the
 version of that package if it is specified in the file.
 
-=item C<< filename() >>
+=head2 C<< filename() >>
 
 Returns the absolute path to the file.
+Note that this file may not actually exist on disk yet, e.g. if the module was read from an in-memory filehandle.
 
-=item C<< packages_inside() >>
+=head2 C<< packages_inside() >>
 
 Returns a list of packages. Note: this is a raw list of packages
 discovered (or assumed, in the case of C<main>).  It is not
@@ -986,27 +982,25 @@ for example "Foo:Bar".  Strange but valid package names are
 returned, for example "Foo::Bar::", and are left up to the caller
 on how to handle.
 
-=item C<< pod_inside() >>
+=head2 C<< pod_inside() >>
 
 Returns a list of POD sections.
 
-=item C<< contains_pod() >>
+=head2 C<< contains_pod() >>
 
 Returns true if there is any POD in the file.
 
-=item C<< pod($section) >>
+=head2 C<< pod($section) >>
 
 Returns the POD data in the given section.
 
-=item C<< is_indexable($package) >> or C<< is_indexable() >>
+=head2 C<< is_indexable($package) >> or C<< is_indexable() >>
 
 Returns a boolean indicating whether the package (if provided) or any package
 (otherwise) is eligible for indexing by PAUSE, the Perl Authors Upload Server.
 Note This only checks for valid C<package> declarations, and does not take any
 ownership information into account.
 
-=back
-
 =head1 AUTHOR
 
 Original code from Module::Build::ModuleInfo by Ken Williams
@@ -1025,4 +1019,3 @@ This library is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
 
 =cut
-
index ca92863..67c68a9 100644 (file)
@@ -1,4 +1,3 @@
-#!/usr/bin/perl -w
 # -*- mode: cperl; tab-width: 8; indent-tabs-mode: nil; basic-offset: 2 -*-
 # vim:ts=8:sw=2:et:sta:sts=2
 
index 80ae7ea..18f0300 100644 (file)
@@ -2,7 +2,9 @@
 use strict;
 use warnings;
 
-use Test::More tests => 2;
+use Config;
+use Test::More $Config{ccflags} =~ /-DSILENT_NO_TAINT_SUPPORT/
+    ? ( skip_all => 'No taint support' ) : ( tests => 2 );
 use Module::Metadata;
 use Carp 'croak';
 
index 1285ad5..77a0764 100644 (file)
@@ -2,7 +2,8 @@ use 5.008001;
 use strict;
 package Parse::CPAN::Meta;
 # ABSTRACT: Parse META.yml and META.json CPAN metadata files
-our $VERSION = '1.4414_001'; # VERSION
+
+our $VERSION = '1.4417';
 
 use Exporter;
 use Carp 'croak';
@@ -55,7 +56,7 @@ sub load_json_string {
 }
 
 sub yaml_backend {
-  if ($ENV{PERL_CORE} or not defined $ENV{PERL_YAML_BACKEND} ) {
+  if (! defined $ENV{PERL_YAML_BACKEND} ) {
     _can_load( 'CPAN::Meta::YAML', 0.011 )
       or croak "CPAN::Meta::YAML 0.011 is not available\n";
     return "CPAN::Meta::YAML";
@@ -71,7 +72,7 @@ sub yaml_backend {
 }
 
 sub json_backend {
-  if ($ENV{PERL_CORE} or ! $ENV{PERL_JSON_BACKEND} or $ENV{PERL_JSON_BACKEND} eq 'JSON::PP') {
+  if (! $ENV{PERL_JSON_BACKEND} or $ENV{PERL_JSON_BACKEND} eq 'JSON::PP') {
     _can_load( 'JSON::PP' => 2.27103 )
       or croak "JSON::PP 2.27103 is not available\n";
     return 'JSON::PP';
@@ -110,12 +111,12 @@ sub _can_load {
 
 # Kept for backwards compatibility only
 # Create an object from a file
-sub LoadFile ($) {
+sub LoadFile ($) { ## no critic
   return Load(_slurp(shift));
 }
 
 # Parse a document from a string.
-sub Load ($) {
+sub Load ($) { ## no critic
   require CPAN::Meta::YAML;
   my $object = eval { CPAN::Meta::YAML::Load(shift) };
   croak $@ if $@;
@@ -136,7 +137,7 @@ Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files
 
 =head1 VERSION
 
-version 1.4414
+version 1.4417
 
 =head1 SYNOPSIS
 
@@ -283,7 +284,7 @@ will be thrown.
 =head2 Bugs / Feature Requests
 
 Please report any bugs or feature requests through the issue tracker
-at L<http://rt.cpan.org/Public/Dist/Display.html?Name=Parse-CPAN-Meta>.
+at L<https://github.com/Perl-Toolchain-Gang/Parse-CPAN-Meta/issues>.
 You will be notified automatically of any progress on your issue.
 
 =head2 Source Code
@@ -311,6 +312,8 @@ David Golden <dagolden@cpan.org>
 
 =head1 CONTRIBUTORS
 
+=for stopwords Graham Knop Joshua ben Jore Karen Etheridge Neil Bowers Ricardo Signes Steffen Mueller
+
 =over 4
 
 =item *
@@ -323,6 +326,10 @@ Joshua ben Jore <jjore@cpan.org>
 
 =item *
 
+Karen Etheridge <ether@cpan.org>
+
+=item *
+
 Neil Bowers <neil@bowers.com>
 
 =item *
@@ -337,7 +344,7 @@ Steffen Mueller <smueller@cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by Adam Kennedy and Contributors.
+This software is copyright (c) 2015 by Adam Kennedy and Contributors.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
index 2791c25..5f94bc7 100644 (file)
@@ -54,55 +54,62 @@ my $meta_yaml = catfile( test_data_directory(), 'META-VR.yml' );
 my $yaml_meta = catfile( test_data_directory(), 'yaml.meta' );
 my $json_meta = catfile( test_data_directory(), 'json.meta' );
 my $bare_yaml_meta = catfile( test_data_directory(), 'bareyaml.meta' );
+my $bad_yaml_meta = catfile( test_data_directory(), 'BadMETA.yml' );
 
 ### YAML tests
 {
-  local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML
+  local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML
 
-  is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend()');
+  is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML');
   my $from_yaml = Parse::CPAN::Meta->load_file( $meta_yaml );
   is_deeply($from_yaml, $want, "load from YAML file results in expected data");
 }
 
 {
-  local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML
+  local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML
 
-  is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend()');
+  note '';
+  is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML');
   my $from_yaml = Parse::CPAN::Meta->load_file( $yaml_meta );
   is_deeply($from_yaml, $want, "load from YAML .meta file results in expected data");
 }
 
 {
-  local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML
+  local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML
 
-  is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend()');
+  note '';
+  is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML');
   my $from_yaml = Parse::CPAN::Meta->load_file( $bare_yaml_meta );
   is_deeply($from_yaml, $want, "load from bare YAML .meta file results in expected data");
 }
 
 {
-  local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML
+  local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML
 
+  note '';
+  is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML');
   my $yaml   = load_ok( 'META-VR.yml', $meta_yaml, 100);
   my $from_yaml = Parse::CPAN::Meta->load_yaml_string( $yaml );
   is_deeply($from_yaml, $want, "load from YAML str results in expected data");
 }
 
 {
-  local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML
+  local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML
 
-  my @yaml   = Parse::CPAN::Meta::LoadFile( 't/data/BadMETA.yml' );
+  note '';
+  is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML');
+  my @yaml   = Parse::CPAN::Meta::LoadFile( $bad_yaml_meta );
   is($yaml[0]{author}[0], 'Olivier Mengu\xE9', "Bad UTF-8 is replaced");
 }
 
 
 SKIP: {
-  skip 'these tests are for cpan builds only', 2 if $ENV{PERL_CORE};
+  note '';
   skip "YAML module not installed", 2
     unless eval "require YAML; 1";
   local $ENV{PERL_YAML_BACKEND} = 'YAML';
 
-  is(Parse::CPAN::Meta->yaml_backend(), 'YAML', 'yaml_backend()');
+  is(Parse::CPAN::Meta->yaml_backend(), 'YAML', 'yaml_backend(): YAML');
   my $yaml   = load_ok( 'META-VR.yml', $meta_yaml, 100);
   my $from_yaml = Parse::CPAN::Meta->load_yaml_string( $yaml );
   is_deeply($from_yaml, $want, "load_yaml_string using PERL_YAML_BACKEND");
@@ -111,26 +118,30 @@ SKIP: {
 ### JSON tests
 {
   # JSON tests with JSON::PP
-  local $ENV{PERL_JSON_BACKEND} if not $ENV{PERL_CORE}; # ensure we get JSON::PP
+  local $ENV{PERL_JSON_BACKEND}; # ensure we get JSON::PP
 
-  is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend()');
+  note '';
+  is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP');
   my $from_json = Parse::CPAN::Meta->load_file( $meta_json );
   is_deeply($from_json, $want, "load from JSON file results in expected data");
 }
 
 {
   # JSON tests with JSON::PP
-  local $ENV{PERL_JSON_BACKEND} if not $ENV{PERL_CORE}; # ensure we get JSON::PP
+  local $ENV{PERL_JSON_BACKEND}; # ensure we get JSON::PP
 
-  is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend()');
+  note '';
+  is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP');
   my $from_json = Parse::CPAN::Meta->load_file( $json_meta );
   is_deeply($from_json, $want, "load from JSON .meta file results in expected data");
 }
 
 {
   # JSON tests with JSON::PP
-  local $ENV{PERL_JSON_BACKEND} if not $ENV{PERL_CORE}; # ensure we get JSON::PP
+  local $ENV{PERL_JSON_BACKEND}; # ensure we get JSON::PP
 
+  note '';
+  is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP');
   my $json   = load_ok( 'META-VR.json', $meta_json, 100);
   my $from_json = Parse::CPAN::Meta->load_json_string( $json );
   is_deeply($from_json, $want, "load from JSON str results in expected data");
@@ -138,8 +149,10 @@ SKIP: {
 
 {
   # JSON tests with JSON::PP, take 2
-  local $ENV{PERL_JSON_BACKEND} = 0 if not $ENV{PERL_CORE}; # request JSON::PP
+  local $ENV{PERL_JSON_BACKEND} = 0; # request JSON::PP
 
+  note '';
+  is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP');
   my $json   = load_ok( 'META-VR.json', $meta_json, 100);
   my $from_json = Parse::CPAN::Meta->load_json_string( $json );
   is_deeply($from_json, $want, "load_json_string with PERL_JSON_BACKEND = 0");
@@ -147,20 +160,22 @@ SKIP: {
 
 {
   # JSON tests with JSON::PP, take 3
-  local $ENV{PERL_JSON_BACKEND} = 'JSON::PP' if not $ENV{PERL_CORE}; # request JSON::PP
+  local $ENV{PERL_JSON_BACKEND} = 'JSON::PP'; # request JSON::PP
 
+  note '';
+  is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP');
   my $json   = load_ok( 'META-VR.json', $meta_json, 100);
   my $from_json = Parse::CPAN::Meta->load_json_string( $json );
   is_deeply($from_json, $want, "load_json_string with PERL_JSON_BACKEND = 'JSON::PP'");
 }
 
 SKIP: {
-  skip 'these tests are for cpan builds only', 2 if $ENV{PERL_CORE};
+  note '';
   skip "JSON module version 2.5 not installed", 2
     unless eval "require JSON; JSON->VERSION(2.5); 1";
   local $ENV{PERL_JSON_BACKEND} = 1;
 
-  is(Parse::CPAN::Meta->json_backend(), 'JSON', 'json_backend()');
+  is(Parse::CPAN::Meta->json_backend(), 'JSON', 'json_backend(): JSON');
   my $json   = load_ok( 'META-VR.json', $meta_json, 100);
   my $from_json = Parse::CPAN::Meta->load_json_string( $json );
   is_deeply($from_json, $want, "load_json_string with PERL_JSON_BACKEND = 1");
index 46024db..b6bb4f7 100644 (file)
@@ -16,7 +16,7 @@ BEGIN {
 }
 
 sub test_data_directory {
-       return( File::Spec->catdir(qw(t data)) );
+       return( "corpus" );
 }
 
 # 22 tests per call to yaml_ok
index 52ae015..969019d 100644 (file)
@@ -12,7 +12,7 @@ use File::Spec::Functions qw(catfile catdir splitdir);
 use vars qw($VERSION @Pagers $Bindir $Pod2man
   $Temp_Files_Created $Temp_File_Lifetime
 );
-$VERSION = '3.25_01';
+$VERSION = '3.25';
 
 #..........................................................................
 
@@ -573,9 +573,6 @@ sub find_good_formatter_class {
   my @class_list = @{ $self->{'formatter_classes'} || [] };
   $self->die( "WHAT?  Nothing in the formatter class list!?" ) unless @class_list;
 
-  local @INC = @INC;
-  pop @INC if $INC[-1] eq '.';
-
   my $good_class_found;
   foreach my $c (@class_list) {
     DEBUG > 4 and print "Trying to load $c...\n";
@@ -1007,8 +1004,6 @@ sub new_translator { # $tr = $self->new_translator($lang);
     my $self = shift;
     my $lang = shift;
 
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     my $pack = 'POD2::' . uc($lang);
     eval "require $pack";
     if ( !$@ && $pack->can('new') ) {
index 538969d..b9a1197 100644 (file)
@@ -18,7 +18,7 @@ use vars qw(
 );
 
 @ISA = ('Pod::Simple::BlackBox');
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 @Known_formatting_codes = qw(I B C L E F S X Z); 
 %Known_formatting_codes = map(($_=>1), @Known_formatting_codes);
@@ -48,6 +48,22 @@ if(DEBUG > 2) {
   print "# We are under a Unicode-safe Perl.\n";
 }
 
+# The NO BREAK SPACE and SOFT HYHPEN are used in several submodules.
+if ($] ge 5.007_003) {  # On sufficiently modern Perls we can handle any
+                        # character set
+  $Pod::Simple::nbsp = chr utf8::unicode_to_native(0xA0);
+  $Pod::Simple::shy  = chr utf8::unicode_to_native(0xAD);
+}
+elsif (Pod::Simple::ASCII) {  # Hard code ASCII early Perl
+  $Pod::Simple::nbsp = "\xA0";
+  $Pod::Simple::shy  = "\xAD";
+}
+else { # EBCDIC on early Perl.  We know what the values are for the code
+        # pages supported then.
+  $Pod::Simple::nbsp = "\x41";
+  $Pod::Simple::shy  = "\xCA";
+}
+
 # Design note:
 # This is a parser for Pod.  It is not a parser for the set of Pod-like
 #  languages which happens to contain Pod -- it is just for Pod, plus possibly
@@ -317,6 +333,13 @@ sub unaccept_targets {
 #
 # And now codes (not targets or directives)
 
+# XXX Probably it is an error that the digit '9' is excluded from these re's.
+# Broken for early Perls on EBCDIC
+my $xml_name_re = eval "qr/[^-.0-8:A-Z_a-z[:^ascii:]]/";
+if (! defined $xml_name_re) {
+    $xml_name_re = qr/[\x00-\x2C\x2F\x39\x3B-\x40\x5B-\x5E\x60\x7B-\x7F]/;
+}
+
 sub accept_code { shift->accept_codes(@_) } # alias
 
 sub accept_codes {  # Add some codes
@@ -324,20 +347,17 @@ sub accept_codes {  # Add some codes
   
   foreach my $new_code (@_) {
     next unless defined $new_code and length $new_code;
-    if(ASCII) {
-      # A good-enough check that it's good as an XML Name symbol:
-      Carp::croak "\"$new_code\" isn't a valid element name"
-        if $new_code =~
-          m/[\x00-\x2C\x2F\x39\x3B-\x40\x5B-\x5E\x60\x7B-\x7F]/
-            # Characters under 0x80 that aren't legal in an XML Name.
-        or $new_code =~ m/^[-\.0-9]/s
-        or $new_code =~ m/:[-\.0-9]/s;
-            # The legal under-0x80 Name characters that 
-            #  an XML Name still can't start with.
-    }
-    
+    # A good-enough check that it's good as an XML Name symbol:
+    Carp::croak "\"$new_code\" isn't a valid element name"
+      if $new_code =~ $xml_name_re
+          # Characters under 0x80 that aren't legal in an XML Name.
+      or $new_code =~ m/^[-\.0-9]/s
+      or $new_code =~ m/:[-\.0-9]/s;
+          # The legal under-0x80 Name characters that
+          #  an XML Name still can't start with.
+
     $this->{'accept_codes'}{$new_code} = $new_code;
-    
+
     # Yes, map to itself -- just so that when we
     #  see "=extend W [whatever] thatelementname", we say that W maps
     #  to whatever $this->{accept_codes}{thatelementname} is,
@@ -359,18 +379,15 @@ sub unaccept_codes { # remove some codes
   
   foreach my $new_code (@_) {
     next unless defined $new_code and length $new_code;
-    if(ASCII) {
-      # A good-enough check that it's good as an XML Name symbol:
-      Carp::croak "\"$new_code\" isn't a valid element name"
-        if $new_code =~
-          m/[\x00-\x2C\x2F\x39\x3B-\x40\x5B-\x5E\x60\x7B-\x7F]/
-            # Characters under 0x80 that aren't legal in an XML Name.
-        or $new_code =~ m/^[-\.0-9]/s
-        or $new_code =~ m/:[-\.0-9]/s;
-            # The legal under-0x80 Name characters that 
-            #  an XML Name still can't start with.
-    }
-    
+    # A good-enough check that it's good as an XML Name symbol:
+    Carp::croak "\"$new_code\" isn't a valid element name"
+      if $new_code =~ $xml_name_re
+          # Characters under 0x80 that aren't legal in an XML Name.
+      or $new_code =~ m/^[-\.0-9]/s
+      or $new_code =~ m/:[-\.0-9]/s;
+          # The legal under-0x80 Name characters that
+          #  an XML Name still can't start with.
+
     Carp::croak "But you must accept \"$new_code\" codes -- it's a builtin!"
      if grep $new_code eq $_, @Known_formatting_codes;
 
@@ -1441,15 +1458,6 @@ sub _treat_Ss {
   return;
 }
 
-# We can get NO BREAK SPACE accurately for any platform for recent Perls; for
-# earlier ones use the ASCII value for those platforms, and assume the typical
-# EBCDIC value for any others.
-my $nbsp = ($] >= 5.007003)
-            ? chr utf8::unicode_to_native(0xA0)
-            : (ASCII)
-            ? "\xA0"
-            : "\x41";
-
 sub _change_S_to_nbsp { #  a recursive function
   # Sanely assumes that the top node in the excursion won't be an S node.
   my($treelet, $in_s) = @_;
@@ -1467,7 +1475,7 @@ sub _change_S_to_nbsp { #  a recursive function
         $i +=  @$to_pull_up - 1;   # Make $i skip the pulled-up stuff
       }
     } else {
-      $treelet->[$i] =~ s/\s/$nbsp/g if $in_s;
+      $treelet->[$i] =~ s/\s/$Pod::Simple::nbsp/g if $in_s;
        
        # Note that if you apply nbsp_for_S to text, and so turn
        # "foo S<bar baz> quux" into "foo bar&#160;faz quux", you
index aadba19..60229bd 100644 (file)
@@ -349,21 +349,15 @@ octets into Perl's internal character string representation using the value of
 the C<=encoding> declaration in the POD source.
 
 If the POD source does not include an C<=encoding> declaration, the parser will
-attempt to guess the encoding (selecting one of UTF-8 or Latin-1) by examining
+attempt to guess the encoding (selecting one of UTF-8 or CP 1252) by examining
 the first non-ASCII bytes and applying the heuristic described in
-L<perlpodspec>.
+L<perlpodspec>.  (It the POD source contains only ASCII bytes, the
+encoding is assumed to be ASCII.)
 
 If you set the C<parse_characters> option to a true value the parser will
 expect characters rather than octets; will ignore any C<=encoding>; and will
 make no attempt to decode the input.
 
-=head1 CAVEATS
-
-This is just a beta release -- there are a good number of things still
-left to do.  Notably, support for EBCDIC platforms is still half-done,
-an untested.
-
-
 =head1 SEE ALSO
 
 L<Pod::Simple::Subclassing>
index ee6e747..5c1461f 100644 (file)
@@ -22,13 +22,27 @@ use integer; # vroom!
 use strict;
 use Carp ();
 use vars qw($VERSION );
-$VERSION = '3.29';
+$VERSION = '3.30';
 #use constant DEBUG => 7;
 BEGIN {
   require Pod::Simple;
   *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG
 }
 
+# Matches a character iff the character will have a different meaning
+# if we choose CP1252 vs UTF-8 if there is no =encoding line.
+# This is broken for early Perls on non-ASCII platforms.
+my $non_ascii_re = eval "qr/[[:^ascii:]]/";
+$non_ascii_re = qr/[\x80-\xFF]/ if ! defined $non_ascii_re;
+
+my $utf8_bom;
+if (($] ge 5.007_003)) {
+  $utf8_bom = "\x{FEFF}";
+  utf8::encode($utf8_bom);
+} else {
+  $utf8_bom = "\xEF\xBB\xBF";   # No EBCDIC BOM detection for early Perls.
+}
+
 #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
 sub parse_line { shift->parse_lines(@_) } # alias
@@ -87,7 +101,7 @@ sub parse_lines {             # Usage: $parser->parse_lines(@lines)
     } else {
       DEBUG > 2 and print "First line: [$source_line]\n";
 
-      if( ($line = $source_line) =~ s/^\xEF\xBB\xBF//s ) {
+      if( ($line = $source_line) =~ s/^$utf8_bom//s ) {
         DEBUG and print "UTF-8 BOM seen.  Faking a '=encoding utf8'.\n";
         $self->_handle_encoding_line( "=encoding utf8" );
         delete $self->{'_processed_encoding'};
@@ -123,28 +137,102 @@ sub parse_lines {             # Usage: $parser->parse_lines(@lines)
       }
     }
 
-    # Try to guess encoding. Inlined for performance reasons.
     if(!$self->{'parse_characters'} && !$self->{'encoding'}
       && ($self->{'in_pod'} || $line =~ /^=/s)
-      && $line =~ /[[:^ascii:]]/
+      && $line =~ /$non_ascii_re/
     ) {
+
       my $encoding;
-      if (ord("A") != 65) {
 
-        # Hard to figure out on non-ASCII platform if UTF-8 or not.  This
-        # won't work if it isn't UTF-8, so just assume it is and hope for the
-        # best.  It's not clear that the other encodings work on non-ASCII
-        # platforms anyway.
-        $encoding = 'UTF-8';
-      }
-      else {
-        $encoding = $line =~ /^[\x00-\x7f]*[\xC0-\xFD][\x80-\xBF]/ ? 'UTF-8' : 'ISO8859-1';
-      }
+      # No =encoding line, and we are at the first line in the input that
+      # contains a non-ascii byte, that is one whose meaning varies depending
+      # on whether the file is encoded in UTF-8 or CP1252, which are the two
+      # possibilities permitted by the pod spec.  (ASCII is assumed if the
+      # file only contains ASCII bytes.)  In order to process this line, we
+      # need to figure out what encoding we will use for the file.
+      #
+      # Strictly speaking ISO 8859-1 (Latin 1) refers to the code points
+      # 160-255, but it is used here, as it often colloquially is, to refer to
+      # the complete set of code points 0-255, including ASCII (0-127), the C1
+      # controls (128-159), and strict Latin 1 (160-255).
+      #
+      # CP1252 is effectively a superset of Latin 1, because it differs only
+      # from colloquial 8859-1 in the C1 controls, which are very unlikely to
+      # actually be present in 8859-1 files, so can be used for other purposes
+      # without conflict.  CP 1252 uses most of them for graphic characters.
+      #
+      # Note that all ASCII-range bytes represent their corresponding code
+      # points in CP1252 and UTF-8.  In ASCII platform UTF-8 all other code
+      # points require multiple (non-ASCII) bytes to represent.  (A separate
+      # paragraph for EBCDIC is below.)  The multi-byte representation is
+      # quite structured.  If we find an isolated byte that requires multiple
+      # bytes to represent in UTF-8, we know that the encoding is not UTF-8.
+      # If we find a sequence of bytes that violates the UTF-8 structure, we
+      # also can presume the encoding isn't UTF-8, and hence must be 1252.
+      #
+      # But there are ambiguous cases where we could guess wrong.  If so, the
+      # user will end up having to supply an =encoding line.  We use all
+      # readily available information to improve our chances of guessing
+      # right.  The odds of something not being UTF-8, but still passing a
+      # UTF-8 validity test go down very rapidly with increasing length of the
+      # sequence.  Therefore we look at all the maximal length non-ascii
+      # sequences on the line.  If any of the sequences can't be UTF-8, we
+      # quit there and choose CP1252.  If all could be UTF-8, we guess UTF-8.
+      #
+      # On EBCDIC platforms, the situation is somewhat different.  In
+      # UTF-EBCDIC, not only do ASCII-range bytes represent their code points,
+      # but so do the bytes that are for the C1 controls.  Recall that these
+      # correspond to the unused portion of 8859-1 that 1252 mostly takes
+      # over.  That means that there are fewer code points that are
+      # represented by multi-bytes.  But, note that the these controls are
+      # very unlikely to be in pod text.  So if we encounter one of them, it
+      # means that it is quite likely CP1252 and not UTF-8.  The net result is
+      # the same code below is used for both platforms.
+      while ($line =~ m/($non_ascii_re+)/g) {
+        my $non_ascii_seq = $1;
+
+        if (length $non_ascii_seq == 1) {
+          $encoding = 'CP1252';
+          goto guessed;
+        } elsif ($] ge 5.007_003) {
+
+          # On Perls that have this function, we can see if the sequence is
+          # valid UTF-8 or not.
+          if (! utf8::decode($non_ascii_seq)) {
+            $encoding = 'CP1252';
+            goto guessed;
+          }
+        } elsif (ord("A") == 65) {  # An early Perl, ASCII platform
+
+          # Without utf8::decode, it's a lot harder to do a rigorous check
+          # (though some early releases had a different function that
+          # accomplished the same thing).  Since these are ancient Perls, not
+          # likely to be in use today, we take the easy way out, and look at
+          # just the first two bytes of the sequence to see if they are the
+          # start of a UTF-8 character.  In ASCII UTF-8, continuation bytes
+          # must be between 0x80 and 0xBF.  Start bytes can range from 0xC2
+          # through 0xFF, but anything above 0xF4 is not Unicode, and hence
+          # extremely unlikely to be in a pod.
+          if ($non_ascii_seq !~ /^[\xC2-\xF4][\x80-\xBF]/) {
+            $encoding = 'CP1252';
+            goto guessed;
+          }
+
+          # We don't bother doing anything special for EBCDIC on early Perls.
+          # If there is a solitary variant, CP1252 will be chosen; otherwise
+          # UTF-8.
+        }
+      } # End of loop through all variant sequences on the line
+
+      # All sequences in the line could be UTF-8.  Guess that.
+      $encoding = 'UTF-8';
+
+    guessed:
       $self->_handle_encoding_line( "=encoding $encoding" );
       delete $self->{'_processed_encoding'};
       $self->{'_transcoder'} && $self->{'_transcoder'}->($line);
 
-      my ($word) = $line =~ /(\S*[[:^ascii:]]\S*)/;
+      my ($word) = $line =~ /(\S*$non_ascii_re\S*)/;
 
       $self->whine(
         $self->{'line_count'},
@@ -155,7 +243,7 @@ sub parse_lines {             # Usage: $parser->parse_lines(@lines)
     DEBUG > 5 and print "# Parsing line: [$line]\n";
 
     if(!$self->{'in_pod'}) {
-      if($line =~ m/^=([a-zA-Z]+)/s) {
+      if($line =~ m/^=([a-zA-Z][a-zA-Z0-9]*)(?:\s|$)/s) {
         if($1 eq 'cut') {
           $self->scream(
             $self->{'line_count'},
index 3ef64ee..7f7390b 100644 (file)
@@ -9,7 +9,7 @@ use Carp ();
 use Pod::Simple::Methody ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION );
-$VERSION = '3.29';
+$VERSION = '3.30';
 @ISA = ('Pod::Simple::Methody');
 BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
           ? \&Pod::Simple::DEBUG
@@ -91,9 +91,9 @@ sub emit_par {
   my $indent = ' ' x ( 2 * $self->{'Indent'} + ($tweak_indent||0) );
    # Yes, 'STRING' x NEGATIVE gives '', same as 'STRING' x 0
 
-  $self->{'Thispara'} =~ tr{\xAD}{}d if Pod::Simple::ASCII;
+  $self->{'Thispara'} =~ s/$Pod::Simple::shy//g;
   my $out = Text::Wrap::wrap($indent, $indent, $self->{'Thispara'} .= "\n");
-  $out =~ tr{\xA0}{ } if Pod::Simple::ASCII;
+  $out =~ s/$Pod::Simple::nbsp/ /g;
   print {$self->{'output_fh'}} $out,
     #"\n"
   ;
@@ -107,10 +107,8 @@ sub emit_par {
 sub end_Verbatim  {
   return unless $_[0]{'Errata_seen'};
   my $self = shift;
-  if(Pod::Simple::ASCII) {
-    $self->{'Thispara'} =~ tr{\xA0}{ };
-    $self->{'Thispara'} =~ tr{\xAD}{}d;
-  }
+  $self->{'Thispara'} =~ s/$Pod::Simple::nbsp/ /g;
+  $self->{'Thispara'} =~ s/$Pod::Simple::shy//g;
 
   my $i = ' ' x ( 2 * $self->{'Indent'} + 4);
   
index 2bbd50a..c27170d 100644 (file)
@@ -2,7 +2,7 @@ require 5;
 package Pod::Simple::Debug;
 use strict;
 use vars qw($VERSION );
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 sub import {
   my($value,$variable);
index dfde4d6..03be00b 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::DumpAsText;
-$VERSION = '3.29';
+$VERSION = '3.30';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
index 4db6a06..560275d 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::DumpAsXML;
-$VERSION = '3.29';
+$VERSION = '3.30';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
@@ -70,11 +70,13 @@ sub _handle_element_end {
 sub _xml_escape {
   foreach my $x (@_) {
     # Escape things very cautiously:
-    $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg;
+    if ($] ge 5.007_003) {
+      $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(utf8::native_to_unicode(ord($1))).';'/eg;
+    } else { # Is broken for non-ASCII platforms on early perls
+      $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg;
+    }
     # Yes, stipulate the list without a range, so that this can work right on
     #  all charsets that this module happens to run under.
-    # Altho, hmm, what about that ord?  Presumably that won't work right
-    #  under non-ASCII charsets.  Something should be done about that.
   }
   return;
 }
index 2c6494b..d46290d 100644 (file)
@@ -9,7 +9,7 @@ use vars qw(
   $Doctype_decl  $Content_decl
 );
 @ISA = ('Pod::Simple::PullParser');
-$VERSION = '3.29';
+$VERSION = '3.30';
 BEGIN {
   if(defined &DEBUG) { } # no-op
   elsif( defined &Pod::Simple::DEBUG ) { *DEBUG = \&Pod::Simple::DEBUG }
@@ -654,7 +654,7 @@ sub do_pod_link {
         $self->resolve_pod_page_link($to, $section);
          # (I pass it the section value, but I don't see a
          #  particular reason it'd use it.)
-      DEBUG > 1 and print "resolve_pod_page_link gives ", $to || "(nil)", "\n";
+      DEBUG > 1 and print "resolve_pod_page_link gives ", $there || "(nil)", "\n";
       unless( defined $there and length $there ) {
         DEBUG and print "Can't resolve $to\n";
         return undef;
@@ -695,7 +695,11 @@ sub section_name_tidy {
   $section =~ s/^\s+//;
   $section =~ s/\s+$//;
   $section =~ tr/ /_/;
-  $section =~ tr/\x00-\x1F\x80-\x9F//d if 'A' eq chr(65); # drop crazy characters
+  if ($] ge 5.006) {
+    $section =~ s/[[:cntrl:][:^ascii:]]//g; # drop crazy characters
+  } elsif ('A' eq chr(65)) { # But not on early EBCDIC
+    $section =~ tr/\x00-\x1F\x80-\x9F//d;
+  }
   $section = $self->unicode_escape_url($section);
   $section = '_' unless length $section;
   return $section;
@@ -714,12 +718,13 @@ sub general_url_escape {
   # A pretty conservative escaping, behoovey even for query components
   #  of a URL (see RFC 2396)
   
-  $string =~ s/([^-_\.!~*()abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/sprintf('%%%02X',ord($1))/eg;
+  if ($] ge 5.007_003) {
+    $string =~ s/([^-_\.!~*()abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/sprintf('%%%02X',utf8::native_to_unicode(ord($1)))/eg;
+  } else { # Is broken for non-ASCII platforms on early perls
+    $string =~ s/([^-_\.!~*()abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/sprintf('%%%02X',ord($1))/eg;
+  }
    # Yes, stipulate the list without a range, so that this can work right on
    #  all charsets that this module happens to run under.
-   # Altho, hmm, what about that ord?  Presumably that won't work right
-   #  under non-ASCII charsets.  Something should be done
-   #  about that, I guess?
   
   return $string;
 }
@@ -851,21 +856,28 @@ sub esc { # a function.
       @_ = splice @_; # break aliasing
     } else {
       my $x = shift;
-      $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg;
+      if ($] ge 5.007_003) {
+        $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(utf8::native_to_unicode(ord($1))).';'/eg;
+      } else { # Is broken for non-ASCII platforms on early perls
+        $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg;
+      }
       return $x;
     }
   }
   foreach my $x (@_) {
     # Escape things very cautiously:
-    $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg
-     if defined $x;
+    if (defined $x) {
+      if ($] ge 5.007_003) {
+        $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(utf8::native_to_unicode(ord($1))).';'/eg
+      } else { # Is broken for non-ASCII platforms on early perls
+        $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg
+      }
+    }
     # Leave out "- so that "--" won't make it thru in X-generated comments
     #  with text in them.
 
     # Yes, stipulate the list without a range, so that this can work right on
     #  all charsets that this module happens to run under.
-    # Altho, hmm, what about that ord?  Presumably that won't work right
-    #  under non-ASCII charsets.  Something should be done about that.
   }
   return @_;
 }
index 19e700b..85cad7b 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use vars qw( $VERSION $HTML_RENDER_CLASS $HTML_EXTENSION
  $CSS $JAVASCRIPT $SLEEPY $SEARCH_CLASS @ISA
 );
-$VERSION = '3.29';
+$VERSION = '3.30';
 @ISA = ();  # Yup, we're NOT a subclass of Pod::Simple::HTML!
 
 # TODO: nocontents stylesheets. Strike some of the color variations?
index 2139509..34582e1 100644 (file)
@@ -3,12 +3,12 @@ require 5;
 package Pod::Simple::LinkSection;
   # Based somewhat dimly on Array::Autojoin
 use vars qw($VERSION );
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 use strict;
 use Pod::Simple::BlackBox;
 use vars qw($VERSION );
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 use overload( # So it'll stringify nice
   '""'   => \&Pod::Simple::BlackBox::stringify_lol,
index d867b1c..cb27076 100644 (file)
@@ -4,7 +4,7 @@ package Pod::Simple::Methody;
 use strict;
 use Pod::Simple ();
 use vars qw(@ISA $VERSION);
-$VERSION = '3.29';
+$VERSION = '3.30';
 @ISA = ('Pod::Simple');
 
 # Yes, we could use named variables, but I want this to be impose
index 3a87b99..968f0a4 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::Progress;
-$VERSION = '3.29';
+$VERSION = '3.30';
 use strict;
 
 # Objects of this class are used for noting progress of an
index 0e47ec3..7af5d12 100644 (file)
@@ -1,6 +1,6 @@
 require 5;
 package Pod::Simple::PullParser;
-$VERSION = '3.29';
+$VERSION = '3.30';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
index bb5ac7a..f8747a8 100644 (file)
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 sub new {  # Class->new(tagname);
   my $class = shift;
index dbb0b2c..bec0e2e 100644 (file)
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 sub new {  # Class->new(tagname, optional_attrhash);
   my $class = shift;
index 9db7f1e..59fd06d 100644 (file)
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 sub new {  # Class->new(text);
   my $class = shift;
@@ -70,6 +70,12 @@ Or, if you want to alter the value, you can even do things like this:
     }
 
     ...or however you want to alter the value...
+    (Note that starting with Perl v5.8, you can use, e.g.,
+
+        my $nbsp = chr utf8::unicode_to_native(0xA0);
+        s/$nbsp/ /g;
+
+    to handle the above regardless if it's an ASCII world or not)
   }
 
 =back
index 46ab1fd..4beff5c 100644 (file)
@@ -3,7 +3,7 @@ require 5;
 package Pod::Simple::PullParserToken;
  # Base class for tokens gotten from Pod::Simple::PullParser's $parser->get_token
 @ISA = ();
-$VERSION = '3.29';
+$VERSION = '3.30';
 use strict;
 
 sub new {  # Class->new('type', stuff...);  ## Overridden in derived classes anyway
index 6171904..5c72aba 100644 (file)
@@ -8,7 +8,7 @@ package Pod::Simple::RTF;
 
 use strict;
 use vars qw($VERSION @ISA %Escape $WRAP %Tagmap);
-$VERSION = '3.29';
+$VERSION = '3.30';
 use Pod::Simple::PullParser ();
 BEGIN {@ISA = ('Pod::Simple::PullParser')}
 
@@ -17,6 +17,16 @@ BEGIN { *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG }
 
 $WRAP = 1 unless defined $WRAP;
 
+# These are broken for early Perls on EBCDIC; they could be fixed to work
+# better there, but not worth it.  These are part of a larger [...] class, so
+# are just the strings to substitute into it, as opposed to compiled patterns.
+my $cntrl = '[:cntrl:]';
+$cntrl = '\x00-\x1F\x7F' unless eval "qr/[$cntrl]/";
+
+my $not_ascii = '[:^ascii:]';
+$not_ascii = '\x80-\xFF' unless eval "qr/[$not_ascii]/";
+
+
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 sub _openclose {
@@ -176,7 +186,7 @@ sub do_middle {      # the main work
        s/(?:
            ^
            |
-           (?<=[\cm\cj\t "\[\<\(])
+           (?<=[\r\n\t "\[\<\(])
          )   # start on whitespace, sequence-start, or quote
          ( # something looking like a Perl token:
           (?:
@@ -185,7 +195,7 @@ sub do_middle {      # the main work
           |
           # or starting alpha, but containing anything strange:
           (?:
-           [a-zA-Z'\x80-\xFF]+[\$\@\:_<>\(\\\*]\S+
+           [a-zA-Z'${not_ascii}]+[\$\@\:_<>\(\\\*]\S+
           )
          )
         /\cb$1\cc/xsg
@@ -194,10 +204,10 @@ sub do_middle {      # the main work
       rtf_esc($scratch);
       $scratch =~
          s/(
-            [^\cm\cj\n]{65}        # Snare 65 characters from a line
-            [^\cm\cj\n\x20]{0,50}  #  and finish any current word
+            [^\r\n]{65}        # Snare 65 characters from a line
+            [^\r\n ]{0,50}     #  and finish any current word
            )
-           (\x20{1,10})(?![\cm\cj\n]) # capture some spaces not at line-end
+           (\ {1,10})(?![\r\n]) # capture some spaces not at line-end
           /$1$2\n/gx     # and put a NL before those spaces
         if $WRAP;
         # This may wrap at well past the 65th column, but not past the 120th.
@@ -300,7 +310,7 @@ sub do_middle {      # the main work
       if ($tagname eq 'item-number') {
         print $fh $token->attr('number'), ". \n";
       } elsif ($tagname eq 'item-bullet') {
-        print $fh "\\'95 \n";
+        print $fh "\\'", ord("_"), "\n";
         #for funky testing: print $fh '', rtf_esc("\x{4E4B}\x{9053}");
       }
 
@@ -483,19 +493,19 @@ sub rtf_esc {
   my $x; # scratch
   if(!defined wantarray) { # void context: alter in-place!
     for(@_) {
-      s/([F\x00-\x1F\-\\\{\}\x7F-\xFF])/$Escape{$1}/g;  # ESCAPER
+      s/([F${cntrl}\-\\\{\}${not_ascii}])/$Escape{$1}/g;  # ESCAPER
       s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg;
     }
     return;
   } elsif(wantarray) {  # return an array
     return map {; ($x = $_) =~
-      s/([F\x00-\x1F\-\\\{\}\x7F-\xFF])/$Escape{$1}/g;  # ESCAPER
+      s/([F${cntrl}\-\\\{\}${not_ascii}])/$Escape{$1}/g;  # ESCAPER
       $x =~ s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg;
       $x;
     } @_;
   } else { # return a single scalar
     ($x = ((@_ == 1) ? $_[0] : join '', @_)
-    ) =~ s/([F\x00-\x1F\-\\\{\}\x7F-\xFF])/$Escape{$1}/g;  # ESCAPER
+    ) =~ s/([F${cntrl}\-\\\{\}${not_ascii}])/$Escape{$1}/g;  # ESCAPER
              # Escape \, {, }, -, control chars, and 7f-ff.
     $x =~ s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg;
     return $x;
@@ -512,19 +522,19 @@ sub rtf_esc_codely {
   my $x; # scratch
   if(!defined wantarray) { # void context: alter in-place!
     for(@_) {
-      s/([F\x00-\x1F\\\{\}\x7F-\xFF])/$Escape{$1}/g;  # ESCAPER
+      s/([F${cntrl}\\\{\}${not_ascii}])/$Escape{$1}/g;  # ESCAPER
       s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg;
     }
     return;
   } elsif(wantarray) {  # return an array
     return map {; ($x = $_) =~
-      s/([F\x00-\x1F\\\{\}\x7F-\xFF])/$Escape{$1}/g;  # ESCAPER
+      s/([F${cntrl}\\\{\}${not_ascii}])/$Escape{$1}/g;  # ESCAPER
       $x =~ s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg;
       $x;
     } @_;
   } else { # return a single scalar
     ($x = ((@_ == 1) ? $_[0] : join '', @_)
-    ) =~ s/([F\x00-\x1F\\\{\}\x7F-\xFF])/$Escape{$1}/g;  # ESCAPER
+    ) =~ s/([F${cntrl}\\\{\}${not_ascii}])/$Escape{$1}/g;  # ESCAPER
              # Escape \, {, }, -, control chars, and 7f-ff.
     $x =~ s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg;
     return $x;
@@ -532,25 +542,30 @@ sub rtf_esc_codely {
 }
 
 %Escape = (
-  map( (chr($_),chr($_)),       # things not apparently needing escaping
+  (($] lt 5.007_003) # Broken for non-ASCII on early Perls
+   ? (map( (chr($_),chr($_)), # things not apparently needing escaping
+       0x20 .. 0x7E ),
+      map( (chr($_),sprintf("\\'%02x", $_)), # apparently escapeworthy things
+       0x00 .. 0x1F, 0x5c, 0x7b, 0x7d, 0x7f .. 0xFF, 0x46))
+   : (map( (chr(utf8::unicode_to_native($_)),chr(utf8::unicode_to_native($_))),
        0x20 .. 0x7E ),
-  map( (chr($_),sprintf("\\'%02x", $_)),    # apparently escapeworthy things
-       0x00 .. 0x1F, 0x5c, 0x7b, 0x7d, 0x7f .. 0xFF, 0x46),
+      map( (chr($_),sprintf("\\'%02x", utf8::unicode_to_native($_))),
+       0x00 .. 0x1F, 0x5c, 0x7b, 0x7d, 0x7f .. 0xFF, 0x46))),
 
   # We get to escape out 'F' so that we can send RTF files thru the mail
   # without the slightest worry that paragraphs beginning with "From"
   # will get munged.
 
   # And some refinements:
-  "\cm"  => "\n",
+  "\r"  => "\n",
   "\cj"  => "\n",
   "\n"   => "\n\\line ",
 
   "\t"   => "\\tab ",     # Tabs (altho theoretically raw \t's are okay)
   "\f"   => "\n\\page\n", # Formfeed
   "-"    => "\\_",        # Turn plaintext '-' into a non-breaking hyphen
-  "\xA0" => "\\~",        # Latin-1 non-breaking space
-  "\xAD" => "\\-",        # Latin-1 soft (optional) hyphen
+  $Pod::Simple::nbsp => "\\~",        # Latin-1 non-breaking space
+  $Pod::Simple::shy => "\\-",        # Latin-1 soft (optional) hyphen
 
   # CRAZY HACKS:
   "\n" => "\\line\n",
index 49df34d..5be5aea 100644 (file)
@@ -3,7 +3,7 @@ package Pod::Simple::Search;
 use strict;
 
 use vars qw($VERSION $MAX_VERSION_WITHIN $SLEEPY);
-$VERSION = '3.29';   ## Current version of this package
+$VERSION = '3.30';   ## Current version of this package
 
 BEGIN { *DEBUG = sub () {0} unless defined &DEBUG; }   # set DEBUG level
 use Carp ();
@@ -17,7 +17,7 @@ $MAX_VERSION_WITHIN ||= 60;
 
 #use diagnostics;
 use File::Spec ();
-use File::Basename qw( basename );
+use File::Basename qw( basename dirname );
 use Config ();
 use Cwd qw( cwd );
 
@@ -25,6 +25,7 @@ use Cwd qw( cwd );
 __PACKAGE__->_accessorize(  # Make my dumb accessor methods
  'callback', 'progress', 'dir_prefix', 'inc', 'laborious', 'limit_glob',
  'limit_re', 'shadows', 'verbose', 'name2path', 'path2name', 'recurse',
+ 'ciseen'
 );
 #==========================================================================
 
@@ -51,11 +52,11 @@ sub survey {
 
   $self->_expand_inc( \@search_dirs );
 
-
   $self->{'_scan_count'} = 0;
   $self->{'_dirs_visited'} = {};
   $self->path2name( {} );
   $self->name2path( {} );
+  $self->ciseen( {} );
   $self->limit_re( $self->_limit_glob_to_limit_re ) if $self->{'limit_glob'};
   my $cwd = cwd();
   my $verbose  = $self->verbose;
@@ -115,12 +116,25 @@ sub survey {
   }
   $self->progress and $self->progress->done(
    "Noted $$self{'_scan_count'} Pod files total");
+  $self->ciseen( {} );
 
   return unless defined wantarray; # void
   return $self->name2path unless wantarray; # scalar
   return $self->name2path, $self->path2name; # list
 }
 
+my $IS_CASE_INSENSITIVE;
+sub _is_case_insensitive {
+    unless (defined $IS_CASE_INSENSITIVE) {
+        $IS_CASE_INSENSITIVE = 0;
+        my ($uc) = glob uc __FILE__;
+        if ($uc) {
+            my ($lc) = glob lc __FILE__;
+            $IS_CASE_INSENSITIVE = 1 if $lc;
+        }
+    }
+    return $IS_CASE_INSENSITIVE;
+}
 
 #==========================================================================
 sub _make_search_callback {
@@ -128,10 +142,20 @@ sub _make_search_callback {
 
   # Put the options in variables, for easy access
   my( $laborious, $verbose, $shadows, $limit_re, $callback, $progress,
-      $path2name, $name2path, $recurse) =
+      $path2name, $name2path, $recurse, $ciseen) =
     map scalar($self->$_()),
      qw(laborious verbose shadows limit_re callback progress
-        path2name name2path recurse);
+        path2name name2path recurse ciseen);
+  my ($seen, $remember, $files_for);
+  if (_is_case_insensitive) {
+      $seen      = sub { $ciseen->{ lc $_[0] } };
+      $remember  = sub { $name2path->{ $_[0] } = $ciseen->{ lc $_[0] } = $_[1]; };
+      $files_for = sub { my $n = lc $_[0]; grep { lc $path2name->{$_} eq $n } %{ $path2name } };
+  } else {
+      $seen      = sub { $name2path->{ $_[0] } };
+      $remember  = sub { $name2path->{ $_[0] } = $_[1] };
+      $files_for = sub { my $n = $_[0]; grep { $path2name->{$_} eq $n } %{ $path2name } };
+  }
 
   my($file, $shortname, $isdir, $modname_bits);
   return sub {
@@ -171,7 +195,6 @@ sub _make_search_callback {
       return; # (not pruning);
     }
 
-      
     # Make sure it's a file even worth even considering
     if($laborious) {
       unless(
@@ -197,31 +220,26 @@ sub _make_search_callback {
       return;
     }
 
-    if( !$shadows and $name2path->{$name} ) {
+    if( !$shadows and $seen->($name) ) {
       $verbose and print "Not worth considering $file ",
         "-- already saw $name as ",
-        join(' ', grep($path2name->{$_} eq $name, keys %$path2name)), "\n";
+        join(' ', $files_for->($name)), "\n";
       return;
     }
-        
+
     # Put off until as late as possible the expense of
     #  actually reading the file:
-    if( m/\.pod\z/is ) {
-      # just assume it has pod, okay?
-    } else {
-      $progress and $progress->reach($self->{'_scan_count'}, "Scanning $file");
-      return unless $self->contains_pod( $file );
-    }
+    $progress and $progress->reach($self->{'_scan_count'}, "Scanning $file");
+    return unless $self->contains_pod( $file );
     ++ $self->{'_scan_count'};
 
     # Or finally take note of it:
-    if( $name2path->{$name} ) {
+    if ( my $prev = $seen->($name)  ) {
       $verbose and print
        "Duplicate POD found (shadowing?): $name ($file)\n",
-       "    Already seen in ",
-       join(' ', grep($path2name->{$_} eq $name, keys %$path2name)), "\n";
+       "    Already seen in ", join(' ', $files_for->($name)), "\n";
     } else {
-      $name2path->{$name} = $file; # Noting just the first occurrence
+      $remember->($name, $file); # Noting just the first occurrence
     }
     $verbose and print "  Noting $name = $file\n";
     if( $callback ) {
@@ -326,7 +344,14 @@ sub _recurse_dir {
       closedir(INDIR);
       return
     }
-    my @items = sort readdir(INDIR);
+
+    # Load all items; put no extension before .pod before .pm before .plx?.
+    my @items = map { $_->[0] }
+      sort { $a->[1] cmp $b->[1] || $b->[2] cmp $a->[2] }
+      map {
+        (my $t = $_) =~ s/[.]p(m|lx?|od)\z//;
+        [$_, $t, lc($1 || 'z') ]
+      } readdir(INDIR);
     closedir(INDIR);
 
     push @$modname_bits, $dir_bare unless $dir_bare eq '';
@@ -528,6 +553,14 @@ sub _limit_glob_to_limit_re {
 
 # contribution mostly from Tim Jenness <t.jenness@jach.hawaii.edu>
 
+sub _actual_filenames {
+    my $dir = shift;
+    my $fn = lc shift;
+    opendir my $dh, $dir or return;
+    return map { File::Spec->catdir($dir, $_) }
+        grep { lc $_  eq $fn } readdir $dh;
+}
+
 sub find {
   my($self, $pod, @search_dirs) = @_;
   $self = $self->new unless ref $self; # tolerate being a class method
@@ -544,34 +577,17 @@ sub find {
 
   #@search_dirs = File::Spec->curdir unless @search_dirs;
   
-  if( $self->inc ) {
-    if( $^O eq 'MacOS' ) {
-      push @search_dirs, $self->_mac_whammy(@INC);
-    } else {
-      push @search_dirs,                    @INC;
-    }
-
-    # Add location of pod documentation for perl man pages (eg perlfunc)
-    # This is a pod directory in the private install tree
-    #my $perlpoddir = File::Spec->catdir($Config::Config{'installprivlib'},
-    #                                  'pod');
-    #push (@search_dirs, $perlpoddir)
-    #  if -d $perlpoddir;
-
-    # Add location of binaries such as pod2text:
-    push @search_dirs, $Config::Config{'scriptdir'};
-     # and if that's undef or q{} or nonexistent, we just ignore it later
-  }
+  $self->_expand_inc(\@search_dirs);
+  # Add location of binaries such as pod2text:
+  push @search_dirs, $Config::Config{'scriptdir'} if $self->inc;
 
   my %seen_dir;
- Dir:
-  foreach my $dir ( @search_dirs ) {
+  while (my $dir = shift @search_dirs ) {
     next unless defined $dir and length $dir;
     next if $seen_dir{$dir};
     $seen_dir{$dir} = 1;
     unless(-d $dir) {
       print "Directory $dir does not exist\n" if $verbose;
-      next Dir;
     }
 
     print "Looking in directory $dir\n" if $verbose;
@@ -580,16 +596,36 @@ sub find {
 
     foreach my $ext ('', '.pod', '.pm', '.pl') {   # possible extensions
       my $fullext = $fullname . $ext;
-      if( -f $fullext  and  $self->contains_pod( $fullext ) ){
+      if ( -f $fullext and $self->contains_pod($fullext) ) {
         print "FOUND: $fullext\n" if $verbose;
+        if (@parts > 1 && lc $parts[0] eq 'pod' && _is_case_insensitive && $ext eq '.pod') {
+          # Well, this file could be for a program (perldoc) but we actually
+          # want a module (Pod::Perldoc). So see if there is a .pm with the
+          # proper casing.
+          my $subdir = dirname $fullext;
+          unless (grep { $fullext eq $_  } _actual_filenames $subdir, "$parts[-1].pod") {
+            print "# Looking for alternate spelling in $subdir\n" if $verbose;
+            # Try the .pm file.
+            my $pm = $fullname . '.pm';
+            if ( -f $pm and $self->contains_pod($pm) ) {
+              # Prefer the .pm if its case matches.
+              if (grep { $pm eq $_  } _actual_filenames $subdir, "$parts[-1].pm") {
+                print "FOUND: $fullext\n" if $verbose;
+                return $pm;
+              }
+            }
+          }
+        }
         return $fullext;
       }
     }
-    my $subdir = File::Spec->catdir($dir,'pod');
-    if(-d $subdir) {  # slip in the ./pod dir too
-      $verbose and print "Noticing $subdir and stopping there...\n";
-      $dir = $subdir;
-      redo Dir;
+
+    # Case-insensitively Look for ./pod directories and slip them in.
+    for my $subdir ( _actual_filenames($dir, 'pod') ) {
+      if (-d $subdir) {
+        $verbose and print "Noticing $subdir and looking there...\n";
+        unshift @search_dirs, $subdir;
+      }
     }
   }
 
@@ -1005,6 +1041,7 @@ with default attribute values is used.
 
 Returns true if the supplied filename (not POD module) contains some Pod
 documentation.
+
 =head1 SUPPORT
 
 Questions or discussion about POD and Pod::Simple should be sent to the
index 201e37a..14199df 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use Carp ();
 use Pod::Simple ();
 use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.29';
+$VERSION = '3.30';
 BEGIN {
   @ISA = ('Pod::Simple');
   *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
index e3f09a3..9768ace 100644 (file)
@@ -46,7 +46,7 @@ anyone has a formatter for that format -- maybe someone cobbled one
 together but just hasn't released it.
 
 B<The first step> in writing a Pod processor is to read L<perlpodspec>,
-which contains notes information on writing a Pod parser (which has been
+which contains information on writing a Pod parser (which has been
 largely taken care of by Pod::Simple), but also a lot of requirements
 and recommendations for writing a formatter.
 
@@ -78,7 +78,7 @@ like L<HTML::TokeParser>'s interface.
 
 L<Pod::Simple::SimpleTree> provides a simple tree interface, rather like
 L<XML::Parser>'s "Tree" interface. Users familiar with XML handling will
-be comfortable with this interface. Users interested in outputting XML, 
+be comfortable with this interface. Users interested in outputting XML,
 should look into the modules that produce an XML representation of the
 Pod stream, notably L<Pod::Simple::XMLOutStream>; you can feed the output
 of such a class to whatever XML parsing system you are most at home with.
@@ -87,8 +87,8 @@ of such a class to whatever XML parsing system you are most at home with.
 
 B<The last step> is to write your code based on how the events (or tokens,
 or tree-nodes, or the XML, or however you're parsing) will map to
-constructs in the output format. Also sure to consider how to escape
-text nodes containing arbitrary text, and also what to do with text
+constructs in the output format. Also be sure to consider how to escape
+text nodes containing arbitrary text, and what to do with text
 nodes that represent preformatted text (from verbatim sections).
 
 
@@ -272,7 +272,7 @@ produces this event structure:
        crontab(5)
   </L>
 
-In the rare cases where a man page link has a specified, that text appears
+In the rare cases where a man page link has a section specified, that text appears
 in a I<section> attribute. For example, this Pod source:
 
   L<crontab(5)/"ENVIRONMENT">
@@ -461,7 +461,7 @@ will produce this event structure:
         et al.
   </head1>
 
-"=head2" thru "=head4" directives are the same, except for the element
+"=head2" through "=head4" directives are the same, except for the element
 names in the event structure.
 
 =item events with an element_name of encoding
@@ -922,8 +922,8 @@ interesting, but this is included for completeness.
 
 =item C<< $parser->whine( I<linenumber>, I<complaint string> ) >>
 
-This notes a problem in the Pod, which will be reported to in the "Pod
-Errors" section of the document and/or send to STDERR, depending on the
+This notes a problem in the Pod, which will be reported in the "Pod
+Errors" section of the document and/or sent to STDERR, depending on the
 values of the attributes C<no_whining>, C<no_errata_section>, and
 C<complain_stderr>.
 
@@ -1021,7 +1021,7 @@ indented text, showing each event on its own line
 L<Pod::Simple::LinkSection> -- class for objects representing the values
 of the TODO and TODO attributes of LE<lt>...E<gt> elements
 
-L<Pod::Escapes> -- the module the Pod::Simple uses for evaluating
+L<Pod::Escapes> -- the module that Pod::Simple uses for evaluating
 EE<lt>...E<gt> content
 
 L<Pod::Simple::Text> -- a simple plaintext formatter for Pod
index b3292f8..2a417c2 100644 (file)
@@ -6,7 +6,7 @@ use Carp ();
 use Pod::Simple::Methody ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION $FREAKYMODE);
-$VERSION = '3.29';
+$VERSION = '3.30';
 @ISA = ('Pod::Simple::Methody');
 BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
           ? \&Pod::Simple::DEBUG
@@ -81,9 +81,9 @@ sub emit_par {
   my $indent = ' ' x ( 2 * $self->{'Indent'} + 4 + ($tweak_indent||0) );
    # Yes, 'STRING' x NEGATIVE gives '', same as 'STRING' x 0
 
-  $self->{'Thispara'} =~ tr{\xAD}{}d if Pod::Simple::ASCII;
+  $self->{'Thispara'} =~ s/$Pod::Simple::shy//g;
   my $out = Text::Wrap::wrap($indent, $indent, $self->{'Thispara'} .= "\n");
-  $out =~ tr{\xA0}{ } if Pod::Simple::ASCII;
+  $out =~ s/$Pod::Simple::nbsp/ /g;
   print {$self->{'output_fh'}} $out, "\n";
   $self->{'Thispara'} = '';
   
@@ -94,10 +94,8 @@ sub emit_par {
 
 sub end_Verbatim  {
   my $self = shift;
-  if(Pod::Simple::ASCII) {
-    $self->{'Thispara'} =~ tr{\xA0}{ };
-    $self->{'Thispara'} =~ tr{\xAD}{}d;
-  }
+  $self->{'Thispara'} =~ s/$Pod::Simple::nbsp/ /g;
+  $self->{'Thispara'} =~ s/$Pod::Simple::shy//g;
 
   my $i = ' ' x ( 2 * $self->{'Indent'} + 4);
   #my $i = ' ' x (4 + $self->{'Indent'});
index 516f28c..33c34f8 100644 (file)
@@ -6,7 +6,7 @@ use strict;
 use Carp ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION );
-$VERSION = '3.29';
+$VERSION = '3.30';
 @ISA = ('Pod::Simple');
 
 sub new {
@@ -25,10 +25,8 @@ sub _handle_element_start {
 }
 
 sub _handle_text {
-  if( chr(65) eq 'A' ) {     # in ASCIIworld
-    $_[1] =~ tr/\xAD//d;
-    $_[1] =~ tr/\xA0/ /;
-  }
+  $_[1] =~ s/$Pod::Simple::shy//g;
+  $_[1] =~ s/$Pod::Simple::nbsp/ /g;
   print {$_[0]{'output_fh'}} $_[1];
   return;
 }
index dbf5210..925408b 100644 (file)
@@ -4,7 +4,7 @@ package Pod::Simple::TiedOutFH;
 use Symbol ('gensym');
 use Carp ();
 use vars qw($VERSION );
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
index 9c60f05..0dee9cb 100644 (file)
@@ -2,7 +2,7 @@
 require 5;
 package Pod::Simple::Transcode;
 use vars qw($VERSION );
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 BEGIN {
   if(defined &DEBUG) {;} # Okay
index badb9a0..53082d7 100644 (file)
@@ -5,7 +5,7 @@ require 5;
 package Pod::Simple::TranscodeDumb;
 use strict;
 use vars qw($VERSION %Supported);
-$VERSION = '3.29';
+$VERSION = '3.30';
 # This module basically pretends it knows how to transcode, except
 #  only for null-transcodings!  We use this when Encode isn't
 #  available.
@@ -14,6 +14,7 @@ $VERSION = '3.29';
   'ascii'       => 1,
   'ascii-ctrl'  => 1,
   'iso-8859-1'  => 1,
+  'cp1252'      => 1,
   'null'        => 1,
   'latin1'      => 1,
   'latin-1'     => 1,
@@ -36,24 +37,46 @@ sub encmodver {
 }
 
 sub make_transcoder {
-  my($e) = $_[1];
-  die "WHAT ENCODING!?!?" unless $e;
-  my $x;
-  return sub {;
-    #foreach $x (@_) {
-    #  if(Pod::Simple::ASCII and !Pod::Simple::UNICODE and $] > 5.005) {
-    #    # We're in horrible gimp territory, so we need to knock out
-    #    # all the highbit things
-    #    $x =
-    #      pack 'C*',
-    #      map {; ($_ < 128) ? $_ : 0x7e }
-    #      unpack "C*",
-    #      $x
-    #    ;
-    #  }
-    #}
-    #
-    #return;
+    my ($e) = $_[1];
+    die "WHAT ENCODING!?!?" unless $e;
+    # No-op for all but CP1252.
+    return sub {;} if $e !~ /^cp-?1252$/i;
+
+    # Replace CP1252 nerbles with their ASCII equivalents.
+    return sub {
+        # Copied from Encode::ZapCP1252.
+        my %ascii_for = (
+            # http://en.wikipedia.org/wiki/Windows-1252
+            "\x80" => 'e',    # EURO SIGN
+            "\x82" => ',',    # SINGLE LOW-9 QUOTATION MARK
+            "\x83" => 'f',    # LATIN SMALL LETTER F WITH HOOK
+            "\x84" => ',,',   # DOUBLE LOW-9 QUOTATION MARK
+            "\x85" => '...',  # HORIZONTAL ELLIPSIS
+            "\x86" => '+',    # DAGGER
+            "\x87" => '++',   # DOUBLE DAGGER
+            "\x88" => '^',    # MODIFIER LETTER CIRCUMFLEX ACCENT
+            "\x89" => '%',    # PER MILLE SIGN
+            "\x8a" => 'S',    # LATIN CAPITAL LETTER S WITH CARON
+            "\x8b" => '<',    # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+            "\x8c" => 'OE',   # LATIN CAPITAL LIGATURE OE
+            "\x8e" => 'Z',    # LATIN CAPITAL LETTER Z WITH CARON
+            "\x91" => "'",    # LEFT SINGLE QUOTATION MARK
+            "\x92" => "'",    # RIGHT SINGLE QUOTATION MARK
+            "\x93" => '"',    # LEFT DOUBLE QUOTATION MARK
+            "\x94" => '"',    # RIGHT DOUBLE QUOTATION MARK
+            "\x95" => '*',    # BULLET
+            "\x96" => '-',    # EN DASH
+            "\x97" => '--',   # EM DASH
+            "\x98" => '~',    # SMALL TILDE
+            "\x99" => '(tm)', # TRADE MARK SIGN
+            "\x9a" => 's',    # LATIN SMALL LETTER S WITH CARON
+            "\x9b" => '>',    # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+            "\x9c" => 'oe',   # LATIN SMALL LIGATURE OE
+            "\x9e" => 'z',    # LATIN SMALL LETTER Z WITH CARON
+            "\x9f" => 'Y',    # LATIN CAPITAL LETTER Y WITH DIAERESIS
+        );
+
+        s{([\x80-\x9f])}{$ascii_for{$1} || $1}emxsg for @_;
   };
 }
 
index 6735b99..0aec8d9 100644 (file)
@@ -9,7 +9,7 @@ use strict;
 use Pod::Simple;
 require Encode;
 use vars qw($VERSION );
-$VERSION = '3.29';
+$VERSION = '3.30';
 
 sub is_dumb  {0}
 sub is_smart {1}
index 3a2d209..af7e989 100644 (file)
@@ -45,7 +45,7 @@ declare the output character set as UTF-8 before parsing, like so:
 package Pod::Simple::XHTML;
 use strict;
 use vars qw( $VERSION @ISA $HAS_HTML_ENTITIES );
-$VERSION = '3.29';
+$VERSION = '3.30';
 use Pod::Simple::Methody ();
 @ISA = ('Pod::Simple::Methody');
 
index a0f50a2..6cc1fe6 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use Carp ();
 use Pod::Simple ();
 use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.29';
+$VERSION = '3.30';
 BEGIN {
   @ISA = ('Pod::Simple');
   *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
@@ -76,11 +76,13 @@ sub _handle_element_end {
 sub _xml_escape {
   foreach my $x (@_) {
     # Escape things very cautiously:
-    $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg;
+    if ($] ge 5.007_003) {
+      $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(utf8::native_to_unicode(ord($1))).';'/eg;
+    } else { # Is broken for non-ASCII platforms on early perls
+      $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg;
+    }
     # Yes, stipulate the list without a range, so that this can work right on
     #  all charsets that this module happens to run under.
-    # Altho, hmm, what about that ord?  Presumably that won't work right
-    #  under non-ASCII charsets.  Something should be done about that.
   }
   return;
 }
diff --git a/cpan/Pod-Simple/t/ascii_order.pl b/cpan/Pod-Simple/t/ascii_order.pl
new file mode 100644 (file)
index 0000000..3b453f1
--- /dev/null
@@ -0,0 +1,26 @@
+# Helper for some of the .t's in this directory
+
+sub native_to_uni($) {  # Convert from platform character set to Unicode
+                        # (which is the same as ASCII)
+    my $string = shift;
+
+    return $string if ord("A") == 65
+                      || $] lt 5.007_003; # Doesn't work on early EBCDIC Perls
+    my $output = "";
+    for my $i (0 .. length($string) - 1) {
+        $output .= chr(utf8::native_to_unicode(ord(substr($string, $i, 1))));
+    }
+    # Preserve utf8ness of input onto the output, even if it didn't need to be
+    # utf8
+    utf8::upgrade($output) if utf8::is_utf8($string);
+
+    return $output;
+}
+
+
+sub ascii_order {   # Sort helper.  Causes the order to be the same as ASCII
+                    # no matter what the platform's character set is.
+    return native_to_uni($a) cmp native_to_uni($b);
+}
+
+1
index 0b9cefd..157a640 100644 (file)
@@ -7,7 +7,7 @@ BEGIN {
 
 use strict;
 use Test;
-BEGIN { plan tests => 30 };
+BEGIN { plan tests => 31 };
 
 #use Pod::Simple::Debug (6);
 
@@ -87,6 +87,10 @@ ok( Pod::Simple::XMLOutStream->_out("=head1 Chacha\n\nFoo\n"),
     '<Document><head1>Chacha</head1><Para>Foo</Para></Document>'
 );
 
+# Make sure an obviously invalid Pod tag is invalid.
+ok( Pod::Simple::XMLOutStream->_out("=F\0blah\n\nwhatever\n"),
+    qq{<Document\ncontentless="1"></Document>}
+);
 
 print "# Wrapping up... one for the road...\n";
 ok 1;
index 2f59302..e3a500e 100644 (file)
@@ -10,6 +10,10 @@ BEGIN {
       print "1..0 # Skip: Encode was not built\n";
       exit 0;
     }
+    if (ord("A") != 65) {
+      print "1..0 # Skip: Encode not fully working on non-ASCII platforms at this time\n";
+      exit 0;
+    }
 }
 
 #use Pod::Simple::Debug (10);
@@ -168,7 +172,7 @@ foreach my $f (@testfiles) {
     skip $skippy, 0;
   } else {
     print "#  $outfilename and $xml don't match!\n";
-    print STDERR `diff -u $xml $outfilename`;
+    print STDERR `diff $xml $outfilename`;
     ok 0;
   }
 
index d64d56f..8fd2065 100644 (file)
@@ -30,7 +30,7 @@
     </item-text>
     <Para start_line="-321">
       Non-ASCII character seen before =encoding in &#39;caf&#233;&#39;. Assuming
-      ISO8859-1
+      CP1252
     </Para>
   </over-text>
 </Document>
index 8b9191c..4a667c1 100644 (file)
@@ -71,7 +71,7 @@
     </item-text>
     <Para start_line="-321">
       Non-ASCII character seen before =encoding in &#39;s&#233;parant&#39;.
-      Assuming ISO8859-1
+      Assuming CP1252
     </Para>
   </over-text>
 </Document>
index fe2c314..e2b4fcc 100644 (file)
@@ -1,13 +1,6 @@
-# The encoding detection heuristic will choose UTF8 or Latin-1.  The current
-# implementation will usually treat CP1252 (aka "Win-Latin-1") as Latin-1 but
+# The encoding detection heuristic will choose UTF8 or CP1252.  The current
+# implementation will usually treat CP1252 (aka "Win-Latin-1") as CP1252 but
 # can be fooled into seeing it as UTF8.
-#
-# Note 1: Neither guess is 'correct' since even if we choose Latin-1, all the
-#         smart quote symbols will be rendered as control characters
-#
-# Note 2: the guess is only applied if the source POD omits =encoding, so
-#         CP1252 source will render correctly if properly declared
-#
 
 BEGIN {
     if($ENV{PERL_CORE}) {
@@ -18,7 +11,16 @@ BEGIN {
 
 use strict;
 use Test;
-BEGIN { plan tests => 5 };
+BEGIN {
+    if ($] lt 5.007_003) {
+        plan tests => 5, todo => [4, 5];   # Need utf8::decode() to pass #5
+                                           # and isn't available in this
+                                           # release
+    }
+    else {
+        plan tests => 5, todo => [4];
+    }
+}
 
 ok 1;
 
@@ -26,14 +28,28 @@ use Pod::Simple::DumpAsXML;
 use Pod::Simple::XMLOutStream;
 
 
-# Initial, isolated, non-ASCII byte triggers Latin-1 guess and later
+# Initial, isolated, non-ASCII byte triggers CP1252 guess and later
 # multi-byte sequence is not considered by heuristic.
 
-my @output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{
+my $x97;
+my $x91;
+my $dash;
+if ($] ge 5.007_003) {
+    $x97 = chr utf8::unicode_to_native(0x97);
+    $x91 = chr utf8::unicode_to_native(0x91);
+    $dash = '&#8212';
+}
+else {  # Tests will fail for early EBCDICs
+    $x97 = chr 0x97;
+    $x91 = chr 0x91;
+    $dash = '--';
+}
+
+my @output_lines = split m/[\r\n]+/, Pod::Simple::XMLOutStream->_out( qq{
 
 =head1 NAME
 
-Em::Dash \x97 \x91CAF\xC9\x92
+Em::Dash $x97 ${x91}CAF\xC9\x92
 
 =cut
 
@@ -41,8 +57,8 @@ Em::Dash \x97 \x91CAF\xC9\x92
 
 my($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)};
 if( $guess ) {
-  if( $guess eq 'ISO8859-1' ) {
-    if( grep m{Dash (\x97|&#x97;|&#151;)}, @output_lines ) {
+  if( $guess eq 'CP1252' ) {
+    if( grep m{Dash $dash}, @output_lines ) {
       ok 1;
     } else {
       ok 0;
@@ -50,7 +66,7 @@ if( $guess ) {
     }
   } else {
     ok 0;
-    print "# parser guessed wrong encoding expected 'ISO8859-1' got '$guess'\n";
+    print "# parser guessed wrong encoding expected 'CP1252' got '$guess'\n";
   }
 } else {
   ok 0;
@@ -58,65 +74,74 @@ if( $guess ) {
 }
 
 
-# Initial smart-quote character triggers Latin-1 guess as expected
+# Initial smart-quote character triggers CP1252 guess as expected
 
-@output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{
+@output_lines = split m/[\r\n]+/, Pod::Simple::XMLOutStream->_out( qq{
 
 =head1 NAME
 
-Smart::Quote - \x91FUT\xC9\x92
+Smart::Quote - ${x91}FUT\xC9\x92
 
 =cut
 
 } );
 
-($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)};
-if( $guess ) {
-  if( $guess eq 'ISO8859-1' ) {
-    ok 1;
-  } else {
-    ok 0;
-    print "# parser guessed wrong encoding expected 'ISO8859-1' got '$guess'\n";
-  }
-} else {
-  ok 0;
-  print "# parser failed to detect non-ASCII bytes in input\n";
+if (ord("A") != 65) { # ASCII-platform dependent test skipped on this platform
+    ok (1);
+}
+else {
+    ($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)};
+    if( $guess ) {
+        if( $guess eq 'CP1252' ) {
+            ok 1;
+        } else {
+            ok 0;
+            print "# parser guessed wrong encoding expected 'CP1252' got '$guess'\n";
+        }
+    } else {
+        ok 0;
+        print "# parser failed to detect non-ASCII bytes in input\n";
+    }
 }
 
 
 # Initial accented character followed by 'smart' apostrophe causes heuristic
-# to choose UTF8 (a rather contrived example)
+# to choose UTF8 (a somewhat contrived example)
 
-@output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{
+@output_lines = split m/[\r\n]+/, Pod::Simple::XMLOutStream->_out( qq{
 
 =head1 NAME
 
-Smart::Apostrophe::Fail - L\xC9\x92STRANGE
+=head2 JOS\xC9\x92S PLACE
 
 =cut
 
 } );
 
-($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)};
-if( $guess ) {
-  if( $guess eq 'UTF-8' ) {
-    ok 1;
-  } else {
-    ok 0;
-    print "# parser guessed wrong encoding expected 'UTF-8' got '$guess'\n";
-  }
-} else {
-  ok 0;
-  print "# parser failed to detect non-ASCII bytes in input\n";
+if (ord("A") != 65) { # ASCII-platform dependent test skipped on this platform
+    ok (1);
+}
+else {
+    ($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)};
+    if( $guess ) {
+        if( $guess eq 'CP1252' ) {
+            ok 1;
+        } else {
+            ok 0;
+            print "# parser guessed wrong encoding expected 'CP1252' got '$guess'\n";
+        }
+    } else {
+        ok 0;
+        print "# parser failed to detect non-ASCII bytes in input\n";
+    }
 }
 
 
 # The previous example used a CP1252 byte sequence that also happened to be a
-# valid UTF8 byte sequence.  In this example the heuristic also guesses 'wrong'
-# despite the byte sequence not being valid UTF8 (it's too short).  This could
-# arguably be 'fixed' by using a less naive regex.
+# valid UTF8 byte sequence.  In this example we use an illegal UTF-8 sequence
+# (it needs a third byte), so must be 1252
 
-@output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{
+@output_lines = split m/[\r\n]+/, Pod::Simple::XMLOutStream->_out( qq{
 
 =head1 NAME
 
@@ -126,17 +151,22 @@ Smart::Apostrophe::Fail - L\xE9\x92Strange
 
 } );
 
-($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)};
-if( $guess ) {
-  if( $guess eq 'UTF-8' ) {
-    ok 1;
-  } else {
-    ok 0;
-    print "# parser guessed wrong encoding expected 'UTF-8' got '$guess'\n";
-  }
-} else {
-  ok 0;
-  print "# parser failed to detect non-ASCII bytes in input\n";
+if (ord("A") != 65) { # ASCII-platform dependent test skipped on this platform
+    ok (1);
+}
+else {
+    ($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)};
+    if( $guess ) {
+        if( $guess eq 'CP1252' ) {
+            ok 1;
+        } else {
+            ok 0;
+            print "# parser guessed wrong encoding expected 'CP1252' got '$guess'\n";
+        }
+    } else {
+        ok 0;
+        print "# parser failed to detect non-ASCII bytes in input\n";
+    }
 }
 
 
index 21f8a2d..0d0a9d4 100644 (file)
@@ -66,13 +66,25 @@ $p =~ s/, +/,\n/g;
 $p =~ s/^/#  /mg;
 print $p;
 
+my $ascii_order;
+if(     -e ($ascii_order = source_path('ascii_order.pl'))) {
+  #
+} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) {
+  #
+} else {
+    print STDERR __FILE__, ": ", __LINE__, ": ascii_order='$ascii_order'; curdir=", $cwd, "; ", File::Spec->catdir($cwd, 't', 'ascii_order.pl'), "\n";
+  die "Can't find ascii_order.pl";
+}
+
+require $ascii_order;
+
 {
-my $names = join "|", sort values %$where2name;
+my $names = join "|", sort ascii_order values %$where2name;
 ok $names, "Blorm|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|squaa|squaa::Glunk|squaa::Vliff|zikzik";
 }
 
 {
-my $names = join "|", sort keys %$name2where;
+my $names = join "|", sort ascii_order keys %$name2where;
 ok $names, "Blorm|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|squaa|squaa::Glunk|squaa::Vliff|zikzik";
 }
 
@@ -93,12 +105,12 @@ $p =~ s/^/#  /mg;
 print $p;
 
 {
-my $names = join "|", sort values %$where2name;
+my $names = join "|", sort ascii_order values %$where2name;
 ok $names, "Blorm|squaa|zikzik";
 }
 
 {
-my $names = join "|", sort keys %$name2where;
+my $names = join "|", sort ascii_order keys %$name2where;
 ok $names, "Blorm|squaa|zikzik";
 }
 
index e5bf492..851cf28 100644 (file)
@@ -59,13 +59,24 @@ $p =~ s/, +/,\n/g;
 $p =~ s/^/#  /mg;
 print $p;
 
+my $ascii_order;
+if(     -e ($ascii_order = source_path('ascii_order.pl'))) {
+  #
+} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) {
+  #
+} else {
+  die "Can't find ascii_order.pl";
+}
+
+require $ascii_order;
+
 {
-my $names = join "|", sort values %$where2name;
+my $names = join "|", sort ascii_order values %$where2name;
 ok $names, "Blorm|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|squaa|squaa::Glunk|squaa::Vliff|zikzik";
 }
 
 {
-my $names = join "|", sort keys %$name2where;
+my $names = join "|", sort ascii_order keys %$name2where;
 ok $names, "Blorm|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|squaa|squaa::Glunk|squaa::Vliff|zikzik";
 }
 
@@ -87,12 +98,12 @@ $p =~ s/^/#  /mg;
 print $p;
 
 {
-my $names = lc join "|", sort values %$where2name;
+my $names = lc join "|", sort ascii_order values %$where2name;
 ok $names, "suzzle";
 }
 
 {
-my $names = lc join "|", sort keys %$name2where;
+my $names = lc join "|", sort ascii_order keys %$name2where;
 ok $names, "suzzle";
 }
 
index ea161cc..043a0a7 100644 (file)
@@ -67,15 +67,26 @@ $p =~ s/, +/,\n/g;
 $p =~ s/^/#  /mg;
 print $p;
 
+my $ascii_order;
+if(     -e ($ascii_order = source_path('ascii_order.pl'))) {
+  #
+} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) {
+  #
+} else {
+  die "Can't find ascii_order.pl";
+}
+
+require $ascii_order;
+
 {
-my $names = join "|", sort values %$where2name;
+my $names = join "|", sort ascii_order values %$where2name;
 skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 
      $names, 
      "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Wowo|zikzik";
 }
 
 {
-my $names = join "|", sort keys %$name2where;
+my $names = join "|", sort ascii_order keys %$name2where;
 skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 
      $names, 
      "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Wowo|zikzik";
@@ -99,14 +110,14 @@ $p =~ s/^/#  /mg;
 print $p;
 
 {
-my $names = join "|", sort values %$where2name;
+my $names = join "|", sort ascii_order values %$where2name;
 skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 
      $names, 
      "Blorm|Suzzle|squaa|zikzik";
 }
 
 {
-my $names = join "|", sort keys %$name2where;
+my $names = join "|", sort ascii_order keys %$name2where;
 skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 
      $names, 
      "Blorm|Suzzle|squaa|zikzik";
index 24a91ed..64a6eeb 100644 (file)
@@ -68,9 +68,20 @@ $p =~ s/, +/,\n/g;
 $p =~ s/^/#  /mg;
 print $p;
 
+my $ascii_order;
+if(     -e ($ascii_order = source_path('ascii_order.pl'))) {
+  #
+} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) {
+  #
+} else {
+  die "Can't find ascii_order.pl";
+}
+
+require $ascii_order;
+
 {
 print "# won't show any shadows, since we're just looking at the name2where keys\n";
-my $names = join "|", sort keys %$name2where;
+my $names = join "|", sort ascii_order keys %$name2where;
 skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 
      $names, 
      "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Wowo|zikzik";
@@ -78,7 +89,7 @@ skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0,
 
 {
 print "# but here we'll see shadowing:\n";
-my $names = join "|", sort values %$where2name;
+my $names = join "|", sort ascii_order values %$where2name;
 skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 
      $names, 
      "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Glunk|hinkhonk::Vliff|hinkhonk::Vliff|perlflif|perlthng|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Vliff|squaa::Vliff|squaa::Wowo|zikzik";
@@ -87,10 +98,10 @@ my %count;
 for(values %$where2name) { ++$count{$_} };
 #print pretty(\%count), "\n\n";
 delete @count{ grep $count{$_} < 2, keys %count };
-my $shadowed = join "|", sort keys %count;
+my $shadowed = join "|", sort ascii_order keys %count;
 ok $shadowed, "hinkhonk::Glunk|hinkhonk::Vliff|perlthng|squaa::Vliff";
 
-sub thar { print "# Seen $_[0] :\n", map "#  {$_}\n", sort grep $where2name->{$_} eq $_[0],keys %$where2name; return; }
+sub thar { print "# Seen $_[0] :\n", map "#  {$_}\n", sort ascii_order grep $where2name->{$_} eq $_[0],keys %$where2name; return; }
 
 ok $count{'perlthng'}, 2;
 thar 'perlthng';
index fb9d322..00b3ea4 100644 (file)
@@ -78,13 +78,24 @@ $p =~ s/, +/,\n/g;
 $p =~ s/^/#  /mg;
 print $p;
 
+my $ascii_order;
+if(     -e ($ascii_order = source_path('ascii_order.pl'))) {
+  #
+} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) {
+  #
+} else {
+  die "Can't find ascii_order.pl";
+}
+
+require $ascii_order;
+
 {
-my $names = join "|", sort keys %$name2where;
+my $names = join "|", sort ascii_order keys %$name2where;
 ok $names, "Zonk::Pronk|hinkhonk::Glunk|perlzuk|squaa::Glunk|zikzik";
 }
 
 {
-my $names = join "|", sort values %$where2name;
+my $names = join "|", sort ascii_order values %$where2name;
 ok $names, "Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Glunk|perlzuk|squaa::Glunk|zikzik";
 }
 
index 9301232..e0ad497 100644 (file)
@@ -72,8 +72,19 @@ $p =~ s/, +/,\n/g;
 $p =~ s/^/#  /mg;
 print $p;
 
+my $ascii_order;
+if(     -e ($ascii_order = source_path('ascii_order.pl'))) {
+  #
+} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) {
+  #
+} else {
+  die "Can't find ascii_order.pl";
+}
+
+require $ascii_order;
+
 {
-my $names = join "|", sort values %$where2name;
+my $names = join "|", sort ascii_order values %$where2name;
 ok $names, "Zonk::Pronk|perlzuk|zikzik";
 }
 
index 4501400..15bf5c1 100644 (file)
@@ -39,9 +39,9 @@ ok $found;
 
 # print "# Found $found items in $t seconds!\n# See...\n";
 
-my $p = pretty( $where2name, $name2where )."\n";
-$p =~ s/, +/,\n/g;
-$p =~ s/^/#  /mg;
+my $p = pretty( $where2name, $name2where )."\n";
+$p =~ s/, +/,\n/g;
+$p =~ s/^/#  /mg;
 # print $p;
 
 # print "# OK, making sure strict and strict.pm were in there...\n";
@@ -64,8 +64,7 @@ SKIP: {
 # print "# Test again on a module we know is present, in case the
 # strict.pm tests were skipped...\n";
 
-# Grab the first item in $name2where, since it doesn't matter which we
-# use.
+# Search for all files in $name2where.
 while (my ($testmod, $testpath) = each %{ $name2where }) {
   unless ( $testmod ) {
     fail;  # no 'thatpath/<name>.pm' means can't test find()
@@ -74,13 +73,10 @@ while (my ($testmod, $testpath) = each %{ $name2where }) {
   my @x = ($x->find($testmod)||'(nil)', $testpath);
   # print "# Comparing \"$x[0]\" to \"$x[1]\"\n";
   for(@x) { s{[/\\]}{/}g; }
-  # If it finds a .pod, it's probably correct, as that's where the docs are.
-  # Change it to .pm so that it matches.
-  $x[0] =~ s{[.]pod$}{.pm} if $x[1] =~ m{[.]pm$};
   # print "#        => \"$x[0]\" to \"$x[1]\"\n";
   is
-       lc $x[0],
-       lc $x[1],
+       $x[0],
+       $x[1],
        " find('$testmod') should match survey's name2where{$testmod}"
            ;
 }
index dba6e5e..01e6f18 100644 (file)
@@ -708,7 +708,7 @@ This is Anna's "Answer" to the <q>Question</q>.
 =cut
 
 EOPOD
-my $T = $use_html_entities ? 84 : 'x54';
+my $T = $use_html_entities ? ord('T') : sprintf ("x%X", ord('T'));
 is($results, <<"EOHTML", 'HTML Entities should be only for specified characters');
 <p>&#$T;his is Anna's &quot;Answer&quot; to the &lt;q&gt;Question&lt;/q&gt;.</p>
 
index bb8e60f..a57d5f2 100644 (file)
@@ -11,7 +11,7 @@ package Pod::Usage;
 use strict;
 
 use vars qw($VERSION @ISA @EXPORT);
-$VERSION = '1.64';  ## Current version of this package
+$VERSION = '1.67';  ## Current version of this package
 require  5.006;    ## requires this Perl version or later
 
 #use diagnostics;
@@ -128,7 +128,8 @@ sub pod2usage {
     }
 
     ## Check for perldoc
-    my $progpath = File::Spec->catfile($Config{scriptdirexp} 
+    my $progpath = $opts{perldoc} ? $opts{perldoc} :
+        File::Spec->catfile($Config{scriptdirexp} 
        || $Config{scriptdir}, 'perldoc');
 
     my $version = sprintf("%vd",$^V);
@@ -148,7 +149,9 @@ sub pod2usage {
        if(defined $opts{-input} && $opts{-input} =~ /^\s*(\S.*?)\s*$/) {
          # the perldocs back to 5.005 should all have -F
         # without -F there are warnings in -T scripts
-         system($progpath, '-F', $1);
+         my @perldoc_cmd = ( $progpath, '-F', $1 );
+         unshift @perldoc_cmd, $opts{'-perlcmd'} if $opts{'-perlcmd'};
+         system(@perldoc_cmd);
          if($?) {
            # RT16091: fall back to more if perldoc failed
            system(($Config{pager} || $ENV{PAGER} || '/bin/more'), $1);
@@ -263,10 +266,13 @@ sub select {
 
 # Override Pod::Text->seq_i to return just "arg", not "*arg*".
 sub seq_i { return $_[1] }
+# Override Pod::Text->cmd_i to return just "arg", not "*arg*".
+# newer version based on Pod::Simple
+sub cmd_i { return $_[2] }
 
 # This overrides the Pod::Text method to do something very akin to what
 # Pod::Select did as well as the work done below by preprocess_paragraph.
-# Note that the below is very, very specific to Pod::Text.
+# Note that the below is very, very specific to Pod::Text and Pod::Simple.
 sub _handle_element_end {
     my ($self, $element) = @_;
     if ($element eq 'head1') {
@@ -278,6 +284,8 @@ sub _handle_element_end {
         my $idx = $1 - 1;
         $self->{USAGE_HEADINGS} = [] unless($self->{USAGE_HEADINGS});
         $self->{USAGE_HEADINGS}->[$idx] = $$self{PENDING}[-1][1];
+        # we have to get rid of the lower headings
+        splice(@{$self->{USAGE_HEADINGS}},$idx+1);
     }
     if ($element =~ /^head\d+$/) {
         $$self{USAGE_SKIPPING} = 1;
@@ -312,7 +320,7 @@ sub _handle_element_end {
             $$self{PENDING}[-1][1] = $_;
         }
     }
-    if ($$self{USAGE_SKIPPING} && $element !~ m/^over-/) {
+    if ($$self{USAGE_SKIPPING} && $element !~ m/^over-|^[BCFILSZ]$/) {
         pop @{ $$self{PENDING} };
     } else {
         $self->SUPER::_handle_element_end($element);
@@ -383,10 +391,14 @@ Pod::Usage - print a usage message from embedded pod documentation
   pod2usage(   -msg     => $message_text ,
                -exitval => $exit_status  ,  
                -verbose => $verbose_level,  
-               -output  => $filehandle   );
+               -output  => $filehandle );
 
   pod2usage(   -verbose => 2,
-               -noperldoc => 1  )
+               -noperldoc => 1  );
+
+  pod2usage(   -verbose => 2,
+               -perlcmd => $path_to_perl,
+               -perldoc => $path_to_perldoc );
 
 =head1 ARGUMENTS
 
@@ -418,49 +430,73 @@ keys:
 
 =over 4
 
-=item C<-message>
+=item C<-message> I<string>
 
-=item C<-msg>
+=item C<-msg> I<string>
 
 The text of a message to print immediately prior to printing the
 program's usage message. 
 
-=item C<-exitval>
+=item C<-exitval> I<value>
 
 The desired exit status to pass to the B<exit()> function.
 This should be an integer, or else the string "NOEXIT" to
 indicate that control should simply be returned without
 terminating the invoking process.
 
-=item C<-verbose>
+=item C<-verbose> I<value>
 
-The desired level of "verboseness" to use when printing the usage
-message. If the corresponding value is 0, then only the "SYNOPSIS"
-section of the pod documentation is printed. If the corresponding value
-is 1, then the "SYNOPSIS" section, along with any section entitled
-"OPTIONS", "ARGUMENTS", or "OPTIONS AND ARGUMENTS" is printed.  If the
-corresponding value is 2 or more then the entire manpage is printed.
+The desired level of "verboseness" to use when printing the usage message.
+If the value is 0, then only the "SYNOPSIS" section of the pod documentation
+is printed. If the value is 1, then the "SYNOPSIS" section, along with any
+section entitled "OPTIONS", "ARGUMENTS", or "OPTIONS AND ARGUMENTS" is
+printed. If the corresponding value is 2 or more then the entire manpage is
+printed, using L<perldoc> if available; otherwise L<Pod::Text> is used for
+the formatting. For better readability, the all-capital headings are
+downcased, e.g. C<SYNOPSIS> =E<gt> C<Synopsis>.
 
 The special verbosity level 99 requires to also specify the -sections
 parameter; then these sections are extracted and printed.
 
-=item C<-sections>
+=item C<-sections> I<spec>
+
+There are two ways to specify the selection. Either a string (scalar) 
+representing a selection regexp for sections to be printed when -verbose
+is set to 99, e.g.
+
+  "NAME|SYNOPSIS|DESCRIPTION|VERSION"
+
+With the above regexp all content following (and including) any of the
+given C<=head1> headings will be shown. It is possible to restrict the 
+output to particular subsections only, e.g.:
+
+  "DESCRIPTION/Algorithm"
+
+This will output only the C<=head2 Algorithm> heading and content within
+the C<=head1 DESCRIPTION> section. The regexp binding is stronger than the
+section separator, such that e.g.:
+
+  "DESCRIPTION|OPTIONS|ENVIORNMENT/Caveats"
 
-A string representing a selection list for sections to be printed
-when -verbose is set to 99, e.g. C<"NAME|SYNOPSIS|DESCRIPTION|VERSION">.
+will print any C<=head2 Caveats> section (only) within any of the three
+C<=head1> sections.
 
 Alternatively, an array reference of section specifications can be used:
 
-  pod2usage(-verbose => 99, 
-            -sections => [ qw(fred fred/subsection) ] );
+  pod2usage(-verbose => 99, -sections => [
+    qw(DESCRIPTION DESCRIPTION/Introduction) ] );
 
-=item C<-output>
+This will print only the content of C<=head1 DESCRIPTION> and the 
+C<=head2 Introduction> sections, but no other C<=head2>, and no other
+C<=head1> either.
+
+=item C<-output> I<handle>
 
 A reference to a filehandle, or the pathname of a file to which the
 usage message should be written. The default is C<\*STDERR> unless the
 exit value is less than 2 (in which case the default is C<\*STDOUT>).
 
-=item C<-input>
+=item C<-input> I<handle>
 
 A reference to a filehandle, or the pathname of a file from which the
 invoking script's pod documentation should be read.  It defaults to the
@@ -472,7 +508,7 @@ that module's POD, you can use this:
   use Pod::Find qw(pod_where);
   pod2usage( -input => pod_where({-inc => 1}, __PACKAGE__) );
 
-=item C<-pathlist>
+=item C<-pathlist> I<string>
 
 A list of directory paths. If the input file does not exist, then it
 will be searched for in the given directory list (in the order the
@@ -490,17 +526,37 @@ with L<PAR>. The -noperldoc option suppresses the external call to
 L<perldoc> and uses the simple text formatter (L<Pod::Text>) to 
 output the POD.
 
+=item C<-perlcmd>
+
+By default, Pod::Usage will call L<perldoc> when -verbose >= 2 is
+specified. In case of special or unusual Perl installations,
+the -perlcmd option may be used to supply the path to a L<perl> executable
+which should run L<perldoc>.
+
+=item C<-perldoc>
+
+By default, Pod::Usage will call L<perldoc> when -verbose >= 2 is
+specified. In case L<perldoc> is not installed where the L<perl> interpreter
+thinks it is (see L<Config>), the -perldoc option may be used to supply
+the correct path to L<perldoc>.
+
 =back
 
 =head2 Formatting base class
 
-The default text formatter is L<Pod::Text>.  The base class for Pod::Usage can
+The default text formatter is L<Pod::Text>. The base class for Pod::Usage can
 be defined by pre-setting C<$Pod::Usage::Formatter> I<before>
 loading Pod::Usage, e.g.:
 
     BEGIN { $Pod::Usage::Formatter = 'Pod::Text::Termcap'; }
     use Pod::Usage qw(pod2usage);
 
+Pod::Usage uses L<Pod::Simple>'s _handle_element_end() method to implement
+the section selection, and in case of verbosity < 2 it down-cases the
+all-caps headings to first capital letter and rest lowercase, and adds
+a colon/newline at the end of the headings, for better readability. Same for
+verbosity = 99.
+
 =head2 Pass-through options
 
 The following options are passed through to the underlying text formatter.
index 0d84590..9102455 100644 (file)
-#!/usr/local/bin/perl\r
-\r
-use Config;\r
-use File::Basename qw(&basename &dirname);\r
-use Cwd;\r
-\r
-# List explicitly here the variables you want Configure to\r
-# generate.  Metaconfig only looks for shell variables, so you\r
-# have to mention them as if they were shell variables, not\r
-# %Config entries.  Thus you write\r
-#  $startperl\r
-# to ensure Configure will look for $Config{startperl}.\r
-\r
-# This forces PL files to create target in same directory as PL file.\r
-# This is so that make depend always knows where to find PL derivatives.\r
-$origdir = cwd;\r
-chdir(dirname($0));\r
-$file = basename($0, '.PL');\r
-$file .= '.com' if $^O eq 'VMS';\r
-\r
-open OUT,">$file" or die "Can't create $file: $!";\r
-\r
-print "Extracting $file (with variable substitutions)\n";\r
-\r
-# In this section, perl variables will be expanded during extraction.\r
-# You can use $Config{...} to use Configure variables.\r
-\r
-print OUT <<"!GROK!THIS!";\r
-$Config{'startperl'}\r
-    eval 'exec perl -S \$0 "\$@"'\r
-        if 0;\r
-!GROK!THIS!\r
-\r
-# In the following, perl variables are not expanded during extraction.\r
-\r
-print OUT <<'!NO!SUBS!';\r
-\r
-#############################################################################\r
-# pod2usage -- command to print usage messages from embedded pod docs\r
-#\r
-# Copyright (c) 1996-2000 by Bradford Appleton. All rights reserved.\r
-# This file is part of "PodParser". PodParser is free software;\r
-# you can redistribute it and/or modify it under the same terms\r
-# as Perl itself.\r
-#############################################################################\r
-\r
-use strict;\r
-#use diagnostics;\r
-\r
-=head1 NAME\r
-\r
-pod2usage - print usage messages from embedded pod docs in files\r
-\r
-=head1 SYNOPSIS\r
-\r
-=over 12\r
-\r
-=item B<pod2usage>\r
-\r
-[B<-help>]\r
-[B<-man>]\r
-[B<-exit>S< >I<exitval>]\r
-[B<-output>S< >I<outfile>]\r
-[B<-verbose> I<level>]\r
-[B<-pathlist> I<dirlist>]\r
-[B<-formatter> I<module>]\r
-I<file>\r
-\r
-=back\r
-\r
-=head1 OPTIONS AND ARGUMENTS\r
-\r
-=over 8\r
-\r
-=item B<-help>\r
-\r
-Print a brief help message and exit.\r
-\r
-=item B<-man>\r
-\r
-Print this command's manual page and exit.\r
-\r
-=item B<-exit> I<exitval>\r
-\r
-The exit status value to return.\r
-\r
-=item B<-output> I<outfile>\r
-\r
-The output file to print to. If the special names "-" or ">&1" or ">&STDOUT"\r
-are used then standard output is used. If ">&2" or ">&STDERR" is used then\r
-standard error is used.\r
-\r
-=item B<-verbose> I<level>\r
-\r
-The desired level of verbosity to use:\r
-\r
-    1 : print SYNOPSIS only\r
-    2 : print SYNOPSIS sections and any OPTIONS/ARGUMENTS sections\r
-    3 : print the entire manpage (similar to running pod2text)\r
-\r
-=item B<-pathlist> I<dirlist>\r
-\r
-Specifies one or more directories to search for the input file if it\r
-was not supplied with an absolute path. Each directory path in the given\r
-list should be separated by a ':' on Unix (';' on MSWin32 and DOS).\r
-\r
-=item B<-formatter> I<module>\r
-\r
-Which text formatter to use. Default is L<Pod::Text>, or for very old\r
-Perl versions L<Pod::PlainText>. An alternative would be e.g. \r
-L<Pod::Text::Termcap>.\r
-\r
-=item I<file>\r
-\r
-The pathname of a file containing pod documentation to be output in\r
-usage message format (defaults to standard input).\r
-\r
-=back\r
-\r
-=head1 DESCRIPTION\r
-\r
-B<pod2usage> will read the given input file looking for pod\r
-documentation and will print the corresponding usage message.\r
-If no input file is specified then standard input is read.\r
-\r
-B<pod2usage> invokes the B<pod2usage()> function in the B<Pod::Usage>\r
-module. Please see L<Pod::Usage/pod2usage()>.\r
-\r
-=head1 SEE ALSO\r
-\r
-L<Pod::Usage>, L<pod2text(1)>\r
-\r
-=head1 AUTHOR\r
-\r
-Please report bugs using L<http://rt.cpan.org>.\r
-\r
-Brad Appleton E<lt>bradapp@enteract.comE<gt>\r
-\r
-Based on code for B<pod2text(1)> written by\r
-Tom Christiansen E<lt>tchrist@mox.perl.comE<gt>\r
-\r
-=cut\r
-\r
-use Getopt::Long;\r
-\r
-## Define options\r
-my %options = ();\r
-my @opt_specs = (\r
-    'help',\r
-    'man',\r
-    'exit=i',\r
-    'output=s',\r
-    'pathlist=s',\r
-    'formatter=s',\r
-    'verbose=i',\r
-);\r
-\r
-## Parse options\r
-GetOptions(\%options, @opt_specs)  ||  pod2usage(2);\r
-$Pod::Usage::Formatter = $options{formatter} if $options{formatter};\r
-require Pod::Usage;\r
-Pod::Usage->import();\r
-pod2usage(1)  if ($options{help});\r
-pod2usage(VERBOSE => 2)  if ($options{man});\r
-\r
-## Dont default to STDIN if connected to a terminal\r
-pod2usage(2) if ((@ARGV == 0) && (-t STDIN));\r
-\r
-@ARGV = ('-')  unless (@ARGV);\r
-if (@ARGV > 1) {\r
-    print STDERR "pod2usage: Too many filenames given\n\n";\r
-    pod2usage(2);\r
-}\r
-\r
-my %usage = ();\r
-$usage{-input}    = shift(@ARGV);\r
-$usage{-exitval}  = $options{'exit'}      if (defined $options{'exit'});\r
-$usage{-output}   = $options{'output'}    if (defined $options{'output'});\r
-$usage{-verbose}  = $options{'verbose'}   if (defined $options{'verbose'});\r
-$usage{-pathlist} = $options{'pathlist'}  if (defined $options{'pathlist'});\r
-\r
-pod2usage(\%usage);\r
-\r
-\r
-!NO!SUBS!\r
-\r
-close OUT or die "Can't close $file: $!";\r
-chmod 0755, $file or die "Can't reset permissions for $file: $!\n";\r
-exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':';\r
-chdir $origdir;\r
+#!/usr/local/bin/perl
+
+use Config;
+use File::Basename qw(&basename &dirname);
+use Cwd;
+
+# List explicitly here the variables you want Configure to
+# generate.  Metaconfig only looks for shell variables, so you
+# have to mention them as if they were shell variables, not
+# %Config entries.  Thus you write
+#  $startperl
+# to ensure Configure will look for $Config{startperl}.
+
+# This forces PL files to create target in same directory as PL file.
+# This is so that make depend always knows where to find PL derivatives.
+$origdir = cwd;
+chdir(dirname($0));
+$file = basename($0, '.PL');
+$file .= '.com' if $^O eq 'VMS';
+
+open OUT,">$file" or die "Can't create $file: $!";
+
+print "Extracting $file (with variable substitutions)\n";
+
+# In this section, perl variables will be expanded during extraction.
+# You can use $Config{...} to use Configure variables.
+
+print OUT <<"!GROK!THIS!";
+$Config{'startperl'}
+    eval 'exec perl -S \$0 "\$@"'
+        if 0;
+!GROK!THIS!
+
+# In the following, perl variables are not expanded during extraction.
+
+print OUT <<'!NO!SUBS!';
+
+#############################################################################
+# pod2usage -- command to print usage messages from embedded pod docs
+#
+# Copyright (c) 1996-2000 by Bradford Appleton. All rights reserved.
+# This file is part of "PodParser". PodParser is free software;
+# you can redistribute it and/or modify it under the same terms
+# as Perl itself.
+#############################################################################
+
+use strict;
+#use diagnostics;
+
+=head1 NAME
+
+pod2usage - print usage messages from embedded pod docs in files
+
+=head1 SYNOPSIS
+
+=over 12
+
+=item B<pod2usage>
+
+[B<-help>]
+[B<-man>]
+[B<-exit>S< >I<exitval>]
+[B<-output>S< >I<outfile>]
+[B<-verbose> I<level>]
+[B<-pathlist> I<dirlist>]
+[B<-formatter> I<module>]
+[B<-utf8>]
+I<file>
+
+=back
+
+=head1 OPTIONS AND ARGUMENTS
+
+=over 8
+
+=item B<-help>
+
+Print a brief help message and exit.
+
+=item B<-man>
+
+Print this command's manual page and exit.
+
+=item B<-exit> I<exitval>
+
+The exit status value to return.
+
+=item B<-output> I<outfile>
+
+The output file to print to. If the special names "-" or ">&1" or ">&STDOUT"
+are used then standard output is used. If ">&2" or ">&STDERR" is used then
+standard error is used.
+
+=item B<-verbose> I<level>
+
+The desired level of verbosity to use:
+
+    1 : print SYNOPSIS only
+    2 : print SYNOPSIS sections and any OPTIONS/ARGUMENTS sections
+    3 : print the entire manpage (similar to running pod2text)
+
+=item B<-pathlist> I<dirlist>
+
+Specifies one or more directories to search for the input file if it
+was not supplied with an absolute path. Each directory path in the given
+list should be separated by a ':' on Unix (';' on MSWin32 and DOS).
+
+=item B<-formatter> I<module>
+
+Which text formatter to use. Default is L<Pod::Text>, or for very old
+Perl versions L<Pod::PlainText>. An alternative would be e.g. 
+L<Pod::Text::Termcap>.
+
+=item B<-utf8>
+
+This option assumes that the formatter (see above) understands the option
+"utf8". It turns on generation of utf8 output.
+
+=item I<file>
+
+The pathname of a file containing pod documentation to be output in
+usage message format (defaults to standard input).
+
+=back
+
+=head1 DESCRIPTION
+
+B<pod2usage> will read the given input file looking for pod
+documentation and will print the corresponding usage message.
+If no input file is specified then standard input is read.
+
+B<pod2usage> invokes the B<pod2usage()> function in the B<Pod::Usage>
+module. Please see L<Pod::Usage/pod2usage()>.
+
+=head1 SEE ALSO
+
+L<Pod::Usage>, L<pod2text(1)>
+
+=head1 AUTHOR
+
+Please report bugs using L<http://rt.cpan.org>.
+
+Brad Appleton E<lt>bradapp@enteract.comE<gt>
+
+Based on code for B<pod2text(1)> written by
+Tom Christiansen E<lt>tchrist@mox.perl.comE<gt>
+
+=cut
+
+use Getopt::Long;
+
+## Define options
+my %options = ();
+my @opt_specs = (
+    'help',
+    'man',
+    'exit=i',
+    'output=s',
+    'pathlist=s',
+    'formatter=s',
+    'verbose=i',
+    'utf8!'
+);
+
+## Parse options
+GetOptions(\%options, @opt_specs)  ||  pod2usage(2);
+$Pod::Usage::Formatter = $options{formatter} if $options{formatter};
+require Pod::Usage;
+Pod::Usage->import();
+pod2usage(1)  if ($options{help});
+pod2usage(VERBOSE => 2)  if ($options{man});
+
+## Dont default to STDIN if connected to a terminal
+pod2usage(2) if ((@ARGV == 0) && (-t STDIN));
+
+@ARGV = ('-')  unless (@ARGV);
+if (@ARGV > 1) {
+    print STDERR "pod2usage: Too many filenames given\n\n";
+    pod2usage(2);
+}
+
+my %usage = ();
+$usage{-input}    = shift(@ARGV);
+$usage{-exitval}  = $options{'exit'}      if (defined $options{'exit'});
+$usage{-output}   = $options{'output'}    if (defined $options{'output'});
+$usage{-verbose}  = $options{'verbose'}   if (defined $options{'verbose'});
+$usage{-pathlist} = $options{'pathlist'}  if (defined $options{'pathlist'});
+$usage{-utf8}     = $options{'utf8'}      if (defined $options{'utf8'});
+
+pod2usage(\%usage);
+
+
+!NO!SUBS!
+
+close OUT or die "Can't close $file: $!";
+chmod 0755, $file or die "Can't reset permissions for $file: $!\n";
+exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':';
+chdir $origdir;
diff --git a/cpan/Pod-Usage/t/pod/headwithmarkup.pl b/cpan/Pod-Usage/t/pod/headwithmarkup.pl
new file mode 100644 (file)
index 0000000..318c851
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Pod::Usage;
+pod2usage(
+    -exitstatus => 0,
+    -verbose => 99,
+    -sections => 'ACTIONS/back.*',
+    -noperldoc => 1
+);
+
+__END__
+
+=head1 ACTIONS
+
+Para for actions.
+
+=head2 backup I<pkg> B<please> dest
+
+Para for backup.
+
+=cut
diff --git a/cpan/Pod-Usage/t/pod/headwithmarkup.t b/cpan/Pod-Usage/t/pod/headwithmarkup.t
new file mode 100644 (file)
index 0000000..adba2be
--- /dev/null
@@ -0,0 +1,13 @@
+use Test::More tests => 1;
+
+my $blib = $ENV{PERL_CORE} ? '-I../../lib' : '-Mblib';
+
+my $pl = $0;
+$pl =~ s{t$}{pl};
+
+my $out = `$^X $blib $pl`;
+$out =~ s{\s+}{ }gs;
+$out =~ s{^\s+|\s+$}{}gs;
+# we want to make sure that the marked-up text is not lost
+is($out, 'backup pkg please dest: Para for backup.');
+
index 858cc56..ec0e3a7 100644 (file)
@@ -1,18 +1,18 @@
-use Pod::Usage;\r
-pod2usage(-verbose => 2, -exit => 17, -input => \*DATA);\r
-\r
-__DATA__\r
-=head1 NAME\r
-\r
-Test\r
-\r
-=head1 SYNOPSIS\r
-\r
-perl podusagetest.pl\r
-\r
-=head1 DESCRIPTION\r
-\r
-This is a test. \r
-\r
-=cut\r
-\r
+use Pod::Usage;
+pod2usage(-verbose => 2, -exit => 17, -input => \*DATA);
+
+__DATA__
+=head1 NAME
+
+Test
+
+=head1 SYNOPSIS
+
+perl podusagetest.pl
+
+=head1 DESCRIPTION
+
+This is a test. 
+
+=cut
+
index 98788fc..cf2c31b 100644 (file)
@@ -1,18 +1,18 @@
-BEGIN {\r
-   use File::Basename;\r
-   my $THISDIR = dirname $0;\r
-   unshift @INC, $THISDIR;\r
-   require "testp2pt.pl";\r
-   import TestPodIncPlainText;\r
-}\r
-\r
-my %options = map { $_ => 1 } @ARGV;  ## convert cmdline to options-hash\r
-my $passed  = testpodplaintext \%options, $0;\r
-exit( ($passed == 1) ? 0 : -1 )  unless $ENV{HARNESS_ACTIVE};\r
-\r
-\r
-__END__\r
-\r
-=include pod2usage.PL\r
-\r
-\r
+BEGIN {
+   use File::Basename;
+   my $THISDIR = dirname $0;
+   unshift @INC, $THISDIR;
+   require "testp2pt.pl";
+   import TestPodIncPlainText;
+}
+
+my %options = map { $_ => 1 } @ARGV;  ## convert cmdline to options-hash
+my $passed  = testpodplaintext \%options, $0;
+exit( ($passed == 1) ? 0 : -1 )  unless $ENV{HARNESS_ACTIVE};
+
+
+__END__
+
+=include pod2usage.PL
+
+
index ceac4f1..7460a6d 100644 (file)
@@ -5,7 +5,7 @@ NAME
 SYNOPSIS
     pod2usage   [-help] [-man] [-exit *exitval*] [-output *outfile*]
                 [-verbose *level*] [-pathlist *dirlist*] [-formatter
-                *module*] *file*
+                *module*] [-utf8] *file*
 
 OPTIONS AND ARGUMENTS
     -help   Print a brief help message and exit.
@@ -38,6 +38,9 @@ OPTIONS AND ARGUMENTS
             or for very old Perl versions the Pod::PlainText manpage. An
             alternative would be e.g. the Pod::Text::Termcap manpage.
 
+    -utf8   This option assumes that the formatter (see above) understands
+            the option "utf8". It turns on generation of utf8 output.
+
     *file*  The pathname of a file containing pod documentation to be output
             in usage message format (defaults to standard input).
 
index a2b0a32..0ac4747 100644 (file)
-#!/usr/bin/perl -w\r
-\r
-use Test::More;\r
-use strict;\r
-\r
-BEGIN {\r
-  if ($^O eq 'MSWin32' || $^O eq 'VMS') {\r
-    plan skip_all => "Not portable on Win32 or VMS\n";\r
-  }\r
-  else {\r
-    plan tests => 34;\r
-  }\r
-  use_ok ("Pod::Usage");\r
-}\r
-\r
-sub getoutput\r
-{\r
-  my ($code) = @_;\r
-  my $pid = open(TEST_IN, "-|");\r
-  unless(defined $pid) {\r
-    die "Cannot fork: $!";\r
-  }\r
-  if($pid) {\r
-    # parent\r
-    my @out = <TEST_IN>;\r
-    close(TEST_IN);\r
-    my $exit = $?>>8;\r
-    s/^/#/ for @out;\r
-    local $" = "";\r
-    print "#EXIT=$exit OUTPUT=+++#@out#+++\n";\r
-    return($exit, join("",@out));\r
-  }\r
-  # child\r
-  open(STDERR, ">&STDOUT");\r
-  Test::More->builder->no_ending(1);\r
-  &$code;\r
-  print "--NORMAL-RETURN--\n";\r
-  exit 0;\r
-}\r
-\r
-sub compare\r
-{\r
-  my ($left,$right) = @_;\r
-  $left  =~ s/^#\s+/#/gm;\r
-  $right =~ s/^#\s+/#/gm;\r
-  $left  =~ s/\s+/ /gm;\r
-  $right =~ s/\s+/ /gm;\r
-  $left eq $right;\r
-}\r
-\r
-SKIP: {\r
-if('Pod::Usage'->isa('Pod::Text') && $Pod::Text::VERSION < 2.18) {\r
-  skip("Formatting with Pod::Text $Pod::Text::VERSION not reliable", 33);\r
-}\r
-\r
-my ($exit, $text) = getoutput( sub { pod2usage() } );\r
-is ($exit, 2,                 "Exit status pod2usage ()");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage ()");\r
-#Usage:\r
-#    frobnicate [ -r | --recursive ] [ -f | --force ] file ...\r
-#\r
-EOT\r
-\r
-($exit, $text) = getoutput( sub { pod2usage(\r
-  -message => 'You naughty person, what did you say?',\r
-  -verbose => 1 ) });\r
-is ($exit, 1,                 "Exit status pod2usage (-message => '...', -verbose => 1)");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage (-message => '...', -verbose => 1)") or diag("Got:\n$text\n");\r
-#You naughty person, what did you say?\r
-# Usage:\r
-#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...\r
-# \r
-# Options:\r
-#     -r | --recursive\r
-#         Run recursively.\r
-# \r
-#     -f | --force\r
-#         Just do it!\r
-# \r
-#     -n number\r
-#         Specify number of frobs, default is 42.\r
-# \r
-EOT\r
-\r
-($exit, $text) = getoutput( sub { pod2usage(\r
-  -verbose => 2, -exit => 42 ) } );\r
-is ($exit, 42,                "Exit status pod2usage (-verbose => 2, -exit => 42)");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 2, -exit => 42)");\r
-#NAME\r
-#     frobnicate - do what I mean\r
-#\r
-# SYNOPSIS\r
-#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...\r
-#\r
-# DESCRIPTION\r
-#     frobnicate does foo and bar and what not.\r
-#\r
-# OPTIONS\r
-#     -r | --recursive\r
-#         Run recursively.\r
-#\r
-#     -f | --force\r
-#         Just do it!\r
-#\r
-#     -n number\r
-#         Specify number of frobs, default is 42.\r
-#\r
-EOT\r
-\r
-($exit, $text) = getoutput( sub { pod2usage(0) } );\r
-is ($exit, 0,                 "Exit status pod2usage (0)");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage (0)");\r
-#Usage:\r
-#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...\r
-#\r
-# Options:\r
-#     -r | --recursive\r
-#         Run recursively.\r
-#\r
-#     -f | --force\r
-#         Just do it!\r
-#\r
-#     -n number\r
-#         Specify number of frobs, default is 42.\r
-#\r
-EOT\r
-\r
-($exit, $text) = getoutput( sub { pod2usage(42) } );\r
-is ($exit, 42,                "Exit status pod2usage (42)");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage (42)");\r
-#Usage:\r
-#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...\r
-#\r
-EOT\r
-\r
-($exit, $text) = getoutput( sub { pod2usage(-verbose => 0, -exit => 'NOEXIT') } );\r
-is ($exit, 0,                 "Exit status pod2usage (-verbose => 0, -exit => 'NOEXIT')");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 0, -exit => 'NOEXIT')");\r
-#Usage:\r
-#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...\r
-#\r
-# --NORMAL-RETURN--\r
-EOT\r
-\r
-($exit, $text) = getoutput( sub { pod2usage(-verbose => 99, -sections => 'DESCRIPTION') } );\r
-is ($exit, 1,                 "Exit status pod2usage (-verbose => 99, -sections => 'DESCRIPTION')");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 99, -sections => 'DESCRIPTION')");\r
-#Description:\r
-#     frobnicate does foo and bar and what not.\r
-#\r
-EOT\r
-\r
-# does the __DATA__ work ok as input\r
-my (@blib, $test_script, $pod_file1, , $pod_file2);\r
-if (!$ENV{PERL_CORE}) {\r
-  @blib = '-Mblib';\r
-}\r
-$test_script = File::Spec->catfile(qw(t pod p2u_data.pl));\r
-$pod_file1 = File::Spec->catfile(qw(t pod usage.pod));\r
-$pod_file2 = File::Spec->catfile(qw(t pod usage2.pod));\r
-\r
-\r
-($exit, $text) = getoutput( sub { system($^X, @blib, $test_script); exit($?  >> 8); } );\r
-$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR\r
-is ($exit, 17,                 "Exit status pod2usage (-verbose => 2, -input => \*DATA)");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 2, -input => \*DATA)") or diag "Got:\n$text\n";\r
-#NAME\r
-#    Test\r
-#\r
-#SYNOPSIS\r
-#    perl podusagetest.pl\r
-#\r
-#DESCRIPTION\r
-#    This is a test.\r
-#\r
-EOT\r
-\r
-# test that SYNOPSIS and USAGE are printed\r
-($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1,\r
-                                            -exitval => 0, -verbose => 0); });\r
-$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR\r
-is ($exit, 0,                 "Exit status pod2usage with USAGE");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE") or diag "Got:\n$text\n";\r
-#Usage:\r
-#    This is a test for CPAN#33020\r
-#\r
-#Usage:\r
-#    And this will be also printed.\r
-#\r
-EOT\r
-\r
-# test that SYNOPSIS and USAGE are printed with options\r
-($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1,\r
-                                            -exitval => 0, -verbose => 1); });\r
-$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR\r
-is ($exit, 0,                 "Exit status pod2usage with USAGE and verbose=1");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE and verbose=1") or diag "Got:\n$text\n";\r
-#Usage:\r
-#    This is a test for CPAN#33020\r
-#\r
-#Usage:\r
-#    And this will be also printed.\r
-#\r
-#Options:\r
-#    And this with verbose == 1\r
-#\r
-EOT\r
-\r
-# test that only USAGE is printed when requested\r
-($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1,\r
-                                            -exitval => 0, -verbose => 99, -sections => 'USAGE'); });\r
-$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR\r
-is ($exit, 0,                 "Exit status pod2usage with USAGE and verbose=99");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE and verbose=99") or diag "Got:\n$text\n";\r
-#Usage:\r
-#    This is a test for CPAN#33020\r
-# \r
-EOT\r
-\r
-# test with pod_where\r
-use_ok('Pod::Find', qw(pod_where));\r
-\r
-($exit, $text) = getoutput( sub { pod2usage( -input => pod_where({-inc => 1}, 'Pod::Usage'),\r
-                                             -exitval => 0, -verbose => 0) } );\r
-$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR\r
-is ($exit, 0,                 "Exit status pod2usage with Pod::Find");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage with Pod::Find") or diag "Got:\n$text\n";\r
-#Usage:\r
-#      use Pod::Usage\r
-#\r
-#      my $message_text  = "This text precedes the usage message.";\r
-#      my $exit_status   = 2;          ## The exit status to use\r
-#      my $verbose_level = 0;          ## The verbose level to use\r
-#      my $filehandle    = \*STDERR;   ## The filehandle to write to\r
-#\r
-#      pod2usage($message_text);\r
-#\r
-#      pod2usage($exit_status);\r
-#\r
-#      pod2usage( { -message => $message_text ,\r
-#                   -exitval => $exit_status  ,  \r
-#                   -verbose => $verbose_level,  \r
-#                   -output  => $filehandle } );\r
-#\r
-#      pod2usage(   -msg     => $message_text ,\r
-#                   -exitval => $exit_status  ,  \r
-#                   -verbose => $verbose_level,  \r
-#                   -output  => $filehandle   );\r
-#\r
-#      pod2usage(   -verbose => 2,\r
-#                   -noperldoc => 1  )\r
-#\r
-EOT\r
-\r
-# verify that sections are correctly found after nested headings\r
-($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file2,\r
-                                            -exitval => 0, -verbose => 99,\r
-                                            -sections => [qw(BugHeader BugHeader/.*')]) });\r
-$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR\r
-is ($exit, 0,                 "Exit status pod2usage with nested headings");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage with nested headings") or diag "Got:\n$text\n";\r
-#BugHeader:\r
-#    Some text\r
-#\r
-#  BugHeader2:\r
-#    More\r
-#    Still More\r
-#\r
-EOT\r
-\r
-# Verify that =over =back work OK\r
-($exit, $text) = getoutput( sub {\r
-  pod2usage(-input => $pod_file2,\r
-            -exitval => 0, -verbose => 99, -sections => 'BugHeader/BugHeader2') } );\r
-$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR\r
-is ($exit, 0,                 "Exit status pod2usage with over/back");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage with over/back") or diag "Got:\n$text\n";\r
-#  BugHeader2:\r
-#    More\r
-#    Still More\r
-#\r
-EOT\r
-\r
-# new array API for -sections\r
-($exit, $text) = getoutput( sub {\r
-  pod2usage(-input => $pod_file2,\r
-            -exitval => 0, -verbose => 99, -sections => [qw(Heading-1/!.+ Heading-2/.+)]) } );\r
-$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR\r
-is ($exit, 0,                 "Exit status pod2usage with -sections => []");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage with -sections => []") or diag "Got:\n$text\n";\r
-#Heading-1:\r
-#    One\r
-#    Two\r
-#\r
-#  Heading-2.2:\r
-#    More text.\r
-#\r
-EOT\r
-\r
-# allow subheadings in OPTIONS and ARGUMENTS\r
-($exit, $text) = getoutput( sub {\r
-  pod2usage(-input => $pod_file2,\r
-            -exitval => 0, -verbose => 1) } );\r
-$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR\r
-$text =~ s{[*](destination|files)[*]}{$1}g; # strip * chars\r
-is ($exit, 0,                 "Exit status pod2usage with subheadings in OPTIONS");\r
-ok (compare ($text, <<'EOT'), "Output test pod2usage with subheadings in OPTIONS") or diag "Got:\n$text\n";\r
-#Options and Arguments:\r
-#  Arguments:\r
-#    The required arguments (which typically follow any options on the\r
-#    command line) are:\r
-#\r
-#    destination\r
-#    files\r
-#\r
-#  Options:\r
-#    Options may be abbreviated. Options which take values may be separated\r
-#    from the values by whitespace or the "=" character.\r
-#\r
-EOT\r
-} # end SKIP\r
-\r
-__END__\r
-\r
-=head1 NAME\r
-\r
-frobnicate - do what I mean\r
-\r
-=head1 SYNOPSIS\r
-\r
-B<frobnicate> S<[ B<-r> | B<--recursive> ]> S<[ B<-f> | B<--force> ]>\r
-  file ...\r
-\r
-=head1 DESCRIPTION\r
-\r
-B<frobnicate> does foo and bar and what not.\r
-\r
-=head1 OPTIONS\r
-\r
-=over 4\r
-\r
-=item B<-r> | B<--recursive>\r
-\r
-Run recursively.\r
-\r
-=item B<-f> | B<--force>\r
-\r
-Just do it!\r
-\r
-=item B<-n> number\r
-\r
-Specify number of frobs, default is 42.\r
-\r
-=back\r
-\r
-=cut\r
-\r
+#!/usr/bin/perl -w
+
+use Test::More;
+use strict;
+
+BEGIN {
+  if ($^O eq 'MSWin32' || $^O eq 'VMS') {
+    plan skip_all => "Not portable on Win32 or VMS\n";
+  }
+  else {
+    plan tests => 34;
+  }
+  use_ok ("Pod::Usage");
+}
+
+sub getoutput
+{
+  my ($code) = @_;
+  my $pid = open(TEST_IN, "-|");
+  unless(defined $pid) {
+    die "Cannot fork: $!";
+  }
+  if($pid) {
+    # parent
+    my @out = <TEST_IN>;
+    close(TEST_IN);
+    my $exit = $?>>8;
+    s/^/#/ for @out;
+    local $" = "";
+    print "#EXIT=$exit OUTPUT=+++#@out#+++\n";
+    return($exit, join("",@out));
+  }
+  # child
+  open(STDERR, ">&STDOUT");
+  Test::More->builder->no_ending(1);
+  &$code;
+  print "--NORMAL-RETURN--\n";
+  exit 0;
+}
+
+sub compare
+{
+  my ($left,$right) = @_;
+  $left  =~ s/^#\s+/#/gm;
+  $right =~ s/^#\s+/#/gm;
+  $left  =~ s/\s+/ /gm;
+  $right =~ s/\s+/ /gm;
+  $left eq $right;
+}
+
+SKIP: {
+if('Pod::Usage'->isa('Pod::Text') && $Pod::Text::VERSION < 2.18) {
+  skip("Formatting with Pod::Text $Pod::Text::VERSION not reliable", 33);
+}
+
+my ($exit, $text) = getoutput( sub { pod2usage() } );
+is ($exit, 2,                 "Exit status pod2usage ()");
+ok (compare ($text, <<'EOT'), "Output test pod2usage ()");
+#Usage:
+#    frobnicate [ -r | --recursive ] [ -f | --force ] file ...
+#
+EOT
+
+($exit, $text) = getoutput( sub { pod2usage(
+  -message => 'You naughty person, what did you say?',
+  -verbose => 1 ) });
+is ($exit, 1,                 "Exit status pod2usage (-message => '...', -verbose => 1)");
+ok (compare ($text, <<'EOT'), "Output test pod2usage (-message => '...', -verbose => 1)") or diag("Got:\n$text\n");
+#You naughty person, what did you say?
+# Usage:
+#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...
+# 
+# Options:
+#     -r | --recursive
+#         Run recursively.
+# 
+#     -f | --force
+#         Just do it!
+# 
+#     -n number
+#         Specify number of frobs, default is 42.
+# 
+EOT
+
+($exit, $text) = getoutput( sub { pod2usage(
+  -verbose => 2, -exit => 42 ) } );
+is ($exit, 42,                "Exit status pod2usage (-verbose => 2, -exit => 42)");
+ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 2, -exit => 42)");
+#NAME
+#     frobnicate - do what I mean
+#
+# SYNOPSIS
+#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...
+#
+# DESCRIPTION
+#     frobnicate does foo and bar and what not.
+#
+# OPTIONS
+#     -r | --recursive
+#         Run recursively.
+#
+#     -f | --force
+#         Just do it!
+#
+#     -n number
+#         Specify number of frobs, default is 42.
+#
+EOT
+
+($exit, $text) = getoutput( sub { pod2usage(0) } );
+is ($exit, 0,                 "Exit status pod2usage (0)");
+ok (compare ($text, <<'EOT'), "Output test pod2usage (0)");
+#Usage:
+#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...
+#
+# Options:
+#     -r | --recursive
+#         Run recursively.
+#
+#     -f | --force
+#         Just do it!
+#
+#     -n number
+#         Specify number of frobs, default is 42.
+#
+EOT
+
+($exit, $text) = getoutput( sub { pod2usage(42) } );
+is ($exit, 42,                "Exit status pod2usage (42)");
+ok (compare ($text, <<'EOT'), "Output test pod2usage (42)");
+#Usage:
+#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...
+#
+EOT
+
+($exit, $text) = getoutput( sub { pod2usage(-verbose => 0, -exit => 'NOEXIT') } );
+is ($exit, 0,                 "Exit status pod2usage (-verbose => 0, -exit => 'NOEXIT')");
+ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 0, -exit => 'NOEXIT')");
+#Usage:
+#     frobnicate [ -r | --recursive ] [ -f | --force ] file ...
+#
+# --NORMAL-RETURN--
+EOT
+
+($exit, $text) = getoutput( sub { pod2usage(-verbose => 99, -sections => 'DESCRIPTION') } );
+is ($exit, 1,                 "Exit status pod2usage (-verbose => 99, -sections => 'DESCRIPTION')");
+ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 99, -sections => 'DESCRIPTION')");
+#Description:
+#     frobnicate does foo and bar and what not.
+#
+EOT
+
+# does the __DATA__ work ok as input
+my (@blib, $test_script, $pod_file1, , $pod_file2);
+if (!$ENV{PERL_CORE}) {
+  @blib = '-Mblib';
+}
+$test_script = File::Spec->catfile(qw(t pod p2u_data.pl));
+$pod_file1 = File::Spec->catfile(qw(t pod usage.pod));
+$pod_file2 = File::Spec->catfile(qw(t pod usage2.pod));
+
+
+($exit, $text) = getoutput( sub { system($^X, @blib, $test_script); exit($?  >> 8); } );
+$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR
+is ($exit, 17,                 "Exit status pod2usage (-verbose => 2, -input => \*DATA)");
+ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 2, -input => \*DATA)") or diag "Got:\n$text\n";
+#NAME
+#    Test
+#
+#SYNOPSIS
+#    perl podusagetest.pl
+#
+#DESCRIPTION
+#    This is a test.
+#
+EOT
+
+# test that SYNOPSIS and USAGE are printed
+($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1,
+                                            -exitval => 0, -verbose => 0); });
+$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR
+is ($exit, 0,                 "Exit status pod2usage with USAGE");
+ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE") or diag "Got:\n$text\n";
+#Usage:
+#    This is a test for CPAN#33020
+#
+#Usage:
+#    And this will be also printed.
+#
+EOT
+
+# test that SYNOPSIS and USAGE are printed with options
+($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1,
+                                            -exitval => 0, -verbose => 1); });
+$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR
+is ($exit, 0,                 "Exit status pod2usage with USAGE and verbose=1");
+ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE and verbose=1") or diag "Got:\n$text\n";
+#Usage:
+#    This is a test for CPAN#33020
+#
+#Usage:
+#    And this will be also printed.
+#
+#Options:
+#    And this with verbose == 1
+#
+EOT
+
+# test that only USAGE is printed when requested
+($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1,
+                                            -exitval => 0, -verbose => 99, -sections => 'USAGE'); });
+$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR
+is ($exit, 0,                 "Exit status pod2usage with USAGE and verbose=99");
+ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE and verbose=99") or diag "Got:\n$text\n";
+#Usage:
+#    This is a test for CPAN#33020
+# 
+EOT
+
+# test with pod_where
+use_ok('Pod::Find', qw(pod_where));
+
+($exit, $text) = getoutput( sub { pod2usage( -input => pod_where({-inc => 1}, 'Pod::Usage'),
+                                             -exitval => 0, -verbose => 0) } );
+$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR
+is ($exit, 0,                 "Exit status pod2usage with Pod::Find");
+ok (compare ($text, <<'EOT'), "Output test pod2usage with Pod::Find") or diag "Got:\n$text\n";
+#Usage:
+#      use Pod::Usage
+#
+#      my $message_text  = "This text precedes the usage message.";
+#      my $exit_status   = 2;          ## The exit status to use
+#      my $verbose_level = 0;          ## The verbose level to use
+#      my $filehandle    = \*STDERR;   ## The filehandle to write to
+#
+#      pod2usage($message_text);
+#
+#      pod2usage($exit_status);
+#
+#      pod2usage( { -message => $message_text ,
+#                   -exitval => $exit_status  ,  
+#                   -verbose => $verbose_level,  
+#                   -output  => $filehandle } );
+#
+#      pod2usage(   -msg     => $message_text ,
+#                   -exitval => $exit_status  ,  
+#                   -verbose => $verbose_level,  
+#                   -output  => $filehandle   );
+#
+#      pod2usage(   -verbose => 2,
+#                   -noperldoc => 1  );
+#
+#      pod2usage(   -verbose => 2,
+#                   -perlcmd => $path_to_perl,
+#                   -perldoc => $path_to_perldoc );
+#
+EOT
+
+# verify that sections are correctly found after nested headings
+($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file2,
+                                            -exitval => 0, -verbose => 99,
+                                            -sections => [qw(BugHeader BugHeader/.*')]) });
+$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR
+is ($exit, 0,                 "Exit status pod2usage with nested headings");
+ok (compare ($text, <<'EOT'), "Output test pod2usage with nested headings") or diag "Got:\n$text\n";
+#BugHeader:
+#    Some text
+#
+#  BugHeader2:
+#    More
+#    Still More
+#
+EOT
+
+# Verify that =over =back work OK
+($exit, $text) = getoutput( sub {
+  pod2usage(-input => $pod_file2,
+            -exitval => 0, -verbose => 99, -sections => 'BugHeader/BugHeader2') } );
+$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR
+is ($exit, 0,                 "Exit status pod2usage with over/back");
+ok (compare ($text, <<'EOT'), "Output test pod2usage with over/back") or diag "Got:\n$text\n";
+#  BugHeader2:
+#    More
+#    Still More
+#
+EOT
+
+# new array API for -sections
+($exit, $text) = getoutput( sub {
+  pod2usage(-input => $pod_file2,
+            -exitval => 0, -verbose => 99, -sections => [qw(Heading-1/!.+ Heading-2/.+)]) } );
+$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR
+is ($exit, 0,                 "Exit status pod2usage with -sections => []");
+ok (compare ($text, <<'EOT'), "Output test pod2usage with -sections => []") or diag "Got:\n$text\n";
+#Heading-1:
+#    One
+#    Two
+#
+#  Heading-2.2:
+#    More text.
+#
+EOT
+
+# allow subheadings in OPTIONS and ARGUMENTS
+($exit, $text) = getoutput( sub {
+  pod2usage(-input => $pod_file2,
+            -exitval => 0, -verbose => 1) } );
+$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR
+$text =~ s{[*](destination|files)[*]}{$1}g; # strip * chars
+is ($exit, 0,                 "Exit status pod2usage with subheadings in OPTIONS");
+ok (compare ($text, <<'EOT'), "Output test pod2usage with subheadings in OPTIONS") or diag "Got:\n$text\n";
+#Options and Arguments:
+#  Arguments:
+#    The required arguments (which typically follow any options on the
+#    command line) are:
+#
+#    destination
+#    files
+#
+#  Options:
+#    Options may be abbreviated. Options which take values may be separated
+#    from the values by whitespace or the "=" character.
+#
+EOT
+} # end SKIP
+
+__END__
+
+=head1 NAME
+
+frobnicate - do what I mean
+
+=head1 SYNOPSIS
+
+B<frobnicate> S<[ B<-r> | B<--recursive> ]> S<[ B<-f> | B<--force> ]>
+  file ...
+
+=head1 DESCRIPTION
+
+B<frobnicate> does foo and bar and what not.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-r> | B<--recursive>
+
+Run recursively.
+
+=item B<-f> | B<--force>
+
+Just do it!
+
+=item B<-n> number
+
+Specify number of frobs, default is 42.
+
+=back
+
+=cut
+
diff --git a/cpan/Pod-Usage/t/pod/selectheaders.pl b/cpan/Pod-Usage/t/pod/selectheaders.pl
new file mode 100644 (file)
index 0000000..d0b557f
--- /dev/null
@@ -0,0 +1,34 @@
+#!/usr/bin/perl -w
+use strict;
+use Pod::Usage;
+
+my $h2 = shift @ARGV || '.*';
+
+Pod::Usage::pod2usage(
+  '-verbose' => 99,
+  '-exitval' => 0,
+  '-sections' => "Name/$h2/!.+",
+);
+
+=head1 Name
+
+Testing
+
+=head2 Foo
+
+This is foo
+
+=head3 Foo bar
+
+This is foo bar.
+
+=head2 Bar
+
+This is bar.
+
+=head3 Bar baz
+
+This is bar baz.
+
+=cut
+
diff --git a/cpan/Pod-Usage/t/pod/selectheaders.t b/cpan/Pod-Usage/t/pod/selectheaders.t
new file mode 100644 (file)
index 0000000..ff138a3
--- /dev/null
@@ -0,0 +1,17 @@
+use Test::More tests => 2;
+
+my $blib = $ENV{PERL_CORE} ? '-I../../lib' : '-Mblib';
+
+my $pl = $0;
+$pl =~ s{t$}{pl};
+
+my $out = `$^X $blib $pl Foo`;
+$out =~ s{\s+}{ }gs;
+$out =~ s{^\s+|\s+$}{}gs;
+is($out, 'Foo: This is foo', 'selection of Foo section');
+
+$out = `$^X $blib $pl Bar`;
+$out =~ s{\s+}{ }gs;
+$out =~ s{^\s+|\s+$}{}gs;
+is($out, 'Bar: This is bar.', 'selection of Bar section');
+
diff --git a/cpan/Pod-Usage/t/pod/selectsections.pl b/cpan/Pod-Usage/t/pod/selectsections.pl
new file mode 100644 (file)
index 0000000..0f1ad82
--- /dev/null
@@ -0,0 +1,70 @@
+#!/usr/bin/env perl
+use Pod::Usage;
+
+my @tests = (
+  [ "NAME" , "ACTIONS", "ACTIONS/help" ],
+  'DESCRIPTION|OPTIONS|ENVIRONMENT/Caveats',
+);
+
+my $idx = shift(@ARGV) || 0;
+
+pod2usage(
+  -exitstatus => 0,
+  -verbose => 99,
+  -sections => $tests[$idx],
+  -noperldoc => 1
+);
+1;
+
+__END__
+
+=head1 NAME
+
+trypodi - pod sections usage test
+
+=head1 ACTIONS
+
+Para for actions.
+
+=head2 help
+
+Help text.
+
+=head1 DESCRIPTION
+
+Description text.
+
+=head2 Caveats
+
+Description caveat text.
+
+=head2 Other
+
+Description other text.
+
+=head1 OPTIONS
+
+Options text.
+
+=head2 Caveats
+
+Options caveat text.
+
+=head2 Other
+
+Options other text.
+
+=head1 ENVIRONMENT
+
+Environment text.
+
+=head2 Caveats
+
+Environment caveat text.
+
+=head2 Other
+
+Environment other text.
+
+=cut
+
diff --git a/cpan/Pod-Usage/t/pod/selectsections.t b/cpan/Pod-Usage/t/pod/selectsections.t
new file mode 100644 (file)
index 0000000..d71c487
--- /dev/null
@@ -0,0 +1,17 @@
+use Test::More tests => 2;
+
+my $blib = $ENV{PERL_CORE} ? '-I../../lib' : '-Mblib';
+
+my $pl = $0;
+$pl =~ s{t$}{pl};
+
+my $out = `$^X $blib $pl 0`;
+$out =~ s{\s+}{ }gs;
+$out =~ s{^\s+|\s+$}{}gs;
+is($out, 'Name: trypodi - pod sections usage test Actions: Para for actions. help: Help text.', 'selection of specific sections');
+
+$out = `$^X $blib $pl 1`;
+$out =~ s{\s+}{ }gs;
+$out =~ s{^\s+|\s+$}{}gs;
+is($out, 'Caveats: Description caveat text. Caveats: Options caveat text. Caveats: Environment caveat text.', 'selection of caveats sections');
+
index b8592fc..17f0b0b 100644 (file)
@@ -1,94 +1,94 @@
-package TestCompare;\r
-\r
-use vars qw(@ISA @EXPORT $MYPKG);\r
-#use strict;\r
-#use diagnostics;\r
-use Carp;\r
-use Exporter;\r
-use File::Basename;\r
-use File::Spec;\r
-use FileHandle;\r
-\r
-@ISA = qw(Exporter);\r
-@EXPORT = qw(&testcmp);\r
-$MYPKG = eval { (caller)[0] };\r
-\r
-##--------------------------------------------------------------------------\r
-\r
-=head1 NAME\r
-\r
-testcmp -- compare two files line-by-line\r
-\r
-=head1 SYNOPSIS\r
-\r
-    $is_diff = testcmp($file1, $file2);\r
-\r
-or\r
-\r
-    $is_diff = testcmp({-cmplines => \&mycmp}, $file1, $file2);\r
-\r
-=head2 DESCRIPTION\r
-\r
-Compare two text files line-by-line and return 0 if they are the\r
-same, 1 if they differ. Each of $file1 and $file2 may be a filenames,\r
-or a filehandles (in which case it must already be open for reading).\r
-\r
-If the first argument is a hashref, then the B<-cmplines> key in the\r
-hash may have a subroutine reference as its corresponding value.\r
-The referenced user-defined subroutine should be a line-comparator\r
-function that takes two pre-chomped text-lines as its arguments\r
-(the first is from $file1 and the second is from $file2). It should\r
-return 0 if it considers the two lines equivalent, and non-zero\r
-otherwise.\r
-\r
-=cut\r
-\r
-##--------------------------------------------------------------------------\r
-\r
-sub testcmp( $ $ ; $) {\r
-   my %opts = ref($_[0]) eq 'HASH' ? %{shift()} : ();\r
-   my ($file1, $file2) = @_;\r
-   my ($fh1, $fh2) = ($file1, $file2);\r
-   unless (ref $fh1) {\r
-      $fh1 = FileHandle->new($file1, "r") or die "Can't open $file1: $!";\r
-   }\r
-   unless (ref $fh2) {\r
-      $fh2 = FileHandle->new($file2, "r") or die "Can't open $file2: $!";\r
-   }\r
-  \r
-   my $cmplines = $opts{'-cmplines'} || undef;\r
-   my ($f1text, $f2text) = ("", "");\r
-   my ($line, $diffs)    = (0, 0);\r
-  \r
-   while ( defined($f1text) and defined($f2text) ) {\r
-      defined($f1text = <$fh1>)  and  chomp($f1text);\r
-      defined($f2text = <$fh2>)  and  chomp($f2text);\r
-      ++$line;\r
-      last unless ( defined($f1text) and defined($f2text) );\r
-      # kill any extra line endings\r
-      $f1text =~ s/[\r\n]+$//s;\r
-      $f2text =~ s/[\r\n]+$//s;\r
-      $diffs = (ref $cmplines) ? &$cmplines($f1text, $f2text)\r
-                               : ($f1text ne $f2text);\r
-      last if $diffs;\r
-   }\r
-   close($fh1) unless (ref $file1);\r
-   close($fh2) unless (ref $file2);\r
-  \r
-   $diffs = 1  if (defined($f1text) or defined($f2text));\r
-   if ( defined($f1text) and defined($f2text) ) {\r
-      ## these two lines must be different\r
-      warn "$file1 and $file2 differ at line $line\n";\r
-   }\r
-   elsif (defined($f1text)  and  (! defined($f1text))) {\r
-      ## file1 must be shorter\r
-      warn "$file1 is shorter than $file2\n";\r
-   }\r
-   elsif (defined $f2text) {\r
-      ## file2 must be longer\r
-      warn "$file1 is shorter than $file2\n";\r
-   }\r
-   return $diffs;\r
-}\r
-\r
-1;\r
+package TestCompare;
+
+use vars qw(@ISA @EXPORT $MYPKG);
+#use strict;
+#use diagnostics;
+use Carp;
+use Exporter;
+use File::Basename;
+use File::Spec;
+use FileHandle;
+
+@ISA = qw(Exporter);
+@EXPORT = qw(&testcmp);
+$MYPKG = eval { (caller)[0] };
+
+##--------------------------------------------------------------------------
+
+=head1 NAME
+
+testcmp -- compare two files line-by-line
+
+=head1 SYNOPSIS
+
+    $is_diff = testcmp($file1, $file2);
+
+or
+
+    $is_diff = testcmp({-cmplines => \&mycmp}, $file1, $file2);
+
+=head2 DESCRIPTION
+
+Compare two text files line-by-line and return 0 if they are the
+same, 1 if they differ. Each of $file1 and $file2 may be a filenames,
+or a filehandles (in which case it must already be open for reading).
+
+If the first argument is a hashref, then the B<-cmplines> key in the
+hash may have a subroutine reference as its corresponding value.
+The referenced user-defined subroutine should be a line-comparator
+function that takes two pre-chomped text-lines as its arguments
+(the first is from $file1 and the second is from $file2). It should
+return 0 if it considers the two lines equivalent, and non-zero
+otherwise.
+
+=cut
+
+##--------------------------------------------------------------------------
+
+sub testcmp( $ $ ; $) {
+   my %opts = ref($_[0]) eq 'HASH' ? %{shift()} : ();
+   my ($file1, $file2) = @_;
+   my ($fh1, $fh2) = ($file1, $file2);
+   unless (ref $fh1) {
+      $fh1 = FileHandle->new($file1, "r") or die "Can't open $file1: $!";
+   }
+   unless (ref $fh2) {
+      $fh2 = FileHandle->new($file2, "r") or die "Can't open $file2: $!";
+   }
+  
+   my $cmplines = $opts{'-cmplines'} || undef;
+   my ($f1text, $f2text) = ("", "");
+   my ($line, $diffs)    = (0, 0);
+  
+   while ( defined($f1text) and defined($f2text) ) {
+      defined($f1text = <$fh1>)  and  chomp($f1text);
+      defined($f2text = <$fh2>)  and  chomp($f2text);
+      ++$line;
+      last unless ( defined($f1text) and defined($f2text) );
+      # kill any extra line endings
+      $f1text =~ s/[\r\n]+$//s;
+      $f2text =~ s/[\r\n]+$//s;
+      $diffs = (ref $cmplines) ? &$cmplines($f1text, $f2text)
+                               : ($f1text ne $f2text);
+      last if $diffs;
+   }
+   close($fh1) unless (ref $file1);
+   close($fh2) unless (ref $file2);
+  
+   $diffs = 1  if (defined($f1text) or defined($f2text));
+   if ( defined($f1text) and defined($f2text) ) {
+      ## these two lines must be different
+      warn "$file1 and $file2 differ at line $line\n";
+   }
+   elsif (defined($f1text)  and  (! defined($f1text))) {
+      ## file1 must be shorter
+      warn "$file1 is shorter than $file2\n";
+   }
+   elsif (defined $f2text) {
+      ## file2 must be longer
+      warn "$file1 is shorter than $file2\n";
+   }
+   return $diffs;
+}
+
+1;
index 5c17300..308cd1c 100644 (file)
-package TestPodIncPlainText;\r
-\r
-BEGIN {\r
-   use File::Basename;\r
-   use File::Spec;\r
-   use Cwd qw(abs_path);\r
-   push @INC, '..';\r
-   my $THISDIR = abs_path(dirname $0);\r
-   unshift @INC, $THISDIR;\r
-   require "testcmp.pl";\r
-   import TestCompare;\r
-   my $PARENTDIR = dirname $THISDIR;\r
-   push @INC, map { File::Spec->catfile($_, 'lib') } ($PARENTDIR, $THISDIR);\r
-}\r
-\r
-#use strict;\r
-#use diagnostics;\r
-use Carp;\r
-use Exporter;\r
-#use File::Compare;\r
-#use Cwd qw(abs_path);\r
-\r
-use vars qw($MYPKG @EXPORT @ISA);\r
-$MYPKG = eval { (caller)[0] };\r
-@EXPORT = qw(&testpodplaintext);\r
-BEGIN {\r
-    require Pod::PlainText;\r
-    @ISA = qw( Pod::PlainText );\r
-    require VMS::Filespec if $^O eq 'VMS';\r
-}\r
-\r
-## Hardcode settings for TERMCAP and COLUMNS so we can try to get\r
-## reproducible results between environments\r
-@ENV{qw(TERMCAP COLUMNS)} = ('co=76:do=^J', 76);\r
-\r
-sub catfile(@) { File::Spec->catfile(@_); }\r
-\r
-my $INSTDIR = abs_path(dirname $0);\r
-$INSTDIR = VMS::Filespec::unixpath($INSTDIR) if $^O eq 'VMS';\r
-$INSTDIR =~ s#/$## if $^O eq 'VMS';\r
-$INSTDIR =~ s#:$## if $^O eq 'MacOS';\r
-$INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 'pod');\r
-$INSTDIR =~ s#:$## if $^O eq 'MacOS';\r
-$INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 't');\r
-my @PODINCDIRS = ( catfile($INSTDIR, 'lib', 'Pod'),\r
-                   catfile($INSTDIR, 'scripts'),\r
-                   catfile($INSTDIR, 'pod'),\r
-                   catfile($INSTDIR, 't', 'pod')\r
-                 );\r
-\r
-# FIXME - we should make the core capable of finding utilities built in\r
-# locations in ext.\r
-push @PODINCDIRS, catfile((File::Spec->updir()) x 2, 'pod') if $ENV{PERL_CORE};\r
-\r
-## Find the path to the file to =include\r
-sub findinclude {\r
-    my $self    = shift;\r
-    my $incname = shift;\r
-\r
-    ## See if its already found w/out any "searching;\r
-    return  $incname if (-r $incname);\r
-\r
-    ## Need to search for it. Look in the following directories ...\r
-    ##   1. the directory containing this pod file\r
-    my $thispoddir = dirname $self->input_file;\r
-    ##   2. the parent directory of the above\r
-    my $parentdir  = dirname $thispoddir;\r
-    my @podincdirs = ($thispoddir, $parentdir, @PODINCDIRS);\r
-\r
-    for (@podincdirs) {\r
-       my $incfile = catfile($_, $incname);\r
-       return $incfile  if (-r $incfile);\r
-    }\r
-    warn("*** Can't find =include file $incname in @podincdirs\n");\r
-    return "";\r
-}\r
-\r
-sub command {\r
-    my $self = shift;\r
-    my ($cmd, $text, $line_num, $pod_para)  = @_;\r
-    $cmd     = ''  unless (defined $cmd);\r
-    local $_ = $text || '';\r
-    my $out_fh  = $self->output_handle;\r
-\r
-    ## Defer to the superclass for everything except '=include'\r
-    return  $self->SUPER::command(@_) unless ($cmd eq "include");\r
-\r
-    ## We have an '=include' command\r
-    my $incdebug = 1; ## debugging\r
-    my @incargs = split;\r
-    if (@incargs == 0) {\r
-        warn("*** No filename given for '=include'\n");\r
-        return;\r
-    }\r
-    my $incfile  = $self->findinclude(shift @incargs)  or  return;\r
-    my $incbase  = basename $incfile;\r
-    print $out_fh "###### begin =include $incbase #####\n"  if ($incdebug);\r
-    $self->parse_from_file( {-cutting => 1}, $incfile );\r
-    print $out_fh "###### end =include $incbase #####\n"    if ($incdebug);\r
-}\r
-\r
-sub begin_input {\r
-   $_[0]->{_INFILE} = VMS::Filespec::unixify($_[0]->{_INFILE}) if $^O eq 'VMS';\r
-}\r
-\r
-sub podinc2plaintext( $ $ ) {\r
-    my ($infile, $outfile) = @_;\r
-    local $_;\r
-    my $text_parser = $MYPKG->new;\r
-    $text_parser->parse_from_file($infile, $outfile);\r
-}\r
-\r
-sub testpodinc2plaintext( @ ) {\r
-   my %args = @_;\r
-   my $infile  = $args{'-In'}  || croak "No input file given!";\r
-   my $outfile = $args{'-Out'} || croak "No output file given!";\r
-   my $cmpfile = $args{'-Cmp'} || croak "No compare-result file given!";\r
-\r
-   my $different = '';\r
-   my $testname = basename $cmpfile, '.t', '.xr';\r
-\r
-   unless (-e $cmpfile) {\r
-      my $msg = "*** Can't find comparison file $cmpfile for testing $infile";\r
-      warn  "$msg\n";\r
-      return  $msg;\r
-   }\r
-\r
-   print "# Running testpodinc2plaintext for '$testname'...\n";\r
-   ## Compare the output against the expected result\r
-   podinc2plaintext($infile, $outfile);\r
-   if ( testcmp($outfile, $cmpfile) ) {\r
-       $different = "$outfile is different from $cmpfile";\r
-   }\r
-   else {\r
-       unlink($outfile);\r
-   }\r
-   return  $different;\r
-}\r
-\r
-sub testpodplaintext( @ ) {\r
-   my %opts = (ref $_[0] eq 'HASH') ? %{shift()} : ();\r
-   my @testpods = @_;\r
-   my ($testname, $testdir) = ("", "");\r
-   my ($podfile, $cmpfile) = ("", "");\r
-   my ($outfile, $errfile) = ("", "");\r
-   my $passes = 0;\r
-   my $failed = 0;\r
-   local $_;\r
-\r
-   print "1..", scalar @testpods, "\n"  unless ($opts{'-xrgen'});\r
-\r
-   for $podfile (@testpods) {\r
-      ($testname, $_) = fileparse($podfile);\r
-      $testdir ||=  $_;\r
-      $testname  =~ s/\.t$//;\r
-      $cmpfile   =  $testdir . $testname . '.xr';\r
-      $outfile   =  $testdir . $testname . '.OUT';\r
-\r
-      if ($opts{'-xrgen'}) {\r
-          if ($opts{'-force'} or ! -e $cmpfile) {\r
-             ## Create the comparison file\r
-             print "# Creating expected result for \"$testname\"" .\r
-                   " pod2plaintext test ...\n";\r
-             podinc2plaintext($podfile, $cmpfile);\r
-          }\r
-          else {\r
-             print "# File $cmpfile already exists" .\r
-                   " (use '-force' to regenerate it).\n";\r
-          }\r
-          next;\r
-      }\r
-\r
-      my $failmsg = testpodinc2plaintext\r
-                        -In  => $podfile,\r
-                        -Out => $outfile,\r
-                        -Cmp => $cmpfile;\r
-      if ($failmsg) {\r
-          ++$failed;\r
-          print "#\tFAILED. ($failmsg)\n";\r
-         print "not ok ", $failed+$passes, "\n";\r
-      }\r
-      else {\r
-          ++$passes;\r
-          unlink($outfile);\r
-          print "#\tPASSED.\n";\r
-         print "ok ", $failed+$passes, "\n";\r
-      }\r
-   }\r
-   return  $passes;\r
-}\r
-\r
-1;\r
+package TestPodIncPlainText;
+
+BEGIN {
+   use File::Basename;
+   use File::Spec;
+   use Cwd qw(abs_path);
+   push @INC, '..';
+   my $THISDIR = abs_path(dirname $0);
+   unshift @INC, $THISDIR;
+   require "testcmp.pl";
+   import TestCompare;
+   my $PARENTDIR = dirname $THISDIR;
+   push @INC, map { File::Spec->catfile($_, 'lib') } ($PARENTDIR, $THISDIR);
+}
+
+#use strict;
+#use diagnostics;
+use Carp;
+use Exporter;
+#use File::Compare;
+#use Cwd qw(abs_path);
+
+use vars qw($MYPKG @EXPORT @ISA);
+$MYPKG = eval { (caller)[0] };
+@EXPORT = qw(&testpodplaintext);
+BEGIN {
+    require Pod::PlainText;
+    @ISA = qw( Pod::PlainText );
+    require VMS::Filespec if $^O eq 'VMS';
+}
+
+## Hardcode settings for TERMCAP and COLUMNS so we can try to get
+## reproducible results between environments
+@ENV{qw(TERMCAP COLUMNS)} = ('co=76:do=^J', 76);
+
+sub catfile(@) { File::Spec->catfile(@_); }
+
+my $INSTDIR = abs_path(dirname $0);
+$INSTDIR = VMS::Filespec::unixpath($INSTDIR) if $^O eq 'VMS';
+$INSTDIR =~ s#/$## if $^O eq 'VMS';
+$INSTDIR =~ s#:$## if $^O eq 'MacOS';
+$INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 'pod');
+$INSTDIR =~ s#:$## if $^O eq 'MacOS';
+$INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 't');
+my @PODINCDIRS = ( catfile($INSTDIR, 'lib', 'Pod'),
+                   catfile($INSTDIR, 'scripts'),
+                   catfile($INSTDIR, 'pod'),
+                   catfile($INSTDIR, 't', 'pod')
+                 );
+
+# FIXME - we should make the core capable of finding utilities built in
+# locations in ext.
+push @PODINCDIRS, catfile((File::Spec->updir()) x 2, 'pod') if $ENV{PERL_CORE};
+
+## Find the path to the file to =include
+sub findinclude {
+    my $self    = shift;
+    my $incname = shift;
+
+    ## See if its already found w/out any "searching;
+    return  $incname if (-r $incname);
+
+    ## Need to search for it. Look in the following directories ...
+    ##   1. the directory containing this pod file
+    my $thispoddir = dirname $self->input_file;
+    ##   2. the parent directory of the above
+    my $parentdir  = dirname $thispoddir;
+    my @podincdirs = ($thispoddir, $parentdir, @PODINCDIRS);
+
+    for (@podincdirs) {
+       my $incfile = catfile($_, $incname);
+       return $incfile  if (-r $incfile);
+    }
+    warn("*** Can't find =include file $incname in @podincdirs\n");
+    return "";
+}
+
+sub command {
+    my $self = shift;
+    my ($cmd, $text, $line_num, $pod_para)  = @_;
+    $cmd     = ''  unless (defined $cmd);
+    local $_ = $text || '';
+    my $out_fh  = $self->output_handle;
+
+    ## Defer to the superclass for everything except '=include'
+    return  $self->SUPER::command(@_) unless ($cmd eq "include");
+
+    ## We have an '=include' command
+    my $incdebug = 1; ## debugging
+    my @incargs = split;
+    if (@incargs == 0) {
+        warn("*** No filename given for '=include'\n");
+        return;
+    }
+    my $incfile  = $self->findinclude(shift @incargs)  or  return;
+    my $incbase  = basename $incfile;
+    print $out_fh "###### begin =include $incbase #####\n"  if ($incdebug);
+    $self->parse_from_file( {-cutting => 1}, $incfile );
+    print $out_fh "###### end =include $incbase #####\n"    if ($incdebug);
+}
+
+sub begin_input {
+   $_[0]->{_INFILE} = VMS::Filespec::unixify($_[0]->{_INFILE}) if $^O eq 'VMS';
+}
+
+sub podinc2plaintext( $ $ ) {
+    my ($infile, $outfile) = @_;
+    local $_;
+    my $text_parser = $MYPKG->new;
+    $text_parser->parse_from_file($infile, $outfile);
+}
+
+sub testpodinc2plaintext( @ ) {
+   my %args = @_;
+   my $infile  = $args{'-In'}  || croak "No input file given!";
+   my $outfile = $args{'-Out'} || croak "No output file given!";
+   my $cmpfile = $args{'-Cmp'} || croak "No compare-result file given!";
+
+   my $different = '';
+   my $testname = basename $cmpfile, '.t', '.xr';
+
+   unless (-e $cmpfile) {
+      my $msg = "*** Can't find comparison file $cmpfile for testing $infile";
+      warn  "$msg\n";
+      return  $msg;
+   }
+
+   print "# Running testpodinc2plaintext for '$testname'...\n";
+   ## Compare the output against the expected result
+   podinc2plaintext($infile, $outfile);
+   if ( testcmp($outfile, $cmpfile) ) {
+       $different = "$outfile is different from $cmpfile";
+   }
+   else {
+       unlink($outfile);
+   }
+   return  $different;
+}
+
+sub testpodplaintext( @ ) {
+   my %opts = (ref $_[0] eq 'HASH') ? %{shift()} : ();
+   my @testpods = @_;
+   my ($testname, $testdir) = ("", "");
+   my ($podfile, $cmpfile) = ("", "");
+   my ($outfile, $errfile) = ("", "");
+   my $passes = 0;
+   my $failed = 0;
+   local $_;
+
+   print "1..", scalar @testpods, "\n"  unless ($opts{'-xrgen'});
+
+   for $podfile (@testpods) {
+      ($testname, $_) = fileparse($podfile);
+      $testdir ||=  $_;
+      $testname  =~ s/\.t$//;
+      $cmpfile   =  $testdir . $testname . '.xr';
+      $outfile   =  $testdir . $testname . '.OUT';
+
+      if ($opts{'-xrgen'}) {
+          if ($opts{'-force'} or ! -e $cmpfile) {
+             ## Create the comparison file
+             print "# Creating expected result for \"$testname\"" .
+                   " pod2plaintext test ...\n";
+             podinc2plaintext($podfile, $cmpfile);
+          }
+          else {
+             print "# File $cmpfile already exists" .
+                   " (use '-force' to regenerate it).\n";
+          }
+          next;
+      }
+
+      my $failmsg = testpodinc2plaintext
+                        -In  => $podfile,
+                        -Out => $outfile,
+                        -Cmp => $cmpfile;
+      if ($failmsg) {
+          ++$failed;
+          print "#\tFAILED. ($failmsg)\n";
+         print "not ok ", $failed+$passes, "\n";
+      }
+      else {
+          ++$passes;
+          unlink($outfile);
+          print "#\tPASSED.\n";
+         print "ok ", $failed+$passes, "\n";
+      }
+   }
+   return  $passes;
+}
+
+1;
index c0fbbc5..c81cc82 100644 (file)
@@ -1,18 +1,18 @@
-=head1 NAME\r
-\r
-usage.pod - example for testing USAGE and SYNOPSIS\r
-\r
-=head1 USAGE\r
-\r
-This is a test for CPAN#33020\r
-\r
-=head1 SYNOPSIS\r
-\r
-And this will be also printed.\r
-\r
-=head1 OPTIONS\r
-\r
-And this with verbose == 1\r
-\r
-=cut\r
-\r
+=head1 NAME
+
+usage.pod - example for testing USAGE and SYNOPSIS
+
+=head1 USAGE
+
+This is a test for CPAN#33020
+
+=head1 SYNOPSIS
+
+And this will be also printed.
+
+=head1 OPTIONS
+
+And this with verbose == 1
+
+=cut
+
index 1e03b7d..5c4817b 100644 (file)
@@ -1,56 +1,56 @@
-=head1 Heading-1\r
-\r
-=over 100\r
-\r
-=item One\r
-\r
-=item Two\r
-\r
-=back\r
-\r
-=head2 Heading 2\r
-\r
-Some text\r
-\r
-=head1 BugHeader\r
-\r
-Some text\r
-\r
-=head2 BugHeader2\r
-\r
-=over 4\r
-\r
-=item More\r
-\r
-=item Still More\r
-\r
-=back\r
-\r
-=head1 Heading-2\r
-\r
-=head2 Heading-2.2\r
-\r
-More text.\r
-\r
-=head1 OPTIONS AND ARGUMENTS\r
-\r
-=head2 Arguments\r
-\r
-The required arguments (which typically follow any options on the\r
-command line) are:\r
-\r
-=over\r
-\r
-=item I<destination>\r
-\r
-=item I<files>\r
-\r
-=back\r
-\r
-=head2 Options\r
-\r
-Options may be abbreviated. Options which take values may be separated\r
-from the values by whitespace or the "=" character.\r
-\r
-=cut\r
-\r
+=head1 Heading-1
+
+=over 100
+
+=item One
+
+=item Two
+
+=back
+
+=head2 Heading 2
+
+Some text
+
+=head1 BugHeader
+
+Some text
+
+=head2 BugHeader2
+
+=over 4
+
+=item More
+
+=item Still More
+
+=back
+
+=head1 Heading-2
+
+=head2 Heading-2.2
+
+More text.
+
+=head1 OPTIONS AND ARGUMENTS
+
+=head2 Arguments
+
+The required arguments (which typically follow any options on the
+command line) are:
+
+=over
+
+=item I<destination>
+
+=item I<files>
+
+=back
+
+=head2 Options
+
+Options may be abbreviated. Options which take values may be separated
+from the values by whitespace or the "=" character.
+
+=cut
+
index 515677f..504c70e 100644 (file)
@@ -483,6 +483,125 @@ PPCODE:
 }
 
 void
+pairs(...)
+PROTOTYPE: @
+PPCODE:
+{
+    int argi = 0;
+    int reti = 0;
+    HV *pairstash = get_hv("List::Util::_Pair::", GV_ADD);
+
+    if(items % 2 && ckWARN(WARN_MISC))
+        warn("Odd number of elements in pairs");
+
+    {
+        for(; argi < items; argi += 2) {
+            SV *a = ST(argi);
+            SV *b = argi < items-1 ? ST(argi+1) : &PL_sv_undef;
+
+            AV *av = newAV();
+            av_push(av, newSVsv(a));
+            av_push(av, newSVsv(b));
+
+            ST(reti) = sv_2mortal(newRV_noinc((SV *)av));
+            sv_bless(ST(reti), pairstash);
+            reti++;
+        }
+    }
+
+    XSRETURN(reti);
+}
+
+void
+unpairs(...)
+PROTOTYPE: @
+PPCODE:
+{
+    /* Unlike pairs(), we're going to trash the input values on the stack
+     * almost as soon as we start generating output. So clone them first
+     */
+    int i;
+    SV **args_copy;
+    Newx(args_copy, items, SV *);
+    SAVEFREEPV(args_copy);
+
+    Copy(&ST(0), args_copy, items, SV *);
+
+    for(i = 0; i < items; i++) {
+        SV *pair = args_copy[i];
+        AV *pairav;
+
+        SvGETMAGIC(pair);
+
+        if(SvTYPE(pair) != SVt_RV)
+            croak("Not a reference at List::Util::unpack() argument %d", i);
+        if(SvTYPE(SvRV(pair)) != SVt_PVAV)
+            croak("Not an ARRAY reference at List::Util::unpack() argument %d", i);
+
+        // TODO: assert pair is an ARRAY ref
+        pairav = (AV *)SvRV(pair);
+
+        EXTEND(SP, 2);
+
+        if(AvFILL(pairav) >= 0)
+            mPUSHs(newSVsv(AvARRAY(pairav)[0]));
+        else
+            PUSHs(&PL_sv_undef);
+
+        if(AvFILL(pairav) >= 1)
+            mPUSHs(newSVsv(AvARRAY(pairav)[1]));
+        else
+            PUSHs(&PL_sv_undef);
+    }
+
+    XSRETURN(items * 2);
+}
+
+void
+pairkeys(...)
+PROTOTYPE: @
+PPCODE:
+{
+    int argi = 0;
+    int reti = 0;
+
+    if(items % 2 && ckWARN(WARN_MISC))
+        warn("Odd number of elements in pairkeys");
+
+    {
+        for(; argi < items; argi += 2) {
+            SV *a = ST(argi);
+
+            ST(reti++) = sv_2mortal(newSVsv(a));
+        }
+    }
+
+    XSRETURN(reti);
+}
+
+void
+pairvalues(...)
+PROTOTYPE: @
+PPCODE:
+{
+    int argi = 0;
+    int reti = 0;
+
+    if(items % 2 && ckWARN(WARN_MISC))
+        warn("Odd number of elements in pairvalues");
+
+    {
+        for(; argi < items; argi += 2) {
+            SV *b = argi < items-1 ? ST(argi+1) : &PL_sv_undef;
+
+            ST(reti++) = sv_2mortal(newSVsv(b));
+        }
+    }
+
+    XSRETURN(reti);
+}
+
+void
 pairfirst(block,...)
     SV *block
 PROTOTYPE: &@
@@ -768,80 +887,6 @@ PPCODE:
 }
 
 void
-pairs(...)
-PROTOTYPE: @
-PPCODE:
-{
-    int argi = 0;
-    int reti = 0;
-    HV *pairstash = get_hv("List::Util::_Pair::", GV_ADD);
-
-    if(items % 2 && ckWARN(WARN_MISC))
-        warn("Odd number of elements in pairs");
-
-    {
-        for(; argi < items; argi += 2) {
-            SV *a = ST(argi);
-            SV *b = argi < items-1 ? ST(argi+1) : &PL_sv_undef;
-
-            AV *av = newAV();
-            av_push(av, newSVsv(a));
-            av_push(av, newSVsv(b));
-
-            ST(reti) = sv_2mortal(newRV_noinc((SV *)av));
-            sv_bless(ST(reti), pairstash);
-            reti++;
-        }
-    }
-
-    XSRETURN(reti);
-}
-
-void
-pairkeys(...)
-PROTOTYPE: @
-PPCODE:
-{
-    int argi = 0;
-    int reti = 0;
-
-    if(items % 2 && ckWARN(WARN_MISC))
-        warn("Odd number of elements in pairkeys");
-
-    {
-        for(; argi < items; argi += 2) {
-            SV *a = ST(argi);
-
-            ST(reti++) = sv_2mortal(newSVsv(a));
-        }
-    }
-
-    XSRETURN(reti);
-}
-
-void
-pairvalues(...)
-PROTOTYPE: @
-PPCODE:
-{
-    int argi = 0;
-    int reti = 0;
-
-    if(items % 2 && ckWARN(WARN_MISC))
-        warn("Odd number of elements in pairvalues");
-
-    {
-        for(; argi < items; argi += 2) {
-            SV *b = argi < items-1 ? ST(argi+1) : &PL_sv_undef;
-
-            ST(reti++) = sv_2mortal(newSVsv(b));
-        }
-    }
-
-    XSRETURN(reti);
-}
-
-void
 shuffle(...)
 PROTOTYPE: @
 CODE:
index 837b6c8..701c784 100644 (file)
@@ -12,9 +12,9 @@ require Exporter;
 our @ISA        = qw(Exporter);
 our @EXPORT_OK  = qw(
   all any first min max minstr maxstr none notall product reduce sum sum0 shuffle
-  pairmap pairgrep pairfirst pairs pairkeys pairvalues
+  pairs unpairs pairkeys pairvalues pairmap pairgrep pairfirst
 );
-our $VERSION    = "1.41";
+our $VERSION    = "1.42_01";
 our $XS_VERSION = $VERSION;
 $VERSION    = eval $VERSION;
 
@@ -254,8 +254,119 @@ or just a list of values. The functions will all preserve the original ordering
 of the pairs, and will not be confused by multiple pairs having the same "key"
 value - nor even do they require that the first of each pair be a plain string.
 
+B<NOTE>: At the time of writing, the following C<pair*> functions that take a
+block do not modify the value of C<$_> within the block, and instead operate
+using the C<$a> and C<$b> globals instead. This has turned out to be a poor
+design, as it precludes the ability to provide a C<pairsort> function. Better
+would be to pass pair-like objects as 2-element array references in C<$_>, in
+a style similar to the return value of the C<pairs> function. At some future
+version this behaviour may be added.
+
+Until then, users are alerted B<NOT> to rely on the value of C<$_> remaining
+unmodified between the outside and the inside of the control block. In
+particular, the following example is B<UNSAFE>:
+
+ my @kvlist = ...
+
+ foreach (qw( some keys here )) {
+    my @items = pairgrep { $a eq $_ } @kvlist;
+    ...
+ }
+
+Instead, write this using a lexical variable:
+
+ foreach my $key (qw( some keys here )) {
+    my @items = pairgrep { $a eq $key } @kvlist;
+    ...
+ }
+
 =cut
 
+=head2 pairs
+
+    my @pairs = pairs @kvlist;
+
+I<Since version 1.29.>
+
+A convenient shortcut to operating on even-sized lists of pairs, this function
+returns a list of ARRAY references, each containing two items from the given
+list. It is a more efficient version of
+
+    @pairs = pairmap { [ $a, $b ] } @kvlist
+
+It is most convenient to use in a C<foreach> loop, for example:
+
+    foreach my $pair ( pairs @KVLIST ) {
+       my ( $key, $value ) = @$pair;
+       ...
+    }
+
+Since version C<1.39> these ARRAY references are blessed objects, recognising
+the two methods C<key> and C<value>. The following code is equivalent:
+
+    foreach my $pair ( pairs @KVLIST ) {
+       my $key   = $pair->key;
+       my $value = $pair->value;
+       ...
+    }
+
+=head2 unpairs
+
+    my @kvlist = unpairs @pairs
+
+I<Since version 1.42.>
+
+The inverse function to C<pairs>; this function takes a list of ARRAY
+references containing two elements each, and returns a flattened list of the
+two values from each of the pairs, in order. This is notionally equivalent to
+
+    my @kvlist = map { @{$_}[0,1] } @pairs
+
+except that it is implemented more efficiently internally. Specifically, for
+any input item it will extract exactly two values for the output list; using
+C<undef> if the input array references are short.
+
+Between C<pairs> and C<unpairs>, a higher-order list function can be used to
+operate on the pairs as single scalars; such as the following near-equivalents
+of the other C<pair*> higher-order functions:
+
+    @kvlist = unpairs grep { FUNC } pairs @kvlist
+    # Like pairgrep, but takes $_ instead of $a and $b
+
+    @kvlist = unpairs map { FUNC } pairs @kvlist
+    # Like pairmap, but takes $_ instead of $a and $b
+
+Note however that these versions will not behave as nicely in scalar context.
+
+Finally, this technique can be used to implement a sort on a keyvalue pair
+list; e.g.:
+
+    @kvlist = unpairs sort { $a->key cmp $b->key } pairs @kvlist
+
+=head2 pairkeys
+
+    my @keys = pairkeys @kvlist;
+
+I<Since version 1.29.>
+
+A convenient shortcut to operating on even-sized lists of pairs, this function
+returns a list of the the first values of each of the pairs in the given list.
+It is a more efficient version of
+
+    @keys = pairmap { $a } @kvlist
+
+=head2 pairvalues
+
+    my @values = pairvalues @kvlist;
+
+I<Since version 1.29.>
+
+A convenient shortcut to operating on even-sized lists of pairs, this function
+returns a list of the the second values of each of the pairs in the given list.
+It is a more efficient version of
+
+    @values = pairmap { $b } @kvlist
+
 =head2 pairgrep
 
     my @kvlist = pairgrep { BLOCK } @kvlist;
@@ -329,58 +440,6 @@ will be visible to the caller.
 
 See L</KNOWN BUGS> for a known-bug with C<pairmap>, and a workaround.
 
-=head2 pairs
-
-    my @pairs = pairs @kvlist;
-
-I<Since version 1.29.>
-
-A convenient shortcut to operating on even-sized lists of pairs, this function
-returns a list of ARRAY references, each containing two items from the given
-list. It is a more efficient version of
-
-    @pairs = pairmap { [ $a, $b ] } @kvlist
-
-It is most convenient to use in a C<foreach> loop, for example:
-
-    foreach my $pair ( pairs @KVLIST ) {
-       my ( $key, $value ) = @$pair;
-       ...
-    }
-
-Since version C<1.39> these ARRAY references are blessed objects, recognising
-the two methods C<key> and C<value>. The following code is equivalent:
-
-    foreach my $pair ( pairs @KVLIST ) {
-       my $key   = $pair->key;
-       my $value = $pair->value;
-       ...
-    }
-
-=head2 pairkeys
-
-    my @keys = pairkeys @kvlist;
-
-I<Since version 1.29.>
-
-A convenient shortcut to operating on even-sized lists of pairs, this function
-returns a list of the the first values of each of the pairs in the given list.
-It is a more efficient version of
-
-    @keys = pairmap { $a } @kvlist
-
-=head2 pairvalues
-
-    my @values = pairvalues @kvlist;
-
-I<Since version 1.29.>
-
-A convenient shortcut to operating on even-sized lists of pairs, this function
-returns a list of the the second values of each of the pairs in the given list.
-It is a more efficient version of
-
-    @values = pairmap { $b } @kvlist
-
 =cut
 
 =head1 OTHER FUNCTIONS
index f2e01ae..e7f25c0 100644 (file)
@@ -2,7 +2,7 @@ package List::Util::XS;
 use strict;
 use List::Util;
 
-our $VERSION = "1.41";       # FIXUP
+our $VERSION = "1.42_01";       # FIXUP
 $VERSION = eval $VERSION;    # FIXUP
 
 1;
index 3f17d13..211c572 100644 (file)
@@ -8,7 +8,6 @@ package Scalar::Util;
 
 use strict;
 require Exporter;
-require List::Util; # List::Util loads the XS
 
 our @ISA       = qw(Exporter);
 our @EXPORT_OK = qw(
@@ -17,9 +16,12 @@ our @EXPORT_OK = qw(
   dualvar isdual isvstring looks_like_number openhandle readonly set_prototype
   tainted
 );
-our $VERSION    = "1.41";
+our $VERSION    = "1.42_01";
 $VERSION   = eval $VERSION;
 
+require List::Util; # List::Util loads the XS
+List::Util->VERSION( $VERSION ); # Ensure we got the right XS version (RT#100863)
+
 our @EXPORT_FAIL;
 
 unless (defined &weaken) {
index e40cf22..9829903 100644 (file)
@@ -8,7 +8,6 @@ use strict;
 use warnings;
 
 require Exporter;
-require List::Util; # as it has the XS
 
 our @ISA = qw( Exporter );
 our @EXPORT_OK = qw(
@@ -16,9 +15,12 @@ our @EXPORT_OK = qw(
   subname set_subname
 );
 
-our $VERSION    = "1.41";
+our $VERSION    = "1.42_01";
 $VERSION   = eval $VERSION;
 
+require List::Util; # as it has the XS
+List::Util->VERSION( $VERSION ); # Ensure we got the right XS version (RT#100863)
+
 =head1 NAME
 
 Sub::Util - A selection of utility subroutines for subs and CODE references
index fab05dd..81acf06 100644 (file)
@@ -3,8 +3,8 @@
 use strict;
 use warnings;
 
-use Test::More tests => 23;
-use List::Util qw(pairgrep pairfirst pairmap pairs pairkeys pairvalues);
+use Test::More tests => 26;
+use List::Util qw(pairgrep pairfirst pairmap pairs unpairs pairkeys pairvalues);
 
 no warnings 'misc'; # avoid "Odd number of elements" warnings most of the time
 
@@ -96,6 +96,18 @@ is_deeply( [ pairs one => 1, two => ],
   is( $p[0]->value, 1,     'pairs ->value' );
 }
 
+is_deeply( [ unpairs [ four => 4 ], [ five => 5 ], [ six => 6 ] ],
+           [ four => 4, five => 5, six => 6 ],
+           'unpairs' );
+
+is_deeply( [ unpairs [ four => 4 ], [ five => ] ],
+           [ four => 4, five => undef ],
+           'unpairs with short item fills in undef' );
+
+is_deeply( [ unpairs [ four => 4 ], [ five => 5, 5 ] ],
+           [ four => 4, five => 5 ],
+           'unpairs with long item truncates' );
+
 is_deeply( [ pairkeys one => 1, two => 2 ],
            [qw( one two )],
            'pairkeys' );
index c208943..8d7c441 100644 (file)
@@ -21,7 +21,7 @@ my $t;
 foreach my $r ({}, \$t, [], \*F, sub {}) {
   my $n = "$r";
   $n =~ /0x(\w+)/;
-  my $addr = do { local $^W; hex $1 };
+  my $addr = do { no warnings; hex $1 };
   my $before = ref($r);
   is( refaddr($r), $addr, $n);
   is( ref($r), $before, $n);
index 20657e8..aebb1dc 100644 (file)
@@ -3,7 +3,7 @@ package Socket;
 use strict;
 { use 5.006001; }
 
-our $VERSION = '2.018';
+our $VERSION = '2.019';
 
 =head1 NAME
 
index 60f5754..9595652 100644 (file)
 # include <ws2tcpip.h>
 #endif
 
+#ifdef WIN32
+int inet_pton(int af, const char *src, void *dst)
+{
+  struct sockaddr_storage ss;
+  int size = sizeof(ss);
+  char src_copy[INET6_ADDRSTRLEN+1];
+
+  ZeroMemory(&ss, sizeof(ss));
+  /* stupid non-const API */
+  strncpy(src_copy, src, INET6_ADDRSTRLEN+1);
+  src_copy[INET6_ADDRSTRLEN] = 0;
+
+  if (WSAStringToAddress(src_copy, af, NULL, (struct sockaddr *)&ss, &size) != 0)
+    return 0;
+
+  switch(af) {
+    case AF_INET:
+      *(struct in_addr *)dst = ((struct sockaddr_in *)&ss)->sin_addr;
+      return 1;
+    case AF_INET6:
+      *(struct in6_addr *)dst = ((struct sockaddr_in6 *)&ss)->sin6_addr;
+      return 1;
+  }
+}
+
+const char *inet_ntop(int af, const void *src, char *dst, socklen_t size)
+{
+  struct sockaddr_storage ss;
+  unsigned long s = size;
+
+  ZeroMemory(&ss, sizeof(ss));
+  ss.ss_family = af;
+
+  switch(af) {
+    case AF_INET:
+      ((struct sockaddr_in *)&ss)->sin_addr = *(struct in_addr *)src;
+      break;
+    case AF_INET6:
+      ((struct sockaddr_in6 *)&ss)->sin6_addr = *(struct in6_addr *)src;
+      break;
+    default:
+      return NULL;
+  }
+
+  /* cannot directly use &size because of strict aliasing rules */
+  if (WSAAddressToString((struct sockaddr *)&ss, sizeof(ss), NULL, dst, &s) != 0)
+    return NULL;
+  else
+    return dst;
+}
+
+#define HAS_INETPTON
+#define HAS_INETNTOP
+#endif
+
 #ifdef NETWARE
 NETDB_DEFINE_CONTEXT
 NETINET_DEFINE_CONTEXT
index 28f36c7..25164af 100644 (file)
@@ -11,7 +11,7 @@ require 5.005;
 
 
 {   no strict 'vars';
-    $VERSION = '0.33_01';
+    $VERSION = '0.33';
 
     %EXPORT_TAGS = (
         standard => [qw(openlog syslog closelog setlogmask)],
@@ -888,8 +888,6 @@ sub silent_eval (&) {
 sub can_load {
     my ($module, $verbose) = @_;
     local($SIG{__DIE__}, $SIG{__WARN__}, $@);
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     my $loaded = eval "use $module; 1";
     warn $@ if not $loaded and $verbose;
     return $loaded
index d71b238..6637cc4 100644 (file)
@@ -1,6 +1,5 @@
 #!/usr/bin/perl -w
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use warnings;
 use App::Prove;
index f81a4ae..4608978 100644 (file)
@@ -22,7 +22,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index 36a231f..0e237d5 100644 (file)
@@ -29,7 +29,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index e165b0f..6725c5a 100644 (file)
@@ -18,7 +18,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index 8ed13ad..a776f8f 100644 (file)
@@ -13,7 +13,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index e0ba8e0..61c567f 100644 (file)
@@ -16,7 +16,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 use constant GOT_TIME_HIRES => do {
     eval 'use Time::HiRes qw(time);';
index f5254cf..a5a78d1 100644 (file)
@@ -62,7 +62,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index d4d1116..76937b0 100644 (file)
@@ -75,7 +75,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index 3ca4d95..01f1a54 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index b741d68..672a083 100644 (file)
@@ -30,7 +30,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index f7b8af3..8ee90fc 100644 (file)
@@ -17,7 +17,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index 607029c..2a92d60 100644 (file)
@@ -14,7 +14,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index f0b94f9..089c1e6 100644 (file)
@@ -27,7 +27,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 METHODS
 
index 53b8e25..d9ede6b 100644 (file)
@@ -20,7 +20,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 $ENV{HARNESS_ACTIVE}  = 1;
 $ENV{HARNESS_VERSION} = $VERSION;
index dd6bc32..c565b13 100644 (file)
@@ -7,7 +7,7 @@ use constant IS_VMS => ( $^O eq 'VMS' );
 use TAP::Object;
 use Text::ParseWords qw/shellwords/;
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 # Get the parts of @INC which are changed from the stock list AND
 # preserve reordering of stock directories.
index 948395a..84dfe88 100644 (file)
@@ -13,7 +13,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 8b64f0f..22222c2 100644 (file)
@@ -31,7 +31,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 my $DEFAULT_TAP_VERSION = 12;
 my $MAX_TAP_VERSION     = 13;
index 93042be..5745245 100644 (file)
@@ -16,7 +16,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index a978e77..1a0be3c 100644 (file)
@@ -18,7 +18,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 18a5104..114aba6 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index baa2635..650adbf 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index ef40ba6..923de9a 100644 (file)
@@ -20,7 +20,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index b90770e..bd6a8b7 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 5681465..d4e29ff 100644 (file)
@@ -20,7 +20,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index ca0504a..d002272 100644 (file)
@@ -21,7 +21,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index f8a31a3..efbcfe8 100644 (file)
@@ -28,7 +28,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 22cf456..c374986 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index ab9973f..bd0f78a 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index 007d2d5..900874a 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index 053e175..b7b6a43 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index 6581a3f..57219cb 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index c4063fc..8bfeb6c 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index 46205fe..68789b5 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index a4a09e8..0775e4a 100644 (file)
@@ -15,7 +15,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 DESCRIPTION
 
index 53f1eb1..12ecb1c 100644 (file)
@@ -33,7 +33,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head2 DESCRIPTION
 
index 9bd7fb7..ed3ef51 100644 (file)
@@ -17,7 +17,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index ceb24be..ae0b59b 100644 (file)
@@ -14,7 +14,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index d8b3b54..a739164 100644 (file)
@@ -14,7 +14,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 31720e6..27f6e53 100644 (file)
@@ -18,7 +18,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 24a79b5..a2e943b 100644 (file)
@@ -16,7 +16,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 35b94a3..cb117c6 100644 (file)
@@ -20,7 +20,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 00be841..d113845 100644 (file)
@@ -20,7 +20,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index f09bf08..4dc3afb 100644 (file)
@@ -25,7 +25,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 5e5abe4..8574e27 100644 (file)
@@ -20,7 +20,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 =head1 SYNOPSIS
 
index 40292ce..a79f728 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 use base 'TAP::Object';
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 # TODO:
 #   Handle blessed object syntax
index 51d6171..9d68a18 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 use base 'TAP::Object';
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 my $ESCAPE_CHAR = qr{ [ \x00-\x1f \" ] }x;
 my $ESCAPE_KEY  = qr{ (?: ^\W ) | $ESCAPE_CHAR }x;
index f3c9a0f..d375919 100644 (file)
@@ -35,7 +35,7 @@ Version 3.35
 
 =cut
 
-our $VERSION = '3.35_01';
+our $VERSION = '3.35';
 
 # Backwards compatibility for exportable variable names.
 *verbose  = *Verbose;
index 973f8dd..108bc10 100644 (file)
@@ -20,7 +20,7 @@ sub _reset_globals {
     $planned    = 0;
 }
 
-$VERSION = '1.26_01';
+$VERSION = '1.26';
 require Exporter;
 @ISA=('Exporter');
 
@@ -480,12 +480,7 @@ sub _diff_complain {
     my($result, $expected, $detail, $prefix) = @_;
     return _diff_complain_external(@_) if $ENV{PERL_TEST_DIFF};
     return _diff_complain_algdiff(@_)
-      if eval {
-          local @INC = @INC;
-          pop @INC if $INC[-1] eq '.';
-          require Algorithm::Diff; Algorithm::Diff->VERSION(1.15);
-          1;
-      };
+     if eval { require Algorithm::Diff; Algorithm::Diff->VERSION(1.15); 1; };
 
     $told_about_diff++ or print $TESTERR <<"EOT";
 # $prefix   (Install the Algorithm::Diff module to have differences in multiline
index aaf63ee..a8b80fc 100644 (file)
@@ -2,13 +2,11 @@ package Time::Piece;
 
 use strict;
 
-require Exporter;
-require DynaLoader;
 use Time::Seconds;
 use Carp;
 use Time::Local;
 
-our @ISA = qw(Exporter DynaLoader);
+use Exporter ();
 
 our @EXPORT = qw(
     localtime
@@ -19,9 +17,13 @@ our %EXPORT_TAGS = (
     ':override' => 'internal',
     );
 
-our $VERSION = '1.29';
+our $VERSION = '1.30';
 
-bootstrap Time::Piece $VERSION;
+require DynaLoader;
+{
+    local *dl_load_flags = \&DynaLoader::dl_load_flags;
+    __PACKAGE__->DynaLoader::bootstrap($VERSION);
+}
 
 my $DATE_SEP = '-';
 my $TIME_SEP = ':';
@@ -31,17 +33,19 @@ my @FULLMON_LIST = qw(January February March April May June July
 my @DAY_LIST = qw(Sun Mon Tue Wed Thu Fri Sat);
 my @FULLDAY_LIST = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday);
 
-use constant 'c_sec' => 0;
-use constant 'c_min' => 1;
-use constant 'c_hour' => 2;
-use constant 'c_mday' => 3;
-use constant 'c_mon' => 4;
-use constant 'c_year' => 5;
-use constant 'c_wday' => 6;
-use constant 'c_yday' => 7;
-use constant 'c_isdst' => 8;
-use constant 'c_epoch' => 9;
-use constant 'c_islocal' => 10;
+use constant {
+    'c_sec' => 0,
+    'c_min' => 1,
+    'c_hour' => 2,
+    'c_mday' => 3,
+    'c_mon' => 4,
+    'c_year' => 5,
+    'c_wday' => 6,
+    'c_yday' => 7,
+    'c_isdst' => 8,
+    'c_epoch' => 9,
+    'c_islocal' => 10,
+};
 
 sub localtime {
     unshift @_, __PACKAGE__ unless eval { $_[0]->isa('Time::Piece') };
@@ -62,9 +66,9 @@ sub gmtime {
 sub new {
     my $class = shift;
     my ($time) = @_;
-    
+
     my $self;
-    
+
     if (defined($time)) {
         $self = $class->localtime($time);
     }
@@ -74,7 +78,7 @@ sub new {
     else {
         $self = $class->localtime();
     }
-    
+
     return bless $self, ref($class) || $class;
 }
 
@@ -82,6 +86,10 @@ sub parse {
     my $proto = shift;
     my $class = ref($proto) || $proto;
     my @components;
+
+    warnings::warnif("deprecated", 
+        "parse() is deprecated, use strptime() instead.");
+
     if (@_ > 1) {
         @components = @_;
     }
@@ -89,7 +97,7 @@ sub parse {
         @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", @components));
+    return $class->new(_strftime("%s", timelocal(@components)));
 }
 
 sub _mktime {
@@ -98,7 +106,9 @@ sub _mktime {
            ? ref $class
            : $class;
     if (ref($time)) {
-        $time->[c_epoch] = undef;
+        my @tm_parts = (@{$time}[c_sec .. c_mon], $time->[c_year]+1900);
+        $time->[c_epoch] = $islocal ? timelocal(@tm_parts) : timegm(@tm_parts);
+
         return wantarray ? @$time : bless [@$time[0..9], $islocal], $class;
     }
     _tzset();
@@ -122,13 +132,13 @@ sub export {
       no warnings 'redefine';
       *{$to . "::$method"} = $_special_exports{$method}->($class);
     } else {
-      $class->SUPER::export($to, $method);
+      $class->Exporter::export($to, $method);
     }
   }
 }
 
 sub import {
-    # replace CORE::GLOBAL localtime and gmtime if required
+    # replace CORE::GLOBAL localtime and gmtime if passed :override
     my $class = shift;
     my %params;
     map($params{$_}++,@_,@EXPORT);
@@ -136,7 +146,7 @@ sub import {
         $class->export('CORE::GLOBAL', keys %params);
     }
     else {
-        $class->export((caller)[0], keys %params);
+        $class->export(scalar caller, keys %params);
     }
 }
 
@@ -279,7 +289,7 @@ sub isdst {
 # Thanks to Tony Olekshy <olekshy@cs.ualberta.ca> for this algorithm
 sub tzoffset {
     my $time = shift;
-    
+
     return Time::Seconds->new(0) unless $time->[c_islocal];
 
     my $epoch = $time->epoch;
@@ -447,19 +457,22 @@ sub month_last_day {
     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',
+);
+
 sub strftime {
     my $time = shift;
-    my $tzname = $time->[c_islocal] ? '%Z' : 'UTC';
-    my $format = @_ ? shift(@_) : "%a, %d %b %Y %H:%M:%S $tzname";
-    if (!defined $time->[c_wday]) {
-        if ($time->[c_islocal]) {
-            return _strftime($format, CORE::localtime($time->epoch));
-        }
-        else {
-            return _strftime($format, CORE::gmtime($time->epoch));
-        }
+    my $format = @_ ? shift(@_) : '%a, %d %b %Y %H:%M:%S %Z';
+    if (! $time->[c_islocal]) {
+        $format =~ s/(%.)/$GMT_REPR{$1} || $1/eg;
     }
-    return _strftime($format, (@$time)[c_sec..c_isdst]);
+
+    return _strftime($format, $time->epoch, $time->[c_islocal]);
 }
 
 sub strptime {
@@ -550,7 +563,7 @@ sub subtract {
        # to override this function.
        return $rhs - "$time";
     }
-    
+
     if (UNIVERSAL::isa($rhs, 'Time::Piece')) {
         return Time::Seconds->new($time->epoch - $rhs->epoch);
     }
@@ -592,9 +605,9 @@ sub compare {
 
 sub add_months {
     my ($time, $num_months) = @_;
-    
+
     croak("add_months requires a number of months") unless defined($num_months);
-    
+
     my $final_month = $time->_mon + $num_months;
     my $num_years = 0;
     if ($final_month > 11 || $final_month < 0) {
@@ -607,10 +620,10 @@ sub add_months {
             $num_years = int($final_month / 12);
         }
         $num_years-- if ($final_month < 0);
-        
+
         $final_month = $final_month % 12;
     }
-    
+
     my @vals = _mini_mktime($time->sec, $time->min, $time->hour,
                             $time->mday, $final_month, $time->year - 1900 + $num_years);
     # warn(sprintf("got %d vals: %d-%d-%d %d:%d:%d [%d]\n", scalar(@vals), reverse(@vals), $time->[c_islocal]));
index 0798b34..eafb790 100644 (file)
@@ -67,7 +67,7 @@ my_init_tm(struct tm *ptm)        /* see mktime, strftime and asctime    */
 #else
 /* use core version from util.c in 5.8.0 and later */
 # define my_init_tm init_tm
-#endif 
+#endif
 
 #ifdef WIN32
 
@@ -312,6 +312,7 @@ my_mini_mktime(struct tm *ptm)
 #       define strncasecmp(x,y,n) strnicmp(x,y,n)
 #   endif
 
+/* strptime.c    0.1 (Powerdog) 94/03/27 */
 /* strptime copied from freebsd with the following copyright: */
 /*
  * Copyright (c) 1994 Powerdog Industries.  All rights reserved.
@@ -319,18 +320,14 @@ my_mini_mktime(struct tm *ptm)
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
+ *
  * 1. Redistributions of source code must retain the above copyright
  *    notice, this list of conditions and the following disclaimer.
+ *
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer
  *    in the documentation and/or other materials provided with the
  *    distribution.
- * 3. All advertising materials mentioning features or use of this
- *    software must display the following acknowledgement:
- *      This product includes software developed by Powerdog Industries.
- * 4. The name of Powerdog Industries may not be used to endorse or
- *    promote products derived from this software without specific prior
- *    written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY POWERDOG INDUSTRIES ``AS IS'' AND ANY
  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -343,15 +340,11 @@ my_mini_mktime(struct tm *ptm)
  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation
+ * are those of the authors and should not be interpreted as representing
+ * official policies, either expressed or implied, of Powerdog Industries.
  */
-#ifndef lint
-#ifndef NOID
-static char copyright[] =
-"@(#) Copyright (c) 1994 Powerdog Industries.  All rights reserved.";
-static char sccsid[] = "@(#)strptime.c 0.1 (Powerdog) 94/03/27";
-#endif /* !defined NOID */
-#endif /* not lint */
 
 #include <time.h>
 #include <ctype.h>
@@ -366,7 +359,7 @@ struct lc_time_T {
     const char *    month[12];
     const char *    wday[7];
     const char *    weekday[7];
-    const char *    X_fmt;     
+    const char *    X_fmt;
     const char *    x_fmt;
     const char *    c_fmt;
     const char *    am;
@@ -685,7 +678,7 @@ label:
 
                case 'A':
                case 'a':
-                       for (i = 0; i < asizeof(Locale->weekday); i++) {
+                       for (i = 0; i < (int)asizeof(Locale->weekday); i++) {
                                if (c == 'A') {
                                        len = strlen(Locale->weekday[i]);
                                        if (strncasecmp(buf,
@@ -700,7 +693,7 @@ label:
                                                break;
                                }
                        }
-                       if (i == asizeof(Locale->weekday))
+                       if (i == (int)asizeof(Locale->weekday))
                                return 0;
 
                        tm->tm_wday = i;
@@ -779,7 +772,7 @@ label:
                case 'B':
                case 'b':
                case 'h':
-                       for (i = 0; i < asizeof(Locale->month); i++) {
+                       for (i = 0; i < (int)asizeof(Locale->month); i++) {
                                if (Oalternative) {
                                        if (c == 'B') {
                                                len = strlen(Locale->alt_month[i]);
@@ -804,7 +797,7 @@ label:
                                        }
                                }
                        }
-                       if (i == asizeof(Locale->month))
+                       if (i == (int)asizeof(Locale->month))
                                return 0;
 
                        tm->tm_mon = i;
@@ -896,7 +889,7 @@ label:
                        const char *cp;
                        char *zonestr;
 
-                       for (cp = buf; *cp && isupper((unsigned char)*cp); ++cp) 
+                       for (cp = buf; *cp && isupper((unsigned char)*cp); ++cp)
                             {/*empty*/}
                        if (cp - buf) {
                                zonestr = (char *)malloc(cp - buf + 1);
@@ -970,6 +963,7 @@ push_common_tm(pTHX_ SV ** SP, struct tm *mytm)
        PUSHs(newSViv(mytm->tm_year));
        PUSHs(newSViv(mytm->tm_wday));
        PUSHs(newSViv(mytm->tm_yday));
+       PUSHs(newSViv(mytm->tm_isdst));
        return SP;
 }
 
@@ -986,11 +980,8 @@ 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); */
-
        EXTEND(SP, 11);
        SP = push_common_tm(aTHX_ SP, mytm);
-       /* isdst */
-       PUSHs(newSViv(0));
        /* epoch */
        PUSHs(newSViv(0));
        /* islocal */
@@ -1013,37 +1004,24 @@ MODULE = Time::Piece     PACKAGE = Time::Piece
 PROTOTYPES: ENABLE
 
 void
-_strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
-    char *        fmt
-    int        sec
-    int        min
-    int        hour
-    int        mday
-    int        mon
-    int        year
-    int        wday
-    int        yday
-    int        isdst
+_strftime(fmt, epoch, islocal = 1)
+    char *      fmt
+    time_t      epoch
+    int         islocal
     CODE:
     {
         char tmpbuf[128];
         struct tm mytm;
         int len;
-        memset(&mytm, 0, sizeof(mytm));
-        my_init_tm(&mytm);    /* XXX workaround - see my_init_tm() above */
-        mytm.tm_sec = sec;
-        mytm.tm_min = min;
-        mytm.tm_hour = hour;
-        mytm.tm_mday = mday;
-        mytm.tm_mon = mon;
-        mytm.tm_year = year;
-        mytm.tm_wday = wday;
-        mytm.tm_yday = yday;
-        mytm.tm_isdst = isdst;
-        my_mini_mktime(&mytm);
+
+        if(islocal == 1)
+            mytm = *localtime(&epoch);
+        else
+            mytm = *gmtime(&epoch);
+
         len = strftime(tmpbuf, sizeof tmpbuf, fmt, &mytm);
         /*
-        ** The following is needed to handle to the situation where 
+        ** The following is needed to handle to the situation where
         ** tmpbuf overflows.  Basically we want to allocate a buffer
         ** and try repeatedly.  The reason why it is so complicated
         ** is that getting a return value of 0 from strftime can indicate
@@ -1107,6 +1085,7 @@ _strptime ( string, format )
   PPCODE:
        t = 0;
        mytm = *gmtime(&t);
+       mytm.tm_isdst = -1; /* -1 means we don't know */
        got_GMT = 0;
 
        remainder = (char *)_strptime(aTHX_ string, format, &mytm, &got_GMT);
@@ -1149,7 +1128,7 @@ _crt_localtime(time_t sec)
         if(ix) mytm = *gmtime(&sec);
         else mytm = *localtime(&sec);
         /* Need to get: $s,$n,$h,$d,$m,$y */
-        
+
         EXTEND(SP, 9);
         SP = push_common_tm(aTHX_ SP, &mytm);
         PUSHs(newSViv(mytm.tm_isdst));
index 8e5b52b..fb5d441 100644 (file)
@@ -1,53 +1,49 @@
 package Time::Seconds;
 use strict;
-use vars qw/@EXPORT @EXPORT_OK/;
 
-our $VERSION = '1.29';
+our $VERSION = '1.30';
 
 use Exporter 5.57 'import';
 
-@EXPORT = qw(
-    ONE_MINUTE 
-    ONE_HOUR 
-    ONE_DAY 
-    ONE_WEEK 
+our @EXPORT = qw(
+    ONE_MINUTE
+    ONE_HOUR
+    ONE_DAY
+    ONE_WEEK
     ONE_MONTH
-    ONE_REAL_MONTH
     ONE_YEAR
-    ONE_REAL_YEAR
     ONE_FINANCIAL_MONTH
-    LEAP_YEAR 
+    LEAP_YEAR
     NON_LEAP_YEAR
 );
 
-@EXPORT_OK = qw(cs_sec cs_mon);
-
-use constant ONE_MINUTE => 60;
-use constant ONE_HOUR => 3_600;
-use constant ONE_DAY => 86_400;
-use constant ONE_WEEK => 604_800;
-use constant ONE_MONTH => 2_629_744; # ONE_YEAR / 12
-use constant ONE_REAL_MONTH => '1M';
-use constant ONE_YEAR => 31_556_930; # 365.24225 days
-use constant ONE_REAL_YEAR  => '1Y';
-use constant ONE_FINANCIAL_MONTH => 2_592_000; # 30 days
-use constant LEAP_YEAR => 31_622_400; # 366 * ONE_DAY
-use constant NON_LEAP_YEAR => 31_536_000; # 365 * ONE_DAY
-
-# hacks to make Time::Piece compile once again
-use constant cs_sec => 0;
-use constant cs_mon => 1;
-
-use overload 
-                'fallback' => 'undef',
-                '0+' => \&seconds,
-                '""' => \&seconds,
-                '<=>' => \&compare,
-                '+' => \&add,
-                '-' => \&subtract,
-                '-=' => \&subtract_from,
-                '+=' => \&add_to,
-                '=' => \&copy;
+our @EXPORT_OK = qw(cs_sec cs_mon);
+
+use constant {
+    ONE_MINUTE => 60,
+    ONE_HOUR => 3_600,
+    ONE_DAY => 86_400,
+    ONE_WEEK => 604_800,
+    ONE_MONTH => 2_629_744, # ONE_YEAR / 12
+    ONE_YEAR => 31_556_930, # 365.24225 days
+    ONE_FINANCIAL_MONTH => 2_592_000, # 30 days
+    LEAP_YEAR => 31_622_400, # 366 * ONE_DAY
+    NON_LEAP_YEAR => 31_536_000, # 365 * ONE_DAY
+    # hacks to make Time::Piece compile once again
+    cs_sec => 0,
+    cs_mon => 1,
+};
+
+use overload
+    'fallback' => 'undef',
+    '0+' => \&seconds,
+    '""' => \&seconds,
+    '<=>' => \&compare,
+    '+' => \&add,
+    '-' => \&subtract,
+    '-=' => \&subtract_from,
+    '+=' => \&add_to,
+    '=' => \&copy;
 
 sub new {
     my $class = shift;
@@ -229,8 +225,8 @@ The following methods are available:
     $val->hours;
     $val->days;
     $val->weeks;
-       $val->months;
-       $val->financial_months; # 30 days
+    $val->months;
+    $val->financial_months; # 30 days
     $val->years;
     $val->pretty; # gives English representation of the delta
 
index 530cd3d..fb2045e 100644 (file)
@@ -1,4 +1,4 @@
-use Test::More tests => 7;
+use Test::More tests => 13;
 
 BEGIN { use_ok('Time::Piece'); }
 
@@ -17,3 +17,23 @@ isa_ok($g, 'Time::Piece', 'current gmtime');
 
 my $l = localtime;
 isa_ok($l, 'Time::Piece', 'current localtime');
+
+#without export
+$g = Time::Piece::gmtime;
+isa_ok($g, 'Time::Piece', 'fully qualified gmtime');
+
+$l = Time::Piece::localtime;
+isa_ok($l, 'Time::Piece', 'full qualified localtime');
+
+#via new
+$l = Time::Piece->new(315532800);
+isa_ok($l, 'Time::Piece', 'custom localtime via new');
+
+#via new again
+$l = $l->new();
+isa_ok($l, 'Time::Piece', 'custom localtime via new again');
+
+#via clone
+my $l_clone = Time::Piece->new($l);
+isa_ok($l, 'Time::Piece', 'custom localtime via clone');
+cmp_ok("$l_clone", 'eq', "$l", 'Clones match');
index 18dae7d..2933058 100644 (file)
@@ -1,4 +1,4 @@
-use Test::More tests => 95;
+use Test::More tests => 102;
 
 my $is_win32 = ($^O =~ /Win32/);
 my $is_qnx = ($^O eq 'qnx');
@@ -128,7 +128,12 @@ cmp_ok($t->strftime('%W'), 'eq', '09'); # Sun cmp Mon
 cmp_ok($t->strftime('%y'), '==', 0); # should test with 1999
 cmp_ok($t->strftime('%Y'), 'eq', '2000');
 
-# %Z is locale and implementation dependent
+# %Z is locale and implementation dependent (s/// to the rescue)
+cmp_ok($t->strftime('%z'), 'eq', '+0000');
+cmp_ok($t->strftime('%%z%z'), 'eq', '%z+0000');
+cmp_ok($t->strftime('%Z'), 'eq', 'UTC');
+cmp_ok($t->strftime('%%Z%Z'), 'eq', '%ZUTC');
+
 # (there is NO standard for timezone names)
 cmp_ok($t->date(""), 'eq', '20000229');
 cmp_ok($t->ymd("") , 'eq', '20000229');
@@ -213,7 +218,7 @@ cmp_ok(Time::Piece->strptime("2002/06/10 23", '%Y/%m/%d %H')->week, '==', 24);
 # Test that strptime populates all relevant fields
 cmp_ok(Time::Piece->strptime("2002/07/10", '%Y/%m/%d')->wday,  '==', 4);
 cmp_ok(Time::Piece->strptime("2002/12/31", '%Y/%m/%d')->yday,  '==', 364);
-cmp_ok(Time::Piece->strptime("2002/07/10", '%Y/%m/%d')->isdst, '==', 0);
+cmp_ok(Time::Piece->strptime("2002/07/10", '%Y/%m/%d')->isdst, '==', -1);
 cmp_ok(Time::Piece->strptime("2002/07/10", '%Y/%m/%d')->day_of_week, '==', 3);
 
 is(
@@ -228,5 +233,20 @@ cmp_ok(
   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');
+
diff --git a/cpan/Time-Piece/t/02core_dst.t b/cpan/Time-Piece/t/02core_dst.t
new file mode 100644 (file)
index 0000000..2922514
--- /dev/null
@@ -0,0 +1,139 @@
+use Test::More tests => 60;
+
+my $is_win32 = ($^O =~ /Win32/);
+my $is_qnx = ($^O eq 'qnx');
+my $is_vos = ($^O eq 'vos');
+
+use Time::Piece;
+use Time::Seconds;
+
+#test using an epoch that can be DST
+
+my $t = gmtime(1373371631); # 2013-07-09T12:07:11
+
+is($t->sec,               11);
+is($t->second,            11);
+is($t->min,               07);
+is($t->minute,            07);
+is($t->hour,              12);
+is($t->mday,               9);
+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');
+
+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);
+
+# In GMT there should be no daylight savings ever.
+cmp_ok($t->isdst, '==', 0);
+cmp_ok($t->epoch, '==',   1373371631);
+cmp_ok($t->hms,   'eq',   '12:07:11');
+cmp_ok($t->time,  'eq',   '12:07:11');
+cmp_ok($t->ymd,   'eq', '2013-07-09');
+cmp_ok($t->date,  'eq', '2013-07-09');
+cmp_ok($t->mdy,   'eq', '07-09-2013');
+cmp_ok($t->dmy,   'eq', '09-07-2013');
+cmp_ok($t->cdate, 'eq', 'Tue Jul  9 12:07:11 2013');
+cmp_ok("$t",      'eq', 'Tue Jul  9 12:07:11 2013');
+cmp_ok($t->datetime, 'eq','2013-07-09T12:07:11');
+cmp_ok($t->daylight_savings, '==', 0);
+
+
+cmp_ok($t->week, '==', 28);
+
+# strftime tests
+
+# %a, %A, %b, %B, %c are locale-dependent
+
+# %C is unportable: sometimes its like asctime(3) or date(1),
+# sometimes it's the century (and whether for 2000 the century is
+# 20 or 19, is fun, too..as far as I can read SUSv2 it should be 20.)
+cmp_ok($t->strftime('%d'), '==', 9);
+
+SKIP: {
+  skip "can't strftime %D, %R, %T or %e on Win32", 1 if $is_win32;
+  cmp_ok($t->strftime('%D'), 'eq', '07/09/13'); # 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', ' 9');       # should test with < 10
+}
+
+# %h is locale-dependent
+cmp_ok($t->strftime('%H'), 'eq', '12'); # should test with < 10
+
+cmp_ok($t->strftime('%I'), 'eq', '12'); # should test with < 10
+cmp_ok($t->strftime('%j'), '==',  190 ); # why ->yday+1 ?
+cmp_ok($t->strftime('%M'), 'eq', '07'); # should test with < 10
+
+# %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:07');    # should test with > 12
+}
+
+ok($t->strftime('%S') eq '11'); # should test with < 10
+
+SKIP: {
+  skip "can't strftime %T on Win32", 1 if $is_win32;
+  cmp_ok($t->strftime('%T'), 'eq', '12:07:11'); # < 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
+# 1-based on Sunday...)
+
+cmp_ok($t->strftime('%U'), 'eq', '27'); # 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;
+    # is this test really broken on Mac OS? -- rjbs, 2006-02-08
+    cmp_ok($t->strftime('%V'), 'eq', '28'); # Sun cmp Mon
+}
+
+cmp_ok($t->strftime('%w'), '==', 2);
+cmp_ok($t->strftime('%W'), 'eq', '27'); # Sun cmp Mon
+
+# %x is locale and implementation dependent.
+
+cmp_ok($t->strftime('%y'), '==', 13); # should test with 1999
+cmp_ok($t->strftime('%Y'), 'eq', '2013');
+
+ok(not $t->is_leap_year); # should test more with different dates
+
+cmp_ok($t->month_last_day, '==', 31); # test more
+
+
+{
+    local $ENV{TZ} = "EST5EDT4";
+    Time::Piece::_tzset();
+    my $lt = localtime(1373371631); #2013-07-09T12:07:11
+    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
+
+    $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/);
+}
+
+
+
+
+
index dce097a..d6e4315 100644 (file)
@@ -7,6 +7,9 @@ use warnings;
 
 use Test::More 'no_plan';
 
+use lib "t/lib";
+use Time::Piece::Twin;
+
 BEGIN { use_ok('Time::Piece'); }
 
 my $class = 'Time::Piece::Twin';
@@ -39,12 +42,7 @@ for my $method (qw(new localtime gmtime)) {
   isnt(ref $piece, 'Time::Piece::Twin', "it's not a Twin");
 }
 
-## below is our doppelgaenger package
-{
-  package Time::Piece::Twin;
-  use base qw(Time::Piece);
-  # this package is identical, but will be ->isa('Time::Piece::Twin');
-}
+
 
 {
   my $class = "Time::Piece::NumString";
diff --git a/cpan/Time-Piece/t/lib/Time/Piece/Twin.pm b/cpan/Time-Piece/t/lib/Time/Piece/Twin.pm
new file mode 100644 (file)
index 0000000..9798f83
--- /dev/null
@@ -0,0 +1,4 @@
+# this package is identical, but will be ->isa('Time::Piece::Twin');
+package Time::Piece::Twin;
+use base qw(Time::Piece);
+our $VERSION = "0.01";
index 7b9ab45..4cc880b 100644 (file)
@@ -8,7 +8,7 @@ package Win32;
     require DynaLoader;
 
     @ISA = qw|Exporter DynaLoader|;
-    $VERSION = '0.52';
+    $VERSION = '0.51';
     $XS_VERSION = $VERSION;
     $VERSION = eval $VERSION;
 
@@ -215,7 +215,7 @@ sub PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT () { 0x01E } # Windows Essential Bu
 sub PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY   () { 0x01F } # Windows Essential Business Server Security Server
 sub PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING  () { 0x020 } # Windows Essential Business Server Messaging Server
 sub PRODUCT_SERVER_FOUNDATION                () { 0x021 } # Server Foundation
-#define PRODUCT_HOME_PREMIUM_SERVER                 0x00000022
+
 sub PRODUCT_SERVER_FOR_SMALLBUSINESS_V       () { 0x023 } # Windows Server 2008 without Hyper-V for Windows Essential Server Solutions
 sub PRODUCT_STANDARD_SERVER_V                () { 0x024 } # Server Standard without Hyper-V (full installation)
 sub PRODUCT_DATACENTER_SERVER_V              () { 0x025 } # Server Datacenter without Hyper-V (full installation)
@@ -224,84 +224,17 @@ sub PRODUCT_DATACENTER_SERVER_CORE_V         () { 0x027 } # Server Datacenter wi
 sub PRODUCT_STANDARD_SERVER_CORE_V           () { 0x028 } # Server Standard without Hyper-V (core installation)
 sub PRODUCT_ENTERPRISE_SERVER_CORE_V         () { 0x029 } # Server Enterprise without Hyper-V (core installation)
 sub PRODUCT_HYPERV                           () { 0x02A } # Microsoft Hyper-V Server
-#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE         0x0000002B
-#define PRODUCT_STORAGE_STANDARD_SERVER_CORE        0x0000002C
-#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE       0x0000002D
-#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE      0x0000002E
+
 sub PRODUCT_STARTER_N                        () { 0x02F } # Starter N
 sub PRODUCT_PROFESSIONAL                     () { 0x030 } # Professional
 sub PRODUCT_PROFESSIONAL_N                   () { 0x031 } # Professional N
-#define PRODUCT_SB_SOLUTION_SERVER                  0x00000032
-#define PRODUCT_SERVER_FOR_SB_SOLUTIONS             0x00000033
-#define PRODUCT_STANDARD_SERVER_SOLUTIONS           0x00000034
-#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE      0x00000035
-#define PRODUCT_SB_SOLUTION_SERVER_EM               0x00000036
-#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM          0x00000037
-#define PRODUCT_SOLUTION_EMBEDDEDSERVER             0x00000038
-#define PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE        0x00000039
-#define PRODUCT_PROFESSIONAL_EMBEDDED               0x0000003A
-#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT       0x0000003B
-#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL       0x0000003C
-#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC    0x0000003D
-#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC    0x0000003E
-#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE   0x0000003F
-#define PRODUCT_CLUSTER_SERVER_V                    0x00000040
-#define PRODUCT_EMBEDDED                            0x00000041
+
 sub PRODUCT_STARTER_E                        () { 0x042 } # Starter E
 sub PRODUCT_HOME_BASIC_E                     () { 0x043 } # Home Basic E
 sub PRODUCT_HOME_PREMIUM_E                   () { 0x044 } # Home Premium E
 sub PRODUCT_PROFESSIONAL_E                   () { 0x045 } # Professional E
 sub PRODUCT_ENTERPRISE_E                     () { 0x046 } # Enterprise E
 sub PRODUCT_ULTIMATE_E                       () { 0x047 } # Ultimate E
-#define PRODUCT_ENTERPRISE_EVALUATION               0x00000048
-#define PRODUCT_MULTIPOINT_STANDARD_SERVER          0x0000004C
-#define PRODUCT_MULTIPOINT_PREMIUM_SERVER           0x0000004D
-#define PRODUCT_STANDARD_EVALUATION_SERVER          0x0000004F
-#define PRODUCT_DATACENTER_EVALUATION_SERVER        0x00000050
-#define PRODUCT_ENTERPRISE_N_EVALUATION             0x00000054
-#define PRODUCT_EMBEDDED_AUTOMOTIVE                 0x00000055
-#define PRODUCT_EMBEDDED_INDUSTRY_A                 0x00000056
-#define PRODUCT_THINPC                              0x00000057
-#define PRODUCT_EMBEDDED_A                          0x00000058
-#define PRODUCT_EMBEDDED_INDUSTRY                   0x00000059
-#define PRODUCT_EMBEDDED_E                          0x0000005A
-#define PRODUCT_EMBEDDED_INDUSTRY_E                 0x0000005B
-#define PRODUCT_EMBEDDED_INDUSTRY_A_E               0x0000005C
-#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x0000005F
-#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER  0x00000060
-#define PRODUCT_CORE_ARM                            0x00000061
-sub PRODUCT_CORE_N                           () { 0x62 } # Windows 10 Home N
-sub PRODUCT_CORE_COUNTRYSPECIFIC             () { 0x63 } # Windows 10 Home China
-sub PRODUCT_CORE_SINGLELANGUAGE              () { 0x64 } # Windows 10 Home Single Language
-sub PRODUCT_CORE                             () { 0x65 } # Windows 10 Home
-#define PRODUCT_PROFESSIONAL_WMC                    0x00000067
-#define PRODUCT_MOBILE_CORE                         0x00000068
-#define PRODUCT_EMBEDDED_INDUSTRY_EVAL              0x00000069
-#define PRODUCT_EMBEDDED_INDUSTRY_E_EVAL            0x0000006A
-#define PRODUCT_EMBEDDED_EVAL                       0x0000006B
-#define PRODUCT_EMBEDDED_E_EVAL                     0x0000006C
-#define PRODUCT_NANO_SERVER                         0x0000006D
-#define PRODUCT_CLOUD_STORAGE_SERVER                0x0000006E
-#define PRODUCT_CORE_CONNECTED                      0x0000006F
-#define PRODUCT_PROFESSIONAL_STUDENT                0x00000070
-#define PRODUCT_CORE_CONNECTED_N                    0x00000071
-#define PRODUCT_PROFESSIONAL_STUDENT_N              0x00000072
-#define PRODUCT_CORE_CONNECTED_SINGLELANGUAGE       0x00000073
-#define PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC      0x00000074
-#define PRODUCT_CONNECTED_CAR                       0x00000075
-#define PRODUCT_INDUSTRY_HANDHELD                   0x00000076
-#define PRODUCT_PPI_PRO                             0x00000077
-#define PRODUCT_ARM64_SERVER                        0x00000078
-sub PRODUCT_EDUCATION                        () { 0x79 } # Windows 10 Education
-sub PRODUCT_EDUCATION_N                      () { 0x7A } # Windows 10 Education N
-#define PRODUCT_IOTUAP                              0x0000007B
-#define PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER    0x0000007C
-#define PRODUCT_ENTERPRISE_S                        0x0000007D
-#define PRODUCT_ENTERPRISE_S_N                      0x0000007E
-#define PRODUCT_PROFESSIONAL_S                      0x0000007F
-#define PRODUCT_PROFESSIONAL_S_N                    0x00000080
-#define PRODUCT_ENTERPRISE_S_EVALUATION             0x00000081
-#define PRODUCT_ENTERPRISE_S_N_EVALUATION           0x00000082
 
 sub PRODUCT_UNLICENSED                       () { 0xABCDABCD } # product has not been activated and is no longer in the grace period
 
@@ -544,13 +477,8 @@ sub _GetOSName {
                    $desc = "R2";
                }
            }
-        }
-       elsif ($major == 10) {
-            $os = '10';
-        }
 
-        if ($major >= 6) {
-            if ($productinfo == PRODUCT_ULTIMATE) {
+        if ($productinfo == PRODUCT_ULTIMATE) {
                $desc .= " Ultimate";
            }
             elsif ($productinfo == PRODUCT_HOME_PREMIUM) {
@@ -612,7 +540,7 @@ sub _GetOSName {
            elsif ($arch == PROCESSOR_ARCHITECTURE_AMD64) {
                $desc .= " (64-bit)";
            }
-       } 
+       }
     }
 
     unless (defined $os) {
index fd9e5ec..098a169 100644 (file)
@@ -104,11 +104,6 @@ my @dual_tests = (
 ["2012",                            "2012",    2, 6, 2, 0x00, 2, 89  ],
 ["[Small Business Server] 2008 R2", "2008",    2, 6, 1, 0x09, 2, 89  ],
 
-["8.1",                             "8.1",     2, 6, 3               ],
-["2012 [R2]",                       "2012",    2, 6, 3, 0x00, 2, 89  ],
-
-["10",                              "10",      2, 10, 0              ],
-
 );
 
 my @ia64_tests = (
index 8fe7899..21064ee 100644 (file)
@@ -10,7 +10,12 @@ use Tie::RefHash;   # To cache subroutine refs
 use Config;
 use Scalar::Util qw(set_prototype);
 
-use autodie::ScopeUtil qw(on_end_of_compile_scope);
+use autodie::Util qw(
+  fill_protos
+  install_subs
+  make_core_trampoline
+  on_end_of_compile_scope
+);
 
 use constant PERL510     => ( $] >= 5.010 );
 
@@ -50,7 +55,7 @@ use constant ERROR_58_HINTS => q{Non-subroutine %s hints for %s are not supporte
 
 use constant MIN_IPC_SYS_SIMPLE_VER => 0.12;
 
-our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg::Version
+our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg::Version
 
 our $Debug ||= 0;
 
@@ -157,6 +162,7 @@ my %TAGS = (
     ':2.24'  => [qw(:v225)],
     ':2.25'  => [qw(:v225)],
     ':2.26'  => [qw(:default)],
+    ':2.27'  => [qw(:default)],
 );
 
 
@@ -293,6 +299,8 @@ my %reusable_builtins;
     CORE::shmctl
     CORE::shmget
     CORE::shmread
+    CORE::exec
+    CORE::system
 )} = ();
 
 # Cached_fatalised_sub caches the various versions of our
@@ -359,6 +367,41 @@ sub import {
         $lexical = 1;
         shift @_;
 
+        # It is currently an implementation detail that autodie is
+        # implemented as "use Fatal qw(:lexical ...)".  For backwards
+        # compatibility, we allow it - but not without a warning.
+        # NB: Optimise for autodie as it is quite possibly the most
+        # freq. consumer of this case.
+        if ($class ne 'autodie' and not $class->isa('autodie')) {
+            if ($class eq 'Fatal') {
+                warnings::warnif(
+                    'deprecated',
+                    '[deprecated] The "use Fatal qw(:lexical ...)" '
+                    . 'should be replaced by "use autodie qw(...)". '
+                    . 'Seen' # warnif appends " at <...>"
+                    );
+            } else {
+                warnings::warnif(
+                    'deprecated',
+                    "[deprecated] The class/Package $class is a "
+                    . 'subclass of Fatal and used the :lexical. '
+                    . 'If $class provides lexical error checking '
+                    . 'it should extend autodie instead of using :lexical. '
+                    . 'Seen' # warnif appends " at <...>"
+                    );
+            }
+            # "Promote" the call to autodie from here on.  This is
+            # already mostly the case (e.g. use Fatal qw(:lexical ...)
+            # would throw autodie::exceptions on error rather than the
+            # Fatal errors.
+            $class = 'autodie';
+            # This requires that autodie is in fact loaded; otherwise
+            # the "$class->X()" method calls below will explode.
+            require autodie;
+            # TODO, when autodie and Fatal are cleanly separated, we
+            # should go a "goto &autodie::import" here instead.
+        }
+
         # If we see no arguments and :lexical, we assume they
         # wanted ':default'.
 
@@ -460,7 +503,7 @@ sub import {
         }
     }
 
-    $class->_install_subs($pkg, \%install_subs);
+    install_subs($pkg, \%install_subs);
 
     if ($lexical) {
 
@@ -477,7 +520,7 @@ sub import {
         # scope.
 
         on_end_of_compile_scope(sub {
-            $class->_install_subs($pkg, \%unload_later);
+            install_subs($pkg, \%unload_later);
         });
 
         # To allow others to determine when autodie was in scope,
@@ -496,63 +539,6 @@ sub import {
 
 }
 
-# The code here is originally lifted from namespace::clean,
-# by Robert "phaylon" Sedlacek.
-#
-# It's been redesigned after feedback from ikegami on perlmonks.
-# See http://perlmonks.org/?node_id=693338 .  Ikegami rocks.
-#
-# Given a package, and hash of (subname => subref) pairs,
-# we install the given subroutines into the package.  If
-# a subref is undef, the subroutine is removed.  Otherwise
-# it replaces any existing subs which were already there.
-
-sub _install_subs {
-    my ($class, $pkg, $subs_to_reinstate) = @_;
-
-    my $pkg_sym = "${pkg}::";
-
-    # It does not hurt to do this in a predictable order, and might help debugging.
-    foreach my $sub_name (sort keys %$subs_to_reinstate) {
-
-        # We will repeatedly mess with stuff that strict "refs" does
-        # not like.  So lets just disable it once for this entire
-        # scope.
-        no strict qw(refs);   ## no critic
-
-        my $sub_ref= $subs_to_reinstate->{$sub_name};
-
-        my $full_path = $pkg_sym.$sub_name;
-        my $oldglob = *$full_path;
-
-        # Nuke the old glob.
-        delete $pkg_sym->{$sub_name};
-
-        # For some reason this local *alias = *$full_path triggers an
-        # "only used once" warning.  Not entirely sure why, but at
-        # least it is easy to silence.
-        no warnings qw(once);
-        local *alias = *$full_path;
-        use warnings qw(once);
-
-        # Copy innocent bystanders back.  Note that we lose
-        # formats; it seems that Perl versions up to 5.10.0
-        # have a bug which causes copying formats to end up in
-        # the scalar slot.  Thanks to Ben Morrow for spotting this.
-
-        foreach my $slot (qw( SCALAR ARRAY HASH IO ) ) {
-            next unless defined *$oldglob{$slot};
-            *alias = *$oldglob{$slot};
-        }
-
-        if ($sub_ref) {
-            *$full_path = $sub_ref;
-        }
-    }
-
-    return;
-}
-
 sub unimport {
     my $class = shift;
 
@@ -597,9 +583,9 @@ sub unimport {
 
     }
 
-    $class->_install_subs($pkg, \%uninstall_subs);
+    install_subs($pkg, \%uninstall_subs);
     on_end_of_compile_scope(sub {
-        $class->_install_subs($pkg, \%reinstall_subs);
+        install_subs($pkg, \%reinstall_subs);
     });
 
     return;
@@ -755,32 +741,6 @@ sub _translate_import_args {
 
 }
 
-# This code is from the original Fatal.  It scares me.
-# It is 100% compatible with the 5.10.0 Fatal module, right down
-# to the scary 'XXXX' comment.  ;)
-
-sub fill_protos {
-    my $proto = shift;
-    my ($n, $isref, @out, @out1, $seen_semi) = -1;
-    if ($proto =~ m{^\s* (?: [;] \s*)? \@}x) {
-        # prototype is entirely slurp - special case that does not
-        # require any handling.
-        return ([0, '@_']);
-    }
-
-    while ($proto =~ /\S/) {
-        $n++;
-        push(@out1,[$n,@out]) if $seen_semi;
-        push(@out, $1 . "{\$_[$n]}"), next if $proto =~ s/^\s*\\([\@%\$\&])//;
-        push(@out, "\$_[$n]"),        next if $proto =~ s/^\s*([_*\$&])//;
-        push(@out, "\@_[$n..\$#_]"),  last if $proto =~ s/^\s*(;\s*)?\@//;
-        $seen_semi = 1, $n--,         next if $proto =~ s/^\s*;//; # XXXX ????
-        die "Internal error: Unknown prototype letters: \"$proto\"";
-    }
-    push(@out1,[$n+1,@out]);
-    return @out1;
-}
-
 # This is a backwards compatible version of _write_invocation.  It's
 # recommended you don't use it.
 
@@ -1620,7 +1580,7 @@ sub _make_leak_guard {
             # As $orig_sub is "closed over", updating its value will
             # be "remembered" for the next call.
 
-            $orig_sub = _make_core_trampoline($call, $pkg, $proto);
+            $orig_sub = make_core_trampoline($call, $pkg, $proto);
 
             # We still cache it despite remembering it in $orig_sub as
             # well.  In particularly, we rely on this to avoid
@@ -1643,51 +1603,6 @@ sub _make_leak_guard {
     return $leak_guard;
 }
 
-# Create a trampoline for calling a core sub.  Essentially, a tiny sub
-# that figures out how we should be calling our core sub, puts in the
-# arguments in the right way, and bounces our control over to it.
-#
-# If we could use `goto &` on core builtins, we wouldn't need this.
-sub _make_core_trampoline {
-    my ($call, $pkg, $proto_str) = @_;
-    my $trampoline_code = 'sub {';
-    my $trampoline_sub;
-    my @protos = fill_protos($proto_str);
-
-    # TODO: It may be possible to combine this with write_invocation().
-
-    foreach my $proto (@protos) {
-        local $" = ", ";    # So @args is formatted correctly.
-        my ($count, @args) = @$proto;
-        if (@args && $args[-1] =~ m/[@#]_/) {
-            $trampoline_code .= qq/
-                if (\@_ >= $count) {
-                    return $call(@args);
-                }
-             /;
-        } else {
-            $trampoline_code .= qq<
-                if (\@_ == $count) {
-                    return $call(@args);
-                }
-             >;
-        }
-    }
-
-    $trampoline_code .= qq< Carp::croak("Internal error in Fatal/autodie.  Leak-guard failure"); } >;
-    my $E;
-
-    {
-        local $@;
-        $trampoline_sub = eval "package $pkg;\n $trampoline_code"; ## no critic
-        $E = $@;
-    }
-    die "Internal error in Fatal/autodie: Leak-guard installation failure: $E"
-        if $E;
-
-    return $trampoline_sub;
-}
-
 sub _compile_wrapper {
     my ($class, $wrapper_pkg, $core, $call, $name, $void, $lexical, $sub, $sref, $hints, $proto) = @_;
     my $real_proto = '';
index 15d7134..b6db3af 100644 (file)
@@ -9,7 +9,7 @@ our $VERSION;
 # ABSTRACT: Replace functions with ones that succeed or die with lexical scope
 
 BEGIN {
-    our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg::Version
+    our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg::Version
 }
 
 use constant ERROR_WRONG_FATAL => q{
index db38e36..6624c92 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 
 # ABSTRACT: Wrapper class for calling subs at end of scope
-our $VERSION = '2.26'; # VERSION
+our $VERSION = '2.27'; # VERSION
 
 # This code schedules the cleanup of subroutines at the end of
 # scope.  It's directly inspired by chocolateboy's excellent
index 75300ff..d841fba 100644 (file)
@@ -6,7 +6,7 @@ use warnings;
 use autodie::Scope::Guard;
 
 # ABSTRACT: Hook stack for managing scopes via %^H
-our $VERSION = '2.26'; # VERSION
+our $VERSION = '2.27'; # VERSION
 
 my $H_KEY_STEM = __PACKAGE__ . '/guard';
 my $COUNTER = 0;
diff --git a/cpan/autodie/lib/autodie/ScopeUtil.pm b/cpan/autodie/lib/autodie/ScopeUtil.pm
deleted file mode 100644 (file)
index 2029209..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-package autodie::ScopeUtil;
-
-use strict;
-use warnings;
-
-# Docs say that perl 5.8.3 has Exporter 5.57 and autodie requires
-# 5.8.4, so this should "just work".
-use Exporter 5.57 qw(import);
-
-use autodie::Scope::GuardStack;
-
-our @EXPORT_OK = qw(on_end_of_compile_scope);
-
-# ABSTRACT: Utilities for managing %^H scopes
-our $VERSION = '2.26'; # VERSION
-
-# docs says we should pick __PACKAGE__ /<whatever>
-my $H_STACK_KEY = __PACKAGE__ . '/stack';
-
-sub on_end_of_compile_scope {
-    my ($hook) = @_;
-
-    # Dark magic to have autodie work under 5.8
-    # Copied from namespace::clean, that copied it from
-    # autobox, that found it on an ancient scroll written
-    # in blood.
-
-    # This magic bit causes %^H to be lexically scoped.
-    $^H |= 0x020000;
-
-    my $stack = $^H{$H_STACK_KEY};
-    if (not defined($stack)) {
-        $stack = autodie::Scope::GuardStack->new;
-        $^H{$H_STACK_KEY} = $stack;
-    }
-
-    $stack->push_hook($hook);
-    return;
-}
-
-1;
-
-=head1 NAME
-
-autodie::ScopeUtil - Utilities for managing %^H scopes
-
-=head1 SYNOPSIS
-
-    use autodie::ScopeUtil qw(on_end_of_compile_scope);
-    on_end_of_compile_scope(sub { print "Hallo world\n"; });
-
-=head1 DESCRIPTION
-
-Utilities for abstracting away the underlying magic of (ab)using
-C<%^H> to call subs at the end of a (compile-time) scopes.
-
-Due to how C<%^H> works, these utilities are only useful during the
-compilation phase of a perl module and relies on the internals of how
-perl handles references in C<%^H>.  This module is not a part of
-autodie's public API.
-
-=head2 Methods
-
-=head3 on_end_of_compile_scope
-
-  on_end_of_compile_scope(sub { print "Hallo world\n"; });
-
-Will invoke a sub at the end of a (compile-time) scope.  The sub is
-called once with no arguments.  Can be called multiple times (even in
-the same "compile-time" scope) to install multiple subs.  Subs are
-called in a "first-in-last-out"-order (FILO or "stack"-order).
-
-=head1 AUTHOR
-
-Copyright 2013, Niels Thykier E<lt>niels@thykier.netE<gt>
-
-=head1 LICENSE
-
-This module is free software.  You may distribute it under the
-same terms as Perl itself.
diff --git a/cpan/autodie/lib/autodie/Util.pm b/cpan/autodie/lib/autodie/Util.pm
new file mode 100644 (file)
index 0000000..f2a8886
--- /dev/null
@@ -0,0 +1,250 @@
+package autodie::Util;
+
+use strict;
+use warnings;
+
+use Exporter 5.57 qw(import);
+
+use autodie::Scope::GuardStack;
+
+our @EXPORT_OK = qw(
+  fill_protos
+  install_subs
+  make_core_trampoline
+  on_end_of_compile_scope
+);
+
+our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg:Version
+
+# ABSTRACT: Internal Utility subroutines for autodie and Fatal
+
+# docs says we should pick __PACKAGE__ /<whatever>
+my $H_STACK_KEY = __PACKAGE__ . '/stack';
+
+sub on_end_of_compile_scope {
+    my ($hook) = @_;
+
+    # Dark magic to have autodie work under 5.8
+    # Copied from namespace::clean, that copied it from
+    # autobox, that found it on an ancient scroll written
+    # in blood.
+
+    # This magic bit causes %^H to be lexically scoped.
+    $^H |= 0x020000;
+
+    my $stack = $^H{$H_STACK_KEY};
+    if (not defined($stack)) {
+        $stack = autodie::Scope::GuardStack->new;
+        $^H{$H_STACK_KEY} = $stack;
+    }
+
+    $stack->push_hook($hook);
+    return;
+}
+
+# This code is based on code from the original Fatal.  The "XXXX"
+# remark is from the original code and its meaning is (sadly) unknown.
+sub fill_protos {
+    my ($proto) = @_;
+    my ($n, $isref, @out, @out1, $seen_semi) = -1;
+    if ($proto =~ m{^\s* (?: [;] \s*)? \@}x) {
+        # prototype is entirely slurply - special case that does not
+        # require any handling.
+        return ([0, '@_']);
+    }
+
+    while ($proto =~ /\S/) {
+        $n++;
+        push(@out1,[$n,@out]) if $seen_semi;
+        push(@out, $1 . "{\$_[$n]}"), next if $proto =~ s/^\s*\\([\@%\$\&])//;
+        push(@out, "\$_[$n]"),        next if $proto =~ s/^\s*([_*\$&])//;
+        push(@out, "\@_[$n..\$#_]"),  last if $proto =~ s/^\s*(;\s*)?\@//;
+        $seen_semi = 1, $n--,         next if $proto =~ s/^\s*;//; # XXXX ????
+        die "Internal error: Unknown prototype letters: \"$proto\"";
+    }
+    push(@out1,[$n+1,@out]);
+    return @out1;
+}
+
+
+sub make_core_trampoline {
+    my ($call, $pkg, $proto_str) = @_;
+    my $trampoline_code = 'sub {';
+    my $trampoline_sub;
+    my @protos = fill_protos($proto_str);
+
+    foreach my $proto (@protos) {
+        local $" = ", ";    # So @args is formatted correctly.
+        my ($count, @args) = @$proto;
+        if (@args && $args[-1] =~ m/[@#]_/) {
+            $trampoline_code .= qq/
+                if (\@_ >= $count) {
+                    return $call(@args);
+                }
+             /;
+        } else {
+            $trampoline_code .= qq<
+                if (\@_ == $count) {
+                    return $call(@args);
+                }
+             >;
+        }
+    }
+
+    $trampoline_code .= qq< require Carp; Carp::croak("Internal error in Fatal/autodie.  Leak-guard failure"); } >;
+    my $E;
+
+    {
+        local $@;
+        $trampoline_sub = eval "package $pkg;\n $trampoline_code"; ## no critic
+        $E = $@;
+    }
+    die "Internal error in Fatal/autodie: Leak-guard installation failure: $E"
+        if $E;
+
+    return $trampoline_sub;
+}
+
+# The code here is originally lifted from namespace::clean,
+# by Robert "phaylon" Sedlacek.
+#
+# It's been redesigned after feedback from ikegami on perlmonks.
+# See http://perlmonks.org/?node_id=693338 .  Ikegami rocks.
+#
+# Given a package, and hash of (subname => subref) pairs,
+# we install the given subroutines into the package.  If
+# a subref is undef, the subroutine is removed.  Otherwise
+# it replaces any existing subs which were already there.
+
+sub install_subs {
+    my ($target_pkg, $subs_to_reinstate) = @_;
+
+    my $pkg_sym = "${target_pkg}::";
+
+    # It does not hurt to do this in a predictable order, and might help debugging.
+    foreach my $sub_name (sort keys(%{$subs_to_reinstate})) {
+
+        # We will repeatedly mess with stuff that strict "refs" does
+        # not like.  So lets just disable it once for this entire
+        # scope.
+        no strict qw(refs);   ## no critic
+
+        my $sub_ref = $subs_to_reinstate->{$sub_name};
+
+        my $full_path = ${pkg_sym}.${sub_name};
+        my $oldglob = *$full_path;
+
+        # Nuke the old glob.
+        delete($pkg_sym->{$sub_name});
+
+        # For some reason this local *alias = *$full_path triggers an
+        # "only used once" warning.  Not entirely sure why, but at
+        # least it is easy to silence.
+        no warnings qw(once);
+        local *alias = *$full_path;
+        use warnings qw(once);
+
+        # Copy innocent bystanders back.  Note that we lose
+        # formats; it seems that Perl versions up to 5.10.0
+        # have a bug which causes copying formats to end up in
+        # the scalar slot.  Thanks to Ben Morrow for spotting this.
+
+        foreach my $slot (qw( SCALAR ARRAY HASH IO ) ) {
+            next unless defined(*$oldglob{$slot});
+            *alias = *$oldglob{$slot};
+        }
+
+        if ($sub_ref) {
+            *$full_path = $sub_ref;
+        }
+    }
+
+    return;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+autodie::Util - Internal Utility subroutines for autodie and Fatal
+
+=head1 SYNOPSIS
+
+    # INTERNAL API for autodie and Fatal only!
+
+    use autodie::Util qw(on_end_of_compile_scope);
+    on_end_of_compile_scope(sub { print "Hallo world\n"; });
+
+=head1 DESCRIPTION
+
+Interal Utilities for autodie and Fatal!  This module is not a part of
+autodie's public API.
+
+This module contains utility subroutines for abstracting away the
+underlying magic of autodie and (ab)uses of C<%^H> to call subs at the
+end of a (compile-time) scopes.
+
+Note that due to how C<%^H> works, some of these utilities are only
+useful during the compilation phase of a perl module and relies on the
+internals of how perl handles references in C<%^H>.
+
+=head2 Methods
+
+=head3 on_end_of_compile_scope
+
+  on_end_of_compile_scope(sub { print "Hallo world\n"; });
+
+Will invoke a sub at the end of a (compile-time) scope.  The sub is
+called once with no arguments.  Can be called multiple times (even in
+the same "compile-time" scope) to install multiple subs.  Subs are
+called in a "first-in-last-out"-order (FILO or "stack"-order).
+
+=head3 fill_protos
+
+  fill_protos('*$$;$@')
+
+Given a Perl subroutine prototype, return a list of invocation
+specifications.  Each specification is a listref, where the first
+member is the (minimum) number of arguments for this invocation
+specification.  The remaining arguments are a string representation of
+how to pass the arguments correctly to a sub with the given prototype,
+when called with the given number of arguments.
+
+The specifications are returned in increasing order of arguments
+starting at 0 (e.g.  ';$') or 1 (e.g.  '$@').  Note that if the
+prototype is "slurpy" (e.g. ends with a "@"), the number of arguments
+for the last specification is a "minimum" number rather than an exact
+number.  This can be detected by the last member of the last
+specification matching m/[@#]_/.
+
+=head3 make_core_trampoline
+
+  make_core_trampoline('CORE::open', 'main', prototype('CORE::open'))
+
+Creates a trampoline for calling a core sub.  Essentially, a tiny sub
+that figures out how we should be calling our core sub, puts in the
+arguments in the right way, and bounces our control over to it.
+
+If we could reliably use `goto &` on core builtins, we wouldn't need
+this subroutine.
+
+=head3 install_subs
+
+  install_subs('My::Module', { 'read' => sub { die("Hallo\n"), ... }})
+
+Given a package name and a hashref mapping names to a subroutine
+reference (or C<undef>), this subroutine will install said subroutines
+on their given name in that module.  If a name mapes to C<undef>, any
+subroutine with that name in the target module will be remove
+(possibly "unshadowing" a CORE sub of same name).
+
+=head1 AUTHOR
+
+Copyright 2013-2014, Niels Thykier E<lt>niels@thykier.netE<gt>
+
+=head1 LICENSE
+
+This module is free software.  You may distribute it under the
+same terms as Perl itself.
index 15d0914..93806fa 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 use Carp qw(croak);
 
-our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg:Version
+our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg:Version
 # ABSTRACT: Exceptions from autodying functions.
 
 our $DEBUG = 0;
@@ -292,8 +292,50 @@ my %formatter_of = (
     'CORE::read'     => \&_format_readwrite,
     'CORE::sysread'  => \&_format_readwrite,
     'CORE::syswrite' => \&_format_readwrite,
+    'CORE::chmod'    => \&_format_chmod,
+    'CORE::mkdir'    => \&_format_mkdir,
 );
 
+sub _beautify_arguments {
+    shift @_;
+
+    # Walk through all our arguments, and...
+    #
+    #   * Replace undef with the word 'undef'
+    #   * Replace globs with the string '$fh'
+    #   * Quote all other args.
+    foreach my $arg (@_) {
+       if    (not defined($arg))   { $arg = 'undef' }
+       elsif (ref($arg) eq "GLOB") { $arg = '$fh'   }
+       else                        { $arg = qq{'$arg'} }
+    }
+
+    return @_;
+}
+
+sub _trim_package_name {
+    # Info: The following is done since 05/2008 (which is before v1.10)
+
+    # TODO: This is probably a good idea for CORE, is it
+    # a good idea for other subs?
+
+    # Trim package name off dying sub for error messages
+    (my $name = $_[1]) =~ s/.*:://;
+    return $name;
+}
+
+# Returns the parameter formatted as octal number
+sub _octalize_number {
+    my $number = $_[1];
+
+    # Only reformat if it looks like a whole number
+    if ($number =~ /^\d+$/) {
+        $number = sprintf("%#04lo", $number);
+    }
+
+    return $number;
+}
+
 # TODO: Our tests only check LOCK_EX | LOCK_NB is properly
 # formatted.  Try other combinations and ensure they work
 # correctly.
@@ -348,6 +390,40 @@ sub _format_flock {
 
 }
 
+# Default formatter for CORE::chmod
+sub _format_chmod {
+    my ($this) = @_;
+    my @args   = @{$this->args};
+
+    my $mode   = shift @args;
+    local $!   = $this->errno;
+
+    $mode = $this->_octalize_number($mode);
+
+    @args = $this->_beautify_arguments(@args);
+
+    return "Can't chmod($mode, ". join(q{, }, @args) ."): $!";
+}
+
+# Default formatter for CORE::mkdir
+sub _format_mkdir {
+    my ($this) = @_;
+    my @args   = @{$this->args};
+
+    # If no mask is specified use default formatter
+    if (@args < 2) {
+      return $this->format_default;
+    }
+
+    my $file = $args[0];
+    my $mask = $args[1];
+    local $! = $this->errno;
+
+    $mask = $this->_octalize_number($mask);
+
+    return "Can't mkdir('$file', $mask): '$!'";
+}
+
 # Default formatter for CORE::dbmopen
 sub _format_dbmopen {
     my ($this) = @_;
@@ -362,13 +438,7 @@ sub _format_dbmopen {
     my $mode = $args[-1];
     my $file = $args[-2];
 
-    # If we have a mask, then display it in octal, not decimal.
-    # We don't do this if it already looks octalish, or doesn't
-    # look like a number.
-
-    if ($mode =~ /^[^\D0]\d+$/) {
-        $mode = sprintf("0%lo", $mode);
-    };
+    $mode = $this->_octalize_number($mode);
 
     local $! = $this->errno;
 
@@ -399,12 +469,9 @@ sub _format_close {
 # may contain binary data.
 sub _format_readwrite {
     my ($this) = @_;
-    my $call = $this->function;
+    my $call = $this->_trim_package_name($this->function);
     local $! = $this->errno;
 
-    # Trim package name off dying sub for error messages.
-    $call =~ s/.*:://;
-
     # These subs receive the following arguments (in order):
     #
     # * FILEHANDLE
@@ -619,29 +686,12 @@ messages are formatted.
 sub format_default {
     my ($this) = @_;
 
-    my $call        =  $this->function;
+    my $call   =  $this->_trim_package_name($this->function);
 
     local $! = $this->errno;
 
-    # TODO: This is probably a good idea for CORE, is it
-    # a good idea for other subs?
-
-    # Trim package name off dying sub for error messages.
-    $call =~ s/.*:://;
-
-    # Walk through all our arguments, and...
-    #
-    #   * Replace undef with the word 'undef'
-    #   * Replace globs with the string '$fh'
-    #   * Quote all other args.
-
     my @args = @{ $this->args() };
-
-    foreach my $arg (@args) {
-       if    (not defined($arg))   { $arg = 'undef' }
-       elsif (ref($arg) eq "GLOB") { $arg = '$fh'   }
-       else                        { $arg = qq{'$arg'} }
-    }
+    @args = $this->_beautify_arguments(@args);
 
     # Format our beautiful error.
 
index d63a607..081c998 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 use parent 'autodie::exception';
 use Carp qw(croak);
 
-our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg:Version
+our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg:Version
 
 # ABSTRACT: Exceptions from autodying system().
 
index 3c9d679..9db39b1 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 use constant PERL58 => ( $] < 5.009 );
 
-our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg:Version
+our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg:Version
 
 # ABSTRACT: Provide hints about user subroutines to autodie
 
index 1462acd..83f4721 100644 (file)
@@ -2,7 +2,7 @@ package autodie::skip;
 use strict;
 use warnings;
 
-our $VERSION = '2.26'; # VERSION
+our $VERSION = '2.27'; # VERSION
 
 # This package exists purely so people can inherit from it,
 # which isn't at all how roles are supposed to work, but it's
index 9093b52..00715ae 100755 (executable)
@@ -1,13 +1,20 @@
 #!/usr/bin/perl -w
 use strict;
-use Test::More tests => 4;
+use Test::More tests => 7;
 use constant NO_SUCH_FILE => "this_file_had_better_not_exist";
+use constant ERROR_REGEXP => qr{Can't chmod\(0755, '${\(NO_SUCH_FILE)}'\):};
+use constant SINGLE_DIGIT_ERROR_REGEXP => qr{Can't chmod\(0010, '${\(NO_SUCH_FILE)}'\):};
 use autodie;
 
 # This tests RT #50423, Debian #550462
 
 eval { chmod(0755, NO_SUCH_FILE); };
 isa_ok($@, 'autodie::exception', 'exception thrown for chmod');
+like($@, ERROR_REGEXP, "Message should include numeric mode in octal form");
+
+eval { chmod(8, NO_SUCH_FILE); };
+isa_ok($@, 'autodie::exception', 'exception thrown for chmod');
+like($@, SINGLE_DIGIT_ERROR_REGEXP, "Message should include numeric mode in octal form");
 
 eval { chmod(0755, $0); };
 ok(! $@, "We can chmod ourselves just fine.");
index 31698e6..5083f38 100644 (file)
@@ -1,8 +1,9 @@
 #!/usr/bin/perl -w
 use strict;
-use Test::More qw(no_plan);
+use Test::More tests => 9;
 
 use constant ERROR_REGEXP => qr{Can't dbmopen\(%hash, 'foo/bar/baz', 0666\):};
+use constant SINGLE_DIGIT_ERROR_REGEXP => qr{Can't dbmopen\(%hash, 'foo/bar/baz', 0010\):};
 
 my $return = "default";
 
@@ -27,6 +28,17 @@ like($@, ERROR_REGEXP, "Message should include number in octal, not decimal");
 eval {
     use autodie;
 
+    dbmopen(my %foo, "foo/bar/baz", 8);
+};
+
+ok($@, "autodie allows dbmopen to throw errors.");
+isa_ok($@, "autodie::exception", "... errors are of the correct type");
+
+like($@, SINGLE_DIGIT_ERROR_REGEXP, "Message should include number in octal, not decimal");
+
+eval {
+    use autodie;
+
     my %bar = ( foo => 1, bar => 2 );
 
     dbmopen(%bar, "foo/bar/baz", 0666);
index 3853044..c4e5abc 100644 (file)
@@ -1,32 +1,46 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 use strict;
 
 use Scalar::Util qw(blessed);
 
 use constant NO_SUCH_FILE => "this_file_or_dir_had_better_not_exist_XYZZY";
 
-use Test::More tests => 9;
+use Test::More tests => 7;
+
+use Fatal();
+
+# Silence the warnings from using Fatal qw(:lexical)
 
 # Lexical tests using the internal interface.
 
-eval { Fatal->import(qw(:lexical :void)) };
+my @warnings;
+eval {
+    # Filter out deprecation warning (no warnings qw(deprecated) does
+    # not seem to work for some reason)
+    local $SIG{'__WARN__'} = sub {
+        push(@warnings, @_) unless $_[0] =~ m/Fatal qw\(:lexical/;
+    };
+    Fatal->import(qw(:lexical :void))
+};
 like($@, qr{:void cannot be used with lexical}, ":void can't be used with :lexical");
+warn($_) while shift @warnings;
 
 eval { Fatal->import(qw(open close :lexical)) };
 like($@, qr{:lexical must be used as first}, ":lexical must come first");
 
 {
-       use Fatal qw(:lexical chdir);
-
+       BEGIN {
+           # Filter out deprecation warning (no warnings qw(deprecated) does
+           # not seem to work for some reason)
+           local $SIG{'__WARN__'} = sub {
+               push(@warnings, @_) unless $_[0] =~ m/Fatal qw\(:lexical/;
+           };
+           import Fatal qw(:lexical chdir);
+       };
+       warn($_) while shift @warnings;
        eval { chdir(NO_SUCH_FILE); };
        my $err = $@;
        like ($err, qr/^Can't chdir/, "Lexical fatal chdir");
-      TODO: {
-          local $TODO = 'Fatal should not (but does) throw autodie::exceptions';
-          is(blessed($err), undef,
-             "Fatal does not throw autodie::exceptions");
-        }
-
        {
                no Fatal qw(:lexical chdir);
                eval { chdir(NO_SUCH_FILE); };
@@ -36,11 +50,6 @@ like($@, qr{:lexical must be used as first}, ":lexical must come first");
        eval { chdir(NO_SUCH_FILE); };
        $err = $@;
        like ($err, qr/^Can't chdir/, "Lexical fatal chdir returns");
-      TODO: {
-          local $TODO = 'Fatal should not (but does) throw autodie::exceptions';
-          is(blessed($err), undef,
-             "Fatal does not throw autodie::exceptions");
-        }
 }
 
 eval { chdir(NO_SUCH_FILE); };
index 185d54f..3df2ced 100644 (file)
@@ -1,5 +1,6 @@
 package my::pragma;
 
+require autodie;
 use Import::Into qw(into);
 
 sub import {
index 7bd6529..3606f7e 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use Test::More;
 use FindBin qw($Bin);
 use constant TMPDIR => "$Bin/mkdir_test_delete_me";
+use constant ERROR_REGEXP => qr{Can't mkdir\('\Q${\(TMPDIR)}\E', 0777\):};
+use constant SINGLE_DIGIT_ERROR_REGEXP => qr{Can't mkdir\('\Q${\(TMPDIR)}\E', 0010\):};
 
 # Delete our directory if it's there
 rmdir TMPDIR;
@@ -25,7 +27,7 @@ if(-d TMPDIR) { plan skip_all => "Failed to delete test directory"; }
 # Try to delete second time
 if(rmdir TMPDIR) { plan skip_all => "Able to rmdir directory twice"; }
 
-plan tests => 12;
+plan tests => 18;
 
 # Create a directory (this should succeed)
 eval {
@@ -40,12 +42,24 @@ ok(-d TMPDIR, "Successfully created test directory");
 eval {
        use autodie;
 
-       mkdir TMPDIR;
+       mkdir TMPDIR, 0777;
+};
+ok($@, "Re-creating directory causes failure.");
+isa_ok($@, "autodie::exception", "... errors are of the correct type");
+ok($@->matches("mkdir"), "... it's also a mkdir object");
+ok($@->matches(":filesys"), "... and a filesys object");
+like($@, ERROR_REGEXP, "Message should include numeric mask in octal form");
+
+eval {
+        use autodie;
+
+        mkdir TMPDIR, 8;
 };
 ok($@, "Re-creating directory causes failure.");
 isa_ok($@, "autodie::exception", "... errors are of the correct type");
 ok($@->matches("mkdir"), "... it's also a mkdir object");
 ok($@->matches(":filesys"), "... and a filesys object");
+like($@, SINGLE_DIGIT_ERROR_REGEXP, "Message should include numeric mask in octal form");
 
 # Try to delete directory (this should succeed)
 eval {
index db7cfe2..af24976 100644 (file)
 #   Copyright (C) 2014 Steve Hay.  All rights reserved.
 #
 # LICENCE
-#   You may distribute under the terms of either the GNU General Public License
-#   or the Artistic License, as specified in the LICENCE file.
+#   This script 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 LICENCE
+#   file.
 #
 #===============================================================================
 
@@ -64,7 +66,7 @@ MAIN: {
         ABSTRACT => 'Collection of network protocol modules',
         AUTHOR   => 'Graham Barr <gbarr@pobox.com>, Steve Hay <shay@cpan.org>',
         LICENSE  => 'perl_5',
-        VERSION  => '3.05',
+        VERSION  => '3.06',
 
         META_MERGE => {
             'meta-spec' => {
@@ -125,6 +127,17 @@ MAIN: {
                     }
                 },
 
+                changestest => {
+                    description => 'Changes testing',
+                    prereqs => {
+                        test => {
+                            requires => {
+                                'Test::CPAN::Changes' => '0'
+                            }
+                        }
+                    }
+                },
+
                 critictest => {
                     description => 'Perl::Critic testing',
                     prereqs => {
@@ -165,7 +178,7 @@ MAIN: {
         CONFIGURE_REQUIRES => {
             'ExtUtils::MakeMaker' => '6.64',
             'Getopt::Std'         => '0',
-            'IO:File'             => '0',
+            'IO::File'            => '0',
             'perl'                => '5.008001',
             'strict'              => '0',
             'vars'                => '0',
@@ -196,7 +209,7 @@ MAIN: {
             'vars'           => '0'
         },
 
-        INSTALLDIRS => 'perl',
+        INSTALLDIRS => ($] >= 5.008 && $] < 5.011) ? 'perl' : 'site',
 
         realclean => {
             FILES => $CfgFile
index 0c9d72f..f56e904 100644 (file)
@@ -4,8 +4,9 @@
 # All rights reserved.
 # Changes in Version 2.29_2 onwards Copyright (C) 2013-2014 Steve Hay.  All
 # rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
+# 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.
 
 package Net::Cmd;
 
@@ -41,7 +42,7 @@ BEGIN {
   }
 }
 
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 our @ISA     = qw(Exporter);
 our @EXPORT  = qw(CMD_INFO CMD_OK CMD_MORE CMD_REJECT CMD_ERROR CMD_PENDING);
 
@@ -870,7 +871,8 @@ 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.
 
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+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.
 
 =cut
index 1781c74..a705065 100644 (file)
@@ -4,8 +4,9 @@
 # All rights reserved.
 # Changes in Version 1.11_01 onwards Copyright (C) 2013-2014 Steve Hay.  All
 # rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
+# 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.
 
 package Net::Config;
 
@@ -19,16 +20,11 @@ use Socket qw(inet_aton inet_ntoa);
 
 our @EXPORT  = qw(%NetConfig);
 our @ISA     = qw(Net::LocalCfg Exporter);
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 our($CONFIGURE, $LIBNET_CFG);
 
-eval {
-  local @INC = @INC;
-  pop @INC if $INC[-1] eq '.';
-  local $SIG{__DIE__};
-  require Net::LocalCfg;
-};
+eval { local $SIG{__DIE__}; require Net::LocalCfg };
 
 our %NetConfig = (
   nntp_hosts      => [],
@@ -324,4 +320,21 @@ If true then C<Configure> will check each hostname given that it exists
 
 =back
 
+=head1 AUTHOR
+
+Graham Barr E<lt>F<gbarr@pobox.com>E<gt>
+
+Steve Hay E<lt>F<shay@cpan.org>E<gt> is now maintaining libnet as of version
+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.
+
+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.
+
 =cut
index 2b67884..0fde92d 100644 (file)
@@ -4,8 +4,9 @@
 # All rights reserved.
 # Changes in Version 2.22 onwards Copyright (C) 2013-2014 Steve Hay.  All rights
 # reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
+# 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.
 
 package Net::Domain;
 
@@ -20,7 +21,7 @@ use Net::Config;
 
 our @ISA       = qw(Exporter);
 our @EXPORT_OK = qw(hostname hostdomain hostfqdn domainname);
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 my ($host, $domain, $fqdn) = (undef, undef, undef);
 
@@ -356,7 +357,8 @@ 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.
 
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+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.
 
 =cut
index 715009f..8b74663 100644 (file)
@@ -4,8 +4,9 @@
 # All rights reserved.
 # Changes in Version 2.77_3 onwards Copyright (C) 2013-2014 Steve Hay.  All
 # rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
+# 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.
 #
 # Documentation (at end) improved 1996 by Nathan Torkington <gnat@frii.com>.
 
@@ -24,7 +25,7 @@ use Net::Config;
 use Socket;
 use Time::Local;
 
-our $VERSION = '3.05_01';
+our $VERSION = '3.06';
 
 our $IOCLASS;
 BEGIN {
@@ -452,7 +453,7 @@ sub authorize {
 
   my $ok = $ftp->_AUTH($auth || "");
 
-  $ok = $ftp->_RESP($resp || "")
+  return $ftp->_RESP($resp || "")
     if ($ok == CMD_MORE);
 
   $ok == CMD_OK;
@@ -889,8 +890,8 @@ sub _eprt {
       Timeout   => $ftp->timeout,
       LocalAddr => $ftp->sockhost,
       can_ssl() ? (
-       %{ ${*$ftp}{net_ftp_tlsargs} },
-       SSL_startHandshake => 0,
+        %{ ${*$ftp}{net_ftp_tlsargs} },
+        SSL_startHandshake => 0,
       ):(),
     );
     ${*$ftp}{net_ftp_intern_port} = 1;
@@ -1036,15 +1037,15 @@ sub _dataconn {
       LocalAddr => ${*$ftp}{net_ftp_localaddr},
       Timeout   => $ftp->timeout,
       can_ssl() ? (
-       SSL_startHandshake => 0,
-       $ftp->is_SSL ? (
-         SSL_reuse_ctx => $ftp,
-         SSL_verifycn_name => ${*$ftp}{net_ftp_tlsargs}{SSL_verifycn_name},
-         # This will cause the use of SNI if supported by IO::Socket::SSL.
-         $ftp->can_client_sni ? (
-           SSL_hostname  => ${*$ftp}{net_ftp_tlsargs}{SSL_hostname}
-         ):(),
-       ) :( %{${*$ftp}{net_ftp_tlsargs}} ),
+        SSL_startHandshake => 0,
+        $ftp->is_SSL ? (
+          SSL_reuse_ctx => $ftp,
+          SSL_verifycn_name => ${*$ftp}{net_ftp_tlsargs}{SSL_verifycn_name},
+          # This will cause the use of SNI if supported by IO::Socket::SSL.
+          $ftp->can_client_sni ? (
+            SSL_hostname  => ${*$ftp}{net_ftp_tlsargs}{SSL_hostname}
+          ):(),
+        ) :( %{${*$ftp}{net_ftp_tlsargs}} ),
       ):(),
     ) or return;
   } elsif (my $listen =  delete ${*$ftp}{net_ftp_listen}) {
@@ -1141,7 +1142,7 @@ sub _data_cmd {
     my $data = $ftp->_dataconn();
     if (CMD_INFO == $ftp->response()) {
       $data->reading
-       if $data && $cmd =~ /RETR|LIST|NLST/;
+        if $data && $cmd =~ /RETR|LIST|NLST/;
       return $data;
     }
     $data->_close if $data;
@@ -1839,6 +1840,7 @@ C<put_unique> and those that do not require data connections.
 =over 4
 
 =item port ( [ PORT ] )
+
 =item eprt ( [ PORT ] )
 
 Send a C<PORT> (IPv4) or C<EPRT> (IPv6) command to the server. If C<PORT> is
@@ -1846,6 +1848,7 @@ specified then it is sent to the server. If not, then a listen socket is created
 and the correct information sent to the server.
 
 =item pasv ()
+
 =item epsv ()
 
 Tell the server to go into passive mode (C<pasv> for IPv4, C<epsv> for IPv6).
@@ -2014,7 +2017,8 @@ 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-2014 Steve Hay.  All rights
 reserved.
 
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
+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.
 
 =cut
index e5dfaf3..7eee970 100644 (file)
@@ -13,7 +13,7 @@ use Carp;
 use Net::FTP::dataconn;
 
 our @ISA     = qw(Net::FTP::dataconn);
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 our $buf;
 
index fb905c7..ad36441 100644 (file)
@@ -8,6 +8,6 @@ use warnings;
 use Net::FTP::I;
 
 our @ISA = qw(Net::FTP::I);
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 1;
index 38a959e..c5603c6 100644 (file)
@@ -13,7 +13,7 @@ use Carp;
 use Net::FTP::dataconn;
 
 our @ISA     = qw(Net::FTP::dataconn);
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 our $buf;
 
index c432220..4c52970 100644 (file)
@@ -8,6 +8,6 @@ use warnings;
 use Net::FTP::I;
 
 our @ISA = qw(Net::FTP::I);
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 1;
index 87bcaca..980e21d 100644 (file)
@@ -13,7 +13,7 @@ use Carp;
 use Errno;
 use Net::Cmd;
 
-our $VERSION = '3.05_01';
+our $VERSION = '3.06';
 
 $Net::FTP::IOCLASS or die "please load Net::FTP before Net::FTP::dataconn";
 our @ISA = $Net::FTP::IOCLASS;
index 1a00cd7..75f7bf1 100644 (file)
@@ -4,8 +4,9 @@
 # All rights reserved.
 # Changes in Version 2.25 onwards Copyright (C) 2013-2014 Steve Hay.  All rights
 # reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
+# 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.
 
 package Net::NNTP;
 
@@ -20,7 +21,7 @@ use Net::Cmd;
 use Net::Config;
 use Time::Local;
 
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 # Code for detecting if we can use SSL
 my $ssl_class = eval {
@@ -756,9 +757,9 @@ sub DESTROY {
     my ($class,$nntp,%arg) = @_;
     delete @arg{ grep { !m{^SSL_} } keys %arg };
     ( $arg{SSL_verifycn_name} ||= $nntp->host )
-       =~s{(?<!:):[\w()]+$}{}; # strip port
+        =~s{(?<!:):[\w()]+$}{}; # strip port
     $arg{SSL_hostname} = $arg{SSL_verifycn_name}
-       if ! defined $arg{SSL_hostname} && $class->can_client_sni;
+        if ! defined $arg{SSL_hostname} && $class->can_client_sni;
     my $ok = $class->SUPER::start_SSL($nntp,
       SSL_verifycn_scheme => 'nntp',
       %arg
@@ -1281,7 +1282,8 @@ Versions up to 2.24_1 Copyright (c) 1995-1997 Graham Barr. All rights reserved.
 Changes in Version 2.25 onwards Copyright (C) 2013-2014 Steve Hay.  All rights
 reserved.
 
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+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.
 
 =cut
index 8983372..efa38cb 100644 (file)
@@ -4,8 +4,9 @@
 # All rights reserved.
 # Changes in Version 2.13_01 onwards Copyright (C) 2013-2014 Steve Hay.  All
 # rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
+# 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.
 
 package Net::Netrc;
 
@@ -17,7 +18,7 @@ use warnings;
 use Carp;
 use FileHandle;
 
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 our $TESTING;
 
@@ -339,7 +340,8 @@ 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.
 
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+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.
 
 =cut
index 9fda83e..2c38819 100644 (file)
@@ -4,8 +4,9 @@
 # All rights reserved.
 # Changes in Version 2.29_01 onwards Copyright (C) 2013-2014 Steve Hay.  All
 # rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
+# 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.
 
 package Net::POP3;
 
@@ -19,7 +20,7 @@ use IO::Socket;
 use Net::Cmd;
 use Net::Config;
 
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 # Code for detecting if we can use SSL
 my $ssl_class = eval {
@@ -577,9 +578,9 @@ sub banner {
     my ($class,$pop3,%arg) = @_;
     delete @arg{ grep { !m{^SSL_} } keys %arg };
     ( $arg{SSL_verifycn_name} ||= $pop3->host )
-       =~s{(?<!:):[\w()]+$}{}; # strip port
+        =~s{(?<!:):[\w()]+$}{}; # strip port
     $arg{SSL_hostname} = $arg{SSL_verifycn_name}
-       if ! defined $arg{SSL_hostname} && $class->can_client_sni;
+        if ! defined $arg{SSL_hostname} && $class->can_client_sni;
     $arg{SSL_verifycn_scheme} ||= 'pop3';
     my $ok = $class->SUPER::start_SSL($pop3,%arg);
     $@ = $ssl_class->errstr if !$ok;
@@ -842,7 +843,8 @@ Versions up to 2.29 Copyright (c) 1995-2004 Graham Barr. All rights reserved.
 Changes in Version 2.29_01 onwards Copyright (C) 2013-2014 Steve Hay.  All
 rights reserved.
 
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+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.
 
 =cut
index 36c3617..05f2519 100644 (file)
@@ -4,8 +4,9 @@
 # All rights reserved.
 # Changes in Version 2.31_2 onwards Copyright (C) 2013-2014 Steve Hay.  All
 # rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
+# 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.
 
 package Net::SMTP;
 
@@ -20,7 +21,7 @@ use Net::Cmd;
 use Net::Config;
 use Socket;
 
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 # Code for detecting if we can use SSL
 my $ssl_class = eval {
@@ -112,11 +113,13 @@ sub new {
   (${*$obj}{'net_smtp_banner'}) = $obj->message;
   (${*$obj}{'net_smtp_domain'}) = $obj->message =~ /\A\s*(\S+)/;
 
-  unless ($obj->hello($arg{Hello} || "")) {
-    my $err = ref($obj) . ": " . $obj->code . " " . $obj->message;
-    $obj->close();
-    $@ = $err;
-    return;
+  if (!exists $arg{SendHello} || $arg{SendHello}) {
+    unless ($obj->hello($arg{Hello} || "")) {
+      my $err = ref($obj) . ": " . $obj->code . " " . $obj->message;
+      $obj->close();
+      $@ = $err;
+      return;
+    }
   }
 
   $obj;
@@ -615,9 +618,9 @@ sub _STARTTLS { shift->command("STARTTLS")->response() == CMD_OK }
     my ($class,$smtp,%arg) = @_;
     delete @arg{ grep { !m{^SSL_} } keys %arg };
     ( $arg{SSL_verifycn_name} ||= $smtp->host )
-       =~s{(?<!:):[\w()]+$}{}; # strip port
+        =~s{(?<!:):[\w()]+$}{}; # strip port
     $arg{SSL_hostname} = $arg{SSL_verifycn_name}
-       if ! defined $arg{SSL_hostname} && $class->can_client_sni;
+        if ! defined $arg{SSL_hostname} && $class->can_client_sni;
     $arg{SSL_verifycn_scheme} ||= 'smtp';
     my $ok = $class->SUPER::start_SSL($smtp,%arg);
     $@ = $ssl_class->errstr if !$ok;
@@ -712,6 +715,10 @@ B<Hello> - SMTP requires that you identify yourself. This option
 specifies a string to pass as your mail domain. If not given localhost.localdomain
 will be used.
 
+B<SendHello> - If false then the EHLO (or HELO) command that is normally sent
+when constructing the object will not be sent. In that case the command will
+have to be sent manually by calling C<hello()> instead.
+
 B<Host> - SMTP host to connect to. It may be a single scalar (hostname[:port]),
 as defined for the C<PeerAddr> option in L<IO::Socket::INET>, or a reference to
 an array with hosts to try in turn. The L</host> method will return the value
@@ -758,11 +765,11 @@ Example:
 
     # the same with direct SSL
     $smtp = Net::SMTP->new('mailhost',
-                          Hello => 'my.mail.domain',
-                          Timeout => 30,
-                          Debug   => 1,
-                          SSL     => 1,
-                         );
+                           Hello => 'my.mail.domain',
+                           Timeout => 30,
+                           Debug   => 1,
+                           SSL     => 1,
+                          );
 
     # Connect to the default server from Net::config
     $smtp = Net::SMTP->new(
@@ -1014,7 +1021,8 @@ 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-2014 Steve Hay.  All rights
 reserved.
 
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+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.
 
 =cut
index 60e553c..eea2e71 100644 (file)
@@ -4,8 +4,9 @@
 # All rights reserved.
 # Changes in Version 2.11 onwards Copyright (C) 2014 Steve Hay.  All rights
 # reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
+# 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.
 
 package Net::Time;
 
@@ -23,7 +24,7 @@ use Net::Config;
 our @ISA       = qw(Exporter);
 our @EXPORT_OK = qw(inet_time inet_daytime);
 
-our $VERSION = "3.05_01";
+our $VERSION = "3.06";
 
 our $TIMEOUT = 120;
 
@@ -156,7 +157,8 @@ 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.
 
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+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.
 
 =cut
index 387899f..e6a4fe5 100644 (file)
@@ -115,8 +115,8 @@ sub nntp_server {
     } elsif ( ! $ssl and $cmd eq 'STARTTLS' ) {
       print $cl "382 Continue with TLS negotiation\r\n";
       if ( ! IO::Socket::SSL->start_SSL($cl, %sslargs)) {
-       diag("initial ssl handshake with client failed");
-       return;
+        diag("initial ssl handshake with client failed");
+        return;
       }
       $ssl = 1;
     } else {
index 5100951..1c88c1a 100644 (file)
@@ -55,7 +55,7 @@ sub pop3_server {
       last;
     } elsif ( $cmd eq 'CAPA' ) {
       print $cl "+OK\r\n".
-       ".\r\n";
+        ".\r\n";
     } else {
       diag("received unknown command: $cmd");
       print "-ERR unknown cmd\r\n";
index 3eca064..356de40 100644 (file)
@@ -106,13 +106,13 @@ sub pop3_server {
       last;
     } elsif ( $cmd eq 'CAPA' ) {
       print $cl "+OK\r\n".
-       ( $ssl ? "" : "STLS\r\n" ).
-       ".\r\n";
+        ( $ssl ? "" : "STLS\r\n" ).
+        ".\r\n";
     } elsif ( ! $ssl and $cmd eq 'STLS' ) {
       print $cl "+OK starting ssl\r\n";
       if ( ! IO::Socket::SSL->start_SSL($cl, %sslargs)) {
-       diag("initial ssl handshake with client failed");
-       return;
+        diag("initial ssl handshake with client failed");
+        return;
       }
       $ssl = 1;
     } else {
index 48c7246..a31b6ff 100644 (file)
@@ -57,7 +57,7 @@ sub smtp_server {
       print $cl "250 localhost\r\n";
     } elsif ( $cmd eq 'EHLO' ) {
       print $cl "250-localhost\r\n".
-       "250 HELP\r\n";
+        "250 HELP\r\n";
     } else {
       diag("received unknown command: $cmd");
       print "500 unknown cmd\r\n";
index e91cc9b..7290176 100644 (file)
@@ -108,13 +108,13 @@ sub smtp_server {
       print $cl "250 localhost\r\n";
     } elsif ( $cmd eq 'EHLO' ) {
       print $cl "250-localhost\r\n".
-       ( $ssl ? "" : "250-STARTTLS\r\n" ).
-       "250 HELP\r\n";
+        ( $ssl ? "" : "250-STARTTLS\r\n" ).
+        "250 HELP\r\n";
     } elsif ( ! $ssl and $cmd eq 'STARTTLS' ) {
       print $cl "250 starting ssl\r\n";
       if ( ! IO::Socket::SSL->start_SSL($cl, %sslargs)) {
-       diag("initial ssl handshake with client failed");
-       return;
+        diag("initial ssl handshake with client failed");
+        return;
       }
       $ssl = 1;
     } else {
index 445ed12..f6e8cd4 100644 (file)
@@ -1,7 +1,7 @@
 package parent;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.232';
+$VERSION = '0.234';
 
 sub import {
     my $class = shift;
@@ -12,10 +12,6 @@ sub import {
         shift @_;
     } else {
         for ( my @filename = @_ ) {
-            if ( $_ eq $inheritor ) {
-                warn "Class '$inheritor' tried to inherit from itself\n";
-            };
-
             s{::|'}{/}g;
             require "$_.pm"; # dies if the file is not found
         }
@@ -94,19 +90,6 @@ either C<.pm> or C<.pmc>), use the following code:
   require './plugins/custom.plugin'; # contains Plugin::Custom
   use parent -norequire, 'Plugin::Custom';
 
-=head1 DIAGNOSTICS
-
-=over 4
-
-=item Class 'Foo' tried to inherit from itself
-
-Attempting to inherit from yourself generates a warning.
-
-    package Foo;
-    use parent 'Foo';
-
-=back
-
 =head1 HISTORY
 
 This module was forked from L<base> to remove the cruft
index a8708b4..01f70f7 100644 (file)
@@ -13,16 +13,10 @@ use Config;
 use lib 't/lib';
 
 plan skip_all => ".pmc are only available with 5.6 and later" if $] < 5.006;
-my $no_pmc;
-
-if (Config->can('non_bincompat_options')) {
-    foreach(Config::non_bincompat_options()) {
-       if($_ eq "PERL_DISABLE_PMC"){
-           $no_pmc = 1;
-           last;
-       }
-    }
-};
+
+my $no_pmc = defined &Config::non_bincompat_options
+    ? (grep $_ eq 'PERL_DISABLE_PMC', Config::non_bincompat_options())
+    : ($Config::Config{ccflags} =~ /-DPERL_DISABLE_PMC\b/);
 plan skip_all => ".pmc are disabled in this perl"
     if $no_pmc;
 plan tests => 3;
index 8b79862..dedf211 100644 (file)
@@ -9,7 +9,7 @@ BEGIN {
 }
 
 use strict;
-use Test::More tests => 10;
+use Test::More tests => 9;
 
 use_ok('parent');
 
@@ -65,13 +65,6 @@ like( $@, $expected, 'baseclass that does not exist');
 
 eval q{use parent 'reallyReAlLyNotexists'};
 like( $@, $expected, '  still failing on 2nd load');
-{
-    my $warning;
-    local $SIG{__WARN__} = sub { $warning = shift };
-    eval q{package HomoGenous; use parent 'HomoGenous';};
-    like($warning, q{/^Class 'HomoGenous' tried to inherit from itself/},
-                                          '  self-inheriting');
-}
 
 {
     BEGIN { $Has::Version_0::VERSION = 0 }
diff --git a/deb.c b/deb.c
index aacd8bf..4ae101d 100644 (file)
--- a/deb.c
+++ b/deb.c
@@ -192,6 +192,7 @@ static const char * const si_names[] = {
     "WARNHOOK",
     "DIEHOOK",
     "REQUIRE"
+    "MULTICALL"
 };
 #endif
 
index 89301c6..ab8496e 100644 (file)
@@ -1,5 +1,19 @@
 Revision history for Perl extension ExtUtils::CBuilder.
 
+0.280223 - 2015-06-02
+
+  Fixed:
+
+  - Impose deterministic order on cpp-definition options.
+    Heretofore, ExtUtils::CBuilder put cpp-definition options
+    into the cc command line in non-deterministic order. This
+    produced noise when diffing build logs.
+    Make this order deterministic.  (RT #124106)
+    
+  Added:
+
+  - Add tests for ascii-betical order in t/04-base.t.
+
 0.280220 - 2014-09-27
 
   Fixed:
index 822f88d..97b386c 100644 (file)
@@ -1,4 +1,4 @@
-This software is copyright (c) 2014 by Ken Williams.
+This software is copyright (c) 2015 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 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2014 by Ken Williams.
+This software is Copyright (c) 2015 by Ken Williams.
 
 This is free software, licensed under:
 
@@ -272,7 +272,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2014 by Ken Williams.
+This software is Copyright (c) 2015 by Ken Williams.
 
 This is free software, licensed under:
 
index f96bda9..13734c5 100644 (file)
@@ -1,13 +1,10 @@
-
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.020.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.036.
 use strict;
 use warnings;
 
 
 
-use ExtUtils::MakeMaker ;
-
-
+use ExtUtils::MakeMaker;
 
 my %WriteMakefileArgs = (
   "ABSTRACT" => "Compile and link C code for Perl modules",
@@ -33,7 +30,7 @@ my %WriteMakefileArgs = (
   "TEST_REQUIRES" => {
     "Test::More" => "0.47"
   },
-  "VERSION" => "0.280221",
+  "VERSION" => "0.280223",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -64,9 +61,6 @@ delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
   unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
 
 $WriteMakefileArgs{INSTALLDIRS} = 'perl'
-    if $] >= 5.009005 && $] <= 5.011000;
+    if $] >= 5.009003 && $] <= 5.011000;
 
 WriteMakefile(%WriteMakefileArgs);
-
-
-
index 17a4963..9e60d08 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder;
-$ExtUtils::CBuilder::VERSION = '0.280221';
+$ExtUtils::CBuilder::VERSION = '0.280223';
 use File::Spec ();
 use File::Path ();
 use File::Basename ();
index 7df61e4..932657d 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Base;
-$ExtUtils::CBuilder::Base::VERSION = '0.280221';
+$ExtUtils::CBuilder::Base::VERSION = '0.280223';
 use strict;
 use File::Spec;
 use File::Basename;
@@ -128,20 +128,20 @@ sub arg_exec_file {
 
 sub arg_defines {
   my ($self, %args) = @_;
-  return map "-D$_=$args{$_}", keys %args;
+  return map "-D$_=$args{$_}", sort keys %args;
 }
 
 sub compile {
   my ($self, %args) = @_;
   die "Missing 'source' argument to compile()" unless defined $args{source};
-  
+
   my $cf = $self->{config}; # For convenience
-  
+
   my $object_file = $args{object_file}
     ? $args{object_file}
     : $self->object_file($args{source});
 
-  my $include_dirs_ref = 
+  my $include_dirs_ref =
     (exists($args{include_dirs}) && ref($args{include_dirs}) ne "ARRAY")
       ? [ $args{include_dirs} ]
       : $args{include_dirs};
@@ -149,9 +149,9 @@ sub compile {
     @{ $include_dirs_ref || [] },
     $self->perl_inc(),
   );
-  
+
   my @defines = $self->arg_defines( %{$args{defines} || {}} );
-  
+
   my @extra_compiler_flags =
     $self->split_like_shell($args{extra_compiler_flags});
   my @cccdlflags = $self->split_like_shell($cf->{cccdlflags});
@@ -168,7 +168,7 @@ sub compile {
     $self->arg_object_file($object_file),
   );
   my @cc = $self->split_like_shell($args{'C++'} ? $cf->{cxx} : $cf->{cc});
-  
+
   $self->do_system(@cc, @flags, $args{source})
     or die "error building $object_file from '$args{source}'";
 
@@ -222,7 +222,7 @@ sub lib_file {
   my ($self, $dl_file, %args) = @_;
   $dl_file =~ s/\.[^.]+$//;
   $dl_file =~ tr/"//d;
-  
+
   if (defined $args{module_name} and length $args{module_name}) {
     # Need to create with the same name as DynaLoader will load with.
     require DynaLoader;
@@ -232,7 +232,7 @@ sub lib_file {
       $dl_file = File::Spec->catpath($dev, $lib_dir, $lib);
     }
   }
-  
+
   $dl_file .= ".$self->{config}{dlext}";
 
   return $dl_file;
@@ -266,7 +266,7 @@ sub prelink {
 sub _prepare_mksymlists_args {
   my $args = shift;
   ($args->{dl_file} = $args->{dl_name}) =~ s/.*::// unless $args->{dl_file};
-  
+
   my %mksymlists_args = (
     DL_VARS  => $args->{dl_vars}      || [],
     DL_FUNCS => $args->{dl_funcs}     || {},
@@ -294,16 +294,16 @@ sub _do_link {
   my ($self, $type, %args) = @_;
 
   my $cf = $self->{config}; # For convenience
-  
+
   my $objects = delete $args{objects};
   $objects = [$objects] unless ref $objects;
   my $out = $args{$type} || $self->$type($objects->[0], %args);
-  
+
   my @temp_files;
   @temp_files =
     $self->prelink(%args, dl_name => $args{module_name})
       if $args{lddl} && $self->need_prelink;
-  
+
   my @linker_flags = (
     $self->split_like_shell($args{extra_linker_flags}),
     $self->extra_link_args_after_prelink(
@@ -316,10 +316,10 @@ sub _do_link {
     : $self->arg_exec_file($out);
   my @shrp = $self->split_like_shell($cf->{shrpenv});
   my @ld = $self->split_like_shell($cf->{ld});
-  
+
   $self->do_system(@shrp, @ld, @output, @$objects, @linker_flags)
     or die "error building $out from @$objects";
-  
+
   return wantarray ? ($out, @temp_files) : $out;
 }
 
@@ -332,17 +332,17 @@ sub do_system {
 
 sub split_like_shell {
   my ($self, $string) = @_;
-  
+
   return () unless defined($string);
   return @$string if UNIVERSAL::isa($string, 'ARRAY');
   $string =~ s/^\s+|\s+$//g;
   return () unless length($string);
-  
+
   # Text::ParseWords replaces all 'escaped' characters with themselves, which completely
   # breaks paths under windows. As such, we forcibly replace backwards slashes with forward
   # slashes on windows.
   $string =~ s@\\@/@g if $^O eq 'MSWin32';
-  
+
   return Text::ParseWords::shellwords($string);
 }
 
index a05ae4b..dcd0562 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Unix;
-$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280223';
 use strict;
 use ExtUtils::CBuilder::Base;
 
index 6285e33..bfdc0d4 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::VMS;
-$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280223';
 use strict;
 use ExtUtils::CBuilder::Base;
 
@@ -27,11 +27,11 @@ sub arg_defines {
 
   return '' unless keys(%args) || @config_defines;
 
-  return ('/define=(' 
-          . join(',', 
+  return ('/define=('
+          . join(',',
                 @config_defines,
-                 map "\"$_" . ( length($args{$_}) ? "=$args{$_}" : '') . "\"", 
-                     keys %args) 
+                 map "\"$_" . ( length($args{$_}) ? "=$args{$_}" : '') . "\"",
+                     sort keys %args)
           . ')');
 }
 
@@ -50,7 +50,7 @@ sub arg_include_dirs {
 # We override the compile method because we consume the includes and defines
 # parts of ccflags in the process of compiling but don't save those parts
 # anywhere, so $self->{config}{ccflags} needs to be reset for each compile
-# operation.  
+# operation.
 
 sub compile {
   my ($self, %args) = @_;
@@ -63,10 +63,10 @@ sub compile {
 
 sub _do_link {
   my ($self, $type, %args) = @_;
-  
+
   my $objects = delete $args{objects};
   $objects = [$objects] unless ref $objects;
-  
+
   if ($args{lddl}) {
 
     # prelink will call Mksymlists, which creates the extension-specific
@@ -77,7 +77,7 @@ sub _do_link {
     # We now add the rest of what we need to the linker options file.  We
     # should replicate the functionality of C<ExtUtils::MM_VMS::dlsyms>,
     # but there is as yet no infrastructure for handling object libraries,
-    # so for now we depend on object files being listed individually on the 
+    # so for now we depend on object files being listed individually on the
     # command line, which should work for simple cases.  We do bring in our
     # own version of C<ExtUtils::Liblist::Kid::ext> so that any additional
     # libraries (including PERLSHR) can be added to the options file.
@@ -85,7 +85,7 @@ sub _do_link {
     my @optlibs = $self->_liblist_ext( $args{'libs'} );
 
     my $optfile = 'sys$disk:[]' . $temp_files[0];
-    open my $opt_fh, '>>', $optfile 
+    open my $opt_fh, '>>', $optfile
         or die "_do_link: Unable to open $optfile: $!";
     for my $lib (@optlibs) {print $opt_fh "$lib\n" if length $lib }
     close $opt_fh;
@@ -136,7 +136,7 @@ sub _liblist_ext {
   # which a system-wide logical may point.
   if ($self->perl_src) {
     my($lib,$locspec,$type);
-    foreach $lib (@crtls) { 
+    foreach $lib (@crtls) {
       if (($locspec,$type) = $lib =~ m{^([\w\$-]+)(/\w+)?} and $locspec =~ /perl/i) {
         if    (lc $type eq '/share')   { $locspec .= $self->{'config'}{'exe_ext'}; }
         elsif (lc $type eq '/library') { $locspec .= $self->{'config'}{'lib_ext'}; }
@@ -188,8 +188,8 @@ sub _liblist_ext {
       next;
     }
     warn "Resolving directory $dir\n" if $verbose;
-    if (!File::Spec->file_name_is_absolute($dir)) { 
-        $dir = catdir($cwd,$dir); 
+    if (!File::Spec->file_name_is_absolute($dir)) {
+        $dir = catdir($cwd,$dir);
     }
   }
   @dirs = grep { length($_) } @dirs;
@@ -243,14 +243,14 @@ sub _liblist_ext {
           $type = 'SHR';
           $name = $fullname unless $fullname =~ /exe;?\d*$/i;
         }
-        elsif (not length($ctype) and  # If we've got a lib already, 
+        elsif (not length($ctype) and  # If we've got a lib already,
                                        # don't bother
                ( -f ($fullname = VMS::Filespec::rmsexpand($name,$lib_ext)) or
                  -f ($fullname = VMS::Filespec::rmsexpand($name,'.olb'))))  {
           $type = 'OLB';
           $name = $fullname unless $fullname =~ /olb;?\d*$/i;
         }
-        elsif (not length($ctype) and  # If we've got a lib already, 
+        elsif (not length($ctype) and  # If we've got a lib already,
                                        # don't bother
                ( -f ($fullname = VMS::Filespec::rmsexpand($name,$obj_ext)) or
                  -f ($fullname = VMS::Filespec::rmsexpand($name,'.obj'))))  {
@@ -264,9 +264,9 @@ sub _liblist_ext {
           last if $ctype eq 'SHR';
         }
       }
-      if ($ctype) { 
+      if ($ctype) {
         push @{$found{$ctype}}, $cand;
-        warn "\tFound as $cand (really $fullname), type $ctype\n" 
+        warn "\tFound as $cand (really $fullname), type $ctype\n"
           if $verbose > 1;
        push @flibs, $name unless $libs_seen{$fullname}++;
         next LIB;
index 472c801..5b870bb 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Windows;
-$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280223';
 use strict;
 use warnings;
 
@@ -57,7 +57,7 @@ sub split_like_shell {
   # array) to the target program and make the program parse it itself,
   # we don't actually need to do any processing here.
   (my $self, local $_) = @_;
-  
+
   return @$_ if defined() && UNIVERSAL::isa($_, 'ARRAY');
   return unless defined() && length();
   return ($_);
@@ -76,7 +76,7 @@ sub do_system {
 sub arg_defines {
   my ($self, %args) = @_;
   s/"/\\"/g foreach values %args;
-  return map qq{"-D$_=$args{$_}"}, keys %args;
+  return map qq{"-D$_=$args{$_}"}, sort keys %args;
 }
 
 sub compile {
@@ -85,7 +85,7 @@ sub compile {
 
   die "Missing 'source' argument to compile()" unless defined $args{source};
 
-  $args{include_dirs} = [ $args{include_dirs} ] 
+  $args{include_dirs} = [ $args{include_dirs} ]
     if exists($args{include_dirs}) && ref($args{include_dirs}) ne "ARRAY";
 
   my ($basename, $srcdir) =
index cbba074..2f37117 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Windows::BCC;
-$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280220';
+$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280223';
 sub format_compiler_cmd {
   my ($self, %spec) = @_;
 
index eb37a0e..818ec36 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Windows::GCC;
-$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280220';
+$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280223';
 sub format_compiler_cmd {
   my ($self, %spec) = @_;
 
index 8457485..552e45c 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Windows::MSVC;
-$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280220';
+$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280223';
 sub arg_exec_file {
   my ($self, $file) = @_;
   return "/OUT:$file";
index c40dfaa..1a2848e 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::aix;
-$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280223';
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 use File::Spec;
index 8ceb145..0942b3c 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::android;
-$ExtUtils::CBuilder::Platform::android::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::android::VERSION = '0.280223';
 use strict;
 use File::Spec;
 use ExtUtils::CBuilder::Platform::Unix;
index 9f1e7fe..259fbc6 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::cygwin;
-$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280223';
 use strict;
 use File::Spec;
 use ExtUtils::CBuilder::Platform::Unix;
index 391040b..94af5ee 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::darwin;
-$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280223';
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 
index 5d4bdf7..0d03ecc 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::dec_osf;
-$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280223';
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 use File::Spec;
index a5d81ca..3129ed9 100644 (file)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::os2;
-$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280223';
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 
index 3b525b7..5daed5f 100644 (file)
@@ -1,7 +1,7 @@
 #! perl -w
 
 use strict;
-use Test::More tests => 64;
+use Test::More tests => 65;
 use Config;
 use Cwd;
 use File::Path qw( mkpath );
@@ -152,7 +152,6 @@ my ($lib, @temps);
     ok( -d $include_dir, "perl_inc() returned directory" );
 }
 
-#
 $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
 ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
 isa_ok( $base, 'ExtUtils::CBuilder::Base' );
@@ -165,13 +164,27 @@ my %args = ();
 my @defines = $base->arg_defines( %args );
 ok( ! @defines, "Empty hash passed to arg_defines() returns empty list" );
 
-%args = ( alpha => 'beta', gamma => 'delta' );
-my $defines_seen_ref = { map { $_ => 1 } $base->arg_defines( %args ) };
+my @epsilon = ( epsilon => 'zeta' );
+my @eta     = ( eta => 'theta' );
+my @alpha   = ( alpha => 'beta' );
+my @gamma   = ( gamma => 'delta' );
+my @all = (\@epsilon, \@eta, \@alpha, \@gamma);
+
+%args = map { @{$_} } @all;
+@defines = $base->arg_defines( %args );
+my $defines_seen_ref = { map { $_ => 1 } @defines };
+my $defines_expected_ref;
+for my $r (@all) {
+    $defines_expected_ref->{"-D$r->[0]=$r->[1]"} = 1;
+}
 is_deeply(
     $defines_seen_ref,
-    { '-Dalpha=beta' => 1, '-Dgamma=delta' => 1 },
+    $defines_expected_ref,
     "arg_defines(): got expected defines",
 );
+my $ordered_defines_expected_ref = [ sort keys %{$defines_expected_ref} ];
+is_deeply(\@defines, $ordered_defines_expected_ref,
+    "Got expected order of defines: RT #124106");
 
 my $include_dirs_seen_ref =
     { map {$_ => 1} $base->arg_include_dirs( qw| alpha beta gamma | ) };
index d596cdf..e2ac71a 100644 (file)
@@ -1,6 +1,5 @@
 #!perl
 use 5.006;
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 eval {
   require ExtUtils::ParseXS;
index a877fbf..f13d546 100644 (file)
@@ -11,7 +11,7 @@ use vars qw( @ISA $VERSION $MATCH_SUPERS $USING_LANGUAGE_TAGS
 BEGIN { unless(defined &DEBUG) { *DEBUG = sub () {0} } }
  # define the constant 'DEBUG' at compile-time
 
-$VERSION = "1.05_01";
+$VERSION = "1.05";
 @ISA = ();
 use I18N::LangTags qw(alternate_language_tags locale2language_tag);
 
@@ -145,8 +145,6 @@ sub _try_use {   # Basically a wrapper around "require Modulename"
   print " About to use $module ...\n" if DEBUG;
   {
     local $SIG{'__DIE__'};
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     eval "require $module"; # used to be "use $module", but no point in that.
   }
   if($@) {
index 4b39c7a..2762958 100644 (file)
@@ -7,7 +7,7 @@ use Carp;
 use strict;
 use warnings;
 
-our $VERSION = "1.35_01";
+our $VERSION = "1.35";
 XSLoader::load 'IO', $VERSION;
 
 sub import {
@@ -18,8 +18,6 @@ sub import {
     
     my @l = @_ ? @_ : qw(Handle Seekable File Pipe Socket Dir);
 
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     eval join("", map { "require IO::" . (/(\w+)/)[0] . ";\n" } @l)
        or croak $@;
 }
index e73c149..24c31ea 100644 (file)
@@ -27,7 +27,7 @@ BEGIN {
 }
 
 
-$VERSION = '1.26_01';
+$VERSION = '1.26';
 @ISA = ();
 
 $MATCH_SUPERS = 1;
@@ -449,8 +449,6 @@ sub _try_use {   # Basically a wrapper around "require Modulename"
 
     local $SIG{'__DIE__'};
     local $@;
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
     eval "require $module"; # used to be "use $module", but no point in that.
 
     if($@) {
index 1c31496..a423b35 100644 (file)
@@ -12,7 +12,7 @@ package Math::BigFloat;
 #   _a : accuracy
 #   _p : precision
 
-$VERSION = '1.9997';
+$VERSION = '1.999701';
 require 5.006002;
 
 require Exporter;
@@ -1476,6 +1476,7 @@ sub _log_10
     {
     $twos++; $x->bdiv($two,$scale+4);          # keep all digits
     }
+  $x->bround($scale+4);
   # $twos > 0 => did mul 2, < 0 => did div 2 (but we never did both)
   # So calculate correction factor based on ln(2):
   if ($twos != 0)
@@ -1776,7 +1777,7 @@ sub bmuladd
 sub bdiv 
   {
   # (dividend: BFLOAT or num_str, divisor: BFLOAT or num_str) return 
-  # (BFLOAT,BFLOAT) (quo,rem) or BFLOAT (only rem)
+    # (BFLOAT, BFLOAT) (quo, rem) or BFLOAT (only quo)
 
   # set up parameters
   my ($self,$x,$y,$a,$p,$r) = (ref($_[0]),@_);
@@ -1788,10 +1789,80 @@ sub bdiv
 
   return $x if $x->modify('bdiv');
 
-  return $self->_div_inf($x,$y)
-   if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero());
+    my $wantarray = wantarray;          # call only once
 
-  # x== 0 # also: or y == 1 or y == -1
+    # At least one argument is NaN. This is handled the same way as in
+    # Math::BigInt -> bdiv().
+
+    if ($x -> is_nan() || $y -> is_nan()) {
+        return $wantarray ? ($x -> bnan(), $self -> bnan()) : $x -> bnan();
+    }
+
+    # Divide by zero and modulo zero. This is handled the same way as in
+    # Math::BigInt -> bdiv(). See the comment in the code for Math::BigInt ->
+    # bdiv() for further details.
+
+    if ($y -> is_zero()) {
+        my ($quo, $rem);
+        if ($wantarray) {
+            $rem = $x -> copy();
+        }
+        if ($x -> is_zero()) {
+            $quo = $x -> bnan();
+        } else {
+            $quo = $x -> binf($x -> {sign});
+        }
+        return $wantarray ? ($quo, $rem) : $quo;
+    }
+
+    # Numerator (dividend) is +/-inf. This is handled the same way as in
+    # Math::BigInt -> bdiv(). See the comment in the code for Math::BigInt ->
+    # bdiv() for further details.
+
+    if ($x -> is_inf()) {
+        my ($quo, $rem);
+        $rem = $self -> bnan() if $wantarray;
+        if ($y -> is_inf()) {
+            $quo = $x -> bnan();
+        } else {
+            my $sign = $x -> bcmp(0) == $y -> bcmp(0) ? '+' : '-';
+            $quo = $x -> binf($sign);
+        }
+        return $wantarray ? ($quo, $rem) : $quo;
+    }
+
+  # Denominator (divisor) is +/-inf. This is handled the same way as in
+  # Math::BigInt -> bdiv(), with one exception: In scalar context,
+  # Math::BigFloat does true division (although rounded), not floored division
+  # (F-division), so a finite number divided by +/-inf is always zero. See the
+  # comment in the code for Math::BigInt -> bdiv() for further details.
+
+  if ($y -> is_inf()) {
+      my ($quo, $rem);
+      if ($wantarray) {
+          if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) {
+              $rem = $x -> copy();
+              $quo = $x -> bzero();
+          } else {
+              $rem = $self -> binf($y -> {sign});
+              $quo = $x -> bone('-');
+          }
+          return ($quo, $rem);
+      } else {
+        if ($y -> is_inf()) {
+            if ($x -> is_nan() || $x -> is_inf()) {
+                return $x -> bnan();
+            } else {
+                return $x -> bzero();
+            }
+        }
+    }
+    }
+
+  # At this point, both the numerator and denominator are finite numbers, and
+  # the denominator (divisor) is non-zero.
+
+  # x == 0?
   return wantarray ? ($x,$self->bzero()) : $x if $x->is_zero();
 
   # upgrade ?
@@ -1805,33 +1876,30 @@ sub bdiv
   return $x if $x->is_nan();           # error in _find_round_parameters?
 
   # no rounding at all, so must use fallback
-  if (scalar @params == 0)
+    if (scalar @params == 0)
     {
     # simulate old behaviour
     $params[0] = $self->div_scale();   # and round to it as accuracy
     $scale = $params[0]+4;             # at least four more for proper round
     $params[2] = $r;                   # round mode by caller or undef
     $fallback = 1;                     # to clear a/p afterwards
-    }
-  else
-    {
+    } else {
     # the 4 below is empirical, and there might be cases where it is not
     # enough...
     $scale = abs($params[0] || $params[1]) + 4;        # take whatever is defined
     }
 
-  my $rem; $rem = $self->bzero() if wantarray;
+    my $rem;
+    $rem = $self -> bzero() if wantarray;
 
   $y = $self->new($y) unless $y->isa('Math::BigFloat');
 
-  my $lx = $MBI->_len($x->{_m}); my $ly = $MBI->_len($y->{_m});
+  my $lx = $MBI -> _len($x->{_m}); my $ly = $MBI -> _len($y->{_m});
   $scale = $lx if $lx > $scale;
   $scale = $ly if $ly > $scale;
   my $diff = $ly - $lx;
   $scale += $diff if $diff > 0;                # if lx << ly, but not if ly << lx!
 
-  # already handled inf/NaN/-inf above:
-
   # check that $y is not 1 nor -1 and cache the result:
   my $y_not_one = !($MBI->_is_zero($y->{_e}) && $MBI->_is_one($y->{_m}));
 
@@ -1899,7 +1967,7 @@ sub bdiv
     {
     if ($y_not_one)
       {
-      $x -> bint();
+      $x -> bfloor();
       $rem->bmod($y,@params);                  # copy already done
       }
     if ($fallback)
@@ -1926,34 +1994,54 @@ sub bmod
 
   return $x if $x->modify('bmod');
 
-  # handle NaN, inf, -inf
-  if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/))
-    {
-    my ($d,$re) = $self->SUPER::_div_inf($x,$y);
-    $x->{sign} = $re->{sign};
-    $x->{_e} = $re->{_e};
-    $x->{_m} = $re->{_m};
-    return $x->round($a,$p,$r,$y);
+    # At least one argument is NaN. This is handled the same way as in
+    # Math::BigInt -> bmod().
+
+    if ($x -> is_nan() || $y -> is_nan()) {
+        return $x -> bnan();
     } 
-  if ($y->is_zero())
-    {
-    return $x->bnan() if $x->is_zero();
+
+    # Modulo zero. This is handled the same way as in Math::BigInt -> bmod().
+
+    if ($y -> is_zero()) {
     return $x;
     }
 
+    # Numerator (dividend) is +/-inf. This is handled the same way as in
+    # Math::BigInt -> bmod().
+
+    if ($x -> is_inf()) {
+        return $x -> bnan();
+    }
+
+    # Denominator (divisor) is +/-inf. This is handled the same way as in
+    # Math::BigInt -> bmod().
+
+    if ($y -> is_inf()) {
+        if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) {
+            return $x;
+        } else {
+            return $x -> binf($y -> sign());
+        }
+    }
+
   return $x->bzero() if $x->is_zero()
  || ($x->is_int() &&
   # check that $y == +1 or $y == -1:
     ($MBI->_is_zero($y->{_e}) && $MBI->_is_one($y->{_m})));
 
   my $cmp = $x->bacmp($y);                     # equal or $x < $y?
-  return $x->bzero($a,$p) if $cmp == 0;                # $x == $y => result 0
+    if ($cmp == 0) {                            # $x == $y => result 0
+        return $x -> bzero($a, $p);
+    }
 
   # only $y of the operands negative? 
-  my $neg = 0; $neg = 1 if $x->{sign} ne $y->{sign};
+    my $neg = $x->{sign} ne $y->{sign} ? 1 : 0;
 
   $x->{sign} = $y->{sign};                             # calc sign first
-  return $x->round($a,$p,$r) if $cmp < 0 && $neg == 0; # $x < $y => result $x
+    if ($cmp < 0 && $neg == 0) {                # $x < $y => result $x
+        return $x -> round($a, $p, $r);
+    }
   
   my $ym = $MBI->_copy($y->{_m});
   
@@ -1996,7 +2084,7 @@ sub bmod
   $x->{sign} = '+' if $MBI->_is_zero($x->{_m});                # fix sign for -0
   $x->bnorm();
 
-  if ($neg != 0)       # one of them negative => correct in place
+    if ($neg != 0 && ! $x -> is_zero())   # one of them negative => correct in place
     {
     my $r = $y - $x;
     $x->{_m} = $r->{_m};
@@ -3440,7 +3528,11 @@ sub bceil
     $x->{_m} = $MBI->_rsft($x->{_m},$x->{_e},10); # cut off digits after dot
     $x->{_e} = $MBI->_zero();                  # trunc/norm    
     $x->{_es} = '+';                           # abs e
-    $MBI->_inc($x->{_m}) if $x->{sign} eq '+'; # increment if positive
+    if ($x->{sign} eq '+') {
+        $MBI->_inc($x->{_m});                   # increment if positive
+    } else {
+        $x->{sign} = '+' if $MBI->_is_zero($x->{_m});   # avoid -0
+    }
     }
   $x->round($a,$p,$r);
   }
@@ -3459,6 +3551,7 @@ sub bint
     $x->{_m} = $MBI->_rsft($x->{_m},$x->{_e},10); # cut off digits after dot
     $x->{_e} = $MBI->_zero();                     # truncate/normalize
     $x->{_es} = '+';                              # abs e
+    $x->{sign} = '+' if $MBI->_is_zero($x->{_m}); # avoid -0
     }
   $x->round($a,$p,$r);
   }
@@ -4027,8 +4120,8 @@ Actual math is done by using the class defined with C<< with => Class; >>
 (which defaults to BigInts) to represent the mantissa and exponent.
 
 The sign C</^[+-]$/> is stored separately. The string 'NaN' is used to 
-represent the result when input arguments are not numbers, as well as 
-the result of dividing by zero.
+represent the result when input arguments are not numbers, and 'inf' and
+'-inf' are used to represent positive and negative infinity, respectively.
 
 =head2 mantissa(), exponent() and parts()
 
@@ -4208,6 +4301,25 @@ Note: You probably want to use L</accuracy()> instead. With L</accuracy()> you
 set the number of digits each result should have, with L</precision()> you
 set the place where to round!
 
+=item bdiv()
+
+        $q = $x->bdiv($y);
+        ($q, $r) = $x->bdiv($y);
+
+In scalar context, divides $x by $y and returns the result to the given or
+default accuracy/precision. In list context, does floored division
+(F-division), returning an integer $q and a remainder $r so that $x = $q * $y +
+$r. The remainer (modulo) is equal to what is returned by C<$x->bmod($y)>.
+
+=item bmod()
+
+       $x->bmod($y);
+
+Returns $x modulo $y. When $x is finite, and $y is finite and non-zero, the
+result is identical to the remainder after floored division (F-division). If,
+in addition, both $x and $y are integers, the result is identical to the result
+from Perl's % operator.
+
 =item bexp()
 
        $x->bexp($accuracy);            # calculate e ** X
index 62f1be9..d990272 100644 (file)
@@ -18,7 +18,7 @@ package Math::BigInt;
 my $class = "Math::BigInt";
 use 5.006002;
 
-$VERSION = '1.9997';
+$VERSION = '1.999701';
 
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(objectify bgcd blcm); 
@@ -626,9 +626,13 @@ sub new
     elsif ($e < 0)
       {
       # xE-y, and empty mfv
-      #print "xE-y\n";
-      $e = abs($e);
-      if ($$miv !~ s/0{$e}$//)         # can strip so many zero's?
+      # Split the mantissa at the decimal point. E.g., if
+      # $$miv = 12345 and $e = -2, then $frac = 45 and $$miv = 123.
+
+      my $frac = substr($$miv, $e);     # $frac is fraction part
+      substr($$miv, $e) = "";           # $$miv is now integer part
+
+      if ($frac =~ /[^0]/)
         {
         if ($_trap_nan)
           {
@@ -640,8 +644,10 @@ sub new
         }
       }
     }
-  $self->{sign} = '+' if $$miv eq '0';                 # normalize -0 => +0
-  $self->{value} = $CALC->_new($$miv) if $self->{sign} =~ /^[+-]$/;
+  unless ($self->{sign} eq $nan) {
+      $self->{sign} = '+' if $$miv eq '0';             # normalize -0 => +0
+      $self->{value} = $CALC->_new($$miv) if $self->{sign} =~ /^[+-]$/;
+  }
   # if any of the globals is set, use them to round and store them inside $self
   # do not round for new($x,undef,undef) since that is used by MBF to signal
   # no rounding
@@ -1657,103 +1663,175 @@ sub bmuladd
   $x->round(@r);
   }
 
-sub _div_inf
+sub bdiv
   {
-  # helper function that handles +-inf cases for bdiv()/bmod() to reuse code
-  my ($self,$x,$y) = @_;
 
-  # NaN if x == NaN or y == NaN or x==y==0
-  return wantarray ? ($x->bnan(),$self->bnan()) : $x->bnan()
-   if (($x->is_nan() || $y->is_nan())   ||
-       ($x->is_zero() && $y->is_zero()));
+    # This does floored division, where the quotient is floored toward negative
+    # infinity and the remainder has the same sign as the divisor.
 
-  # +-inf / +-inf == NaN, remainder also NaN
-  if (($x->{sign} =~ /^[+-]inf$/) && ($y->{sign} =~ /^[+-]inf$/))
-    {
-    return wantarray ? ($x->bnan(),$self->bnan()) : $x->bnan();
+    # Set up parameters.
+    my ($self,$x,$y,@r) = (ref($_[0]),@_);
+
+    # objectify() is costly, so avoid it if we can.
+    if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) {
+        ($self,$x,$y,@r) = objectify(2,@_);
     }
-  # x / +-inf => 0, remainder x (works even if x == 0)
-  if ($y->{sign} =~ /^[+-]inf$/)
-    {
-    my $t = $x->copy();                # bzero clobbers up $x
-    return wantarray ? ($x->bzero(),$t) : $x->bzero()
+
+    return $x if $x->modify('bdiv');
+
+    my $wantarray = wantarray;          # call only once
+
+    # At least one argument is NaN. Return NaN for both quotient and the
+    # modulo/remainder.
+
+    if ($x -> is_nan() || $y -> is_nan()) {
+        return $wantarray ? ($x -> bnan(), $self -> bnan()) : $x -> bnan();
     }
 
-  # 5 / 0 => +inf, -6 / 0 => -inf
-  # +inf / 0 = inf, inf,  and -inf / 0 => -inf, -inf 
-  # exception:   -8 / 0 has remainder -8, not 8
-  # exception: -inf / 0 has remainder -inf, not inf
-  if ($y->is_zero())
-    {
-    # +-inf / 0 => special case for -inf
-    return wantarray ?  ($x,$x->copy()) : $x if $x->is_inf();
-    if (!$x->is_zero() && !$x->is_inf())
-      {
-      my $t = $x->copy();              # binf clobbers up $x
-      return wantarray ?
-       ($x->binf($x->{sign}),$t) : $x->binf($x->{sign})
+    # Divide by zero and modulo zero.
+    #
+    # Division: Use the common convention that x / 0 is inf with the same sign
+    # as x, except when x = 0, where we return NaN. This is also what earlier
+    # versions did.
+    #
+    # Modulo: In modular arithmetic, the congruence relation z = x (mod y)
+    # means that there is some integer k such that z - x = k y. If y = 0, we
+    # get z - x = 0 or z = x. This is also what earlier versions did, except
+    # that 0 % 0 returned NaN.
+    #
+    #     inf / 0 =  inf                     inf % 0 =  inf
+    #       5 / 0 =  inf                       5 % 0 =    5
+    #       0 / 0 =  NaN                       0 % 0 =    0 (before: NaN)
+    #      -5 / 0 = -inf                      -5 % 0 =   -5
+    #    -inf / 0 = -inf                    -inf % 0 = -inf
+
+    if ($y -> is_zero()) {
+        my ($quo, $rem);
+        if ($wantarray) {
+                $rem = $x -> copy();
+            }
+        if ($x -> is_zero()) {
+            $quo = $x -> bnan();
+        } else {
+            $quo = $x -> binf($x -> {sign});
+        }
+        return $wantarray ? ($quo, $rem) : $quo;
+    }
+
+    # Numerator (dividend) is +/-inf, and denominator is finite and non-zero.
+    # The divide by zero cases are covered above. In all of the cases listed
+    # below we return the same as core Perl.
+    #
+    #     inf / -inf =  NaN                  inf % -inf =  NaN
+    #     inf /   -5 = -inf                  inf %   -5 =  NaN (before: 0)
+    #     inf /    5 =  inf                  inf %    5 =  NaN (before: 0)
+    #     inf /  inf =  NaN                  inf %  inf =  NaN
+    #
+    #    -inf / -inf =  NaN                 -inf % -inf =  NaN
+    #    -inf /   -5 =  inf                 -inf %   -5 =  NaN (before: 0)
+    #    -inf /    5 = -inf                 -inf %    5 =  NaN (before: 0)
+    #    -inf /  inf =  NaN                 -inf %  inf =  NaN
+
+    if ($x -> is_inf()) {
+        my ($quo, $rem);
+        $rem = $self -> bnan() if $wantarray;
+        if ($y -> is_inf()) {
+            $quo = $x -> bnan();
+        } else {
+            my $sign = $x -> bcmp(0) == $y -> bcmp(0) ? '+' : '-';
+            $quo = $x -> binf($sign);
       }
+        return $wantarray ? ($quo, $rem) : $quo;
     }
 
-  # last case: +-inf / ordinary number
-  my $sign = '+inf';
-  $sign = '-inf' if substr($x->{sign},0,1) ne $y->{sign};
-  $x->{sign} = $sign;
-  return wantarray ? ($x,$self->bzero()) : $x;
+    # Denominator (divisor) is +/-inf. The cases when the numerator is +/-inf
+    # are covered above. In the modulo cases (in the right column) we return
+    # the same as core Perl, which does floored division, so for consistency we
+    # also do floored division in the division cases (in the left column).
+    #
+    #      -5 /  inf =   -1 (before: 0)       -5 %  inf =  inf (before: -5)
+    #       0 /  inf =    0                    0 %  inf =    0
+    #       5 /  inf =    0                    5 %  inf =    5
+    #
+    #      -5 / -inf =    0                   -5 % -inf =   -5
+    #       0 / -inf =    0                    0 % -inf =    0
+    #       5 / -inf =   -1 (before: 0)        5 % -inf = -inf (before: 5)
+
+    if ($y -> is_inf()) {
+        my ($quo, $rem);
+        if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) {
+            $rem = $x -> copy() if $wantarray;
+            $quo = $x -> bzero();
+        } else {
+            $rem = $self -> binf($y -> {sign}) if $wantarray;
+            $quo = $x -> bone('-');
+        }
+        return $wantarray ? ($quo, $rem) : $quo;
   }
 
-sub bdiv 
-  {
-  # (dividend: BINT or num_str, divisor: BINT or num_str) return 
-  # (BINT,BINT) (quo,rem) or BINT (only rem)
-
-  # set up parameters
-  my ($self,$x,$y,@r) = (ref($_[0]),@_);
-  # objectify is costly, so avoid it 
-  if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1])))
-    {
-    ($self,$x,$y,@r) = objectify(2,@_);
-    } 
-
-  return $x if $x->modify('bdiv');
-
-  return $self->_div_inf($x,$y)
-   if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero());
+  # At this point, both the numerator and denominator are finite numbers, and
+  # the denominator (divisor) is non-zero.
 
   return $upgrade->bdiv($upgrade->new($x),$upgrade->new($y),@r)
    if defined $upgrade;
 
   $r[3] = $y;                                  # no push!
 
-  # calc new sign and in case $y == +/- 1, return $x
-  my $xsign = $x->{sign};                              # keep
-  $x->{sign} = ($x->{sign} ne $y->{sign} ? '-' : '+'); 
+    # Inialize remainder.
 
-  if (wantarray)
-    {
     my $rem = $self->bzero(); 
+
+    # Are both operands the same object, i.e., like $x -> bdiv($x)?
+    # If so, flipping the sign of $y also flips the sign of $x.
+
+    my $xsign = $x->{sign};
+    my $ysign = $y->{sign};
+
+    $y->{sign} =~ tr/+-/-+/;            # Flip the sign of $y, and see ...
+    my $same = $xsign ne $x->{sign};    # ... if that changed the sign of $x.
+    $y->{sign} = $ysign;                # Re-insert the original sign.
+
+    if ($same) {
+        $x -> bone();
+    } else {
     ($x->{value},$rem->{value}) = $CALC->_div($x->{value},$y->{value});
-    $x->{sign} = '+' if $CALC->_is_zero($x->{value});
-    $rem->{_a} = $x->{_a};
-    $rem->{_p} = $x->{_p};
+
+        if ($CALC -> _is_zero($rem->{value})) {
+            if ($xsign eq $ysign || $CALC -> _is_zero($x->{value})) {
+                $x->{sign} = '+';
+            } else {
+                $x->{sign} = '-';
+            }
+        } else {
+            if ($xsign eq $ysign) {
+                $x->{sign} = '+';
+            } else {
+                if ($xsign eq '+') {
+                    $x -> badd(1);
+                } else {
+                    $x -> bsub(1);
+                }
+                $x->{sign} = '-';
+            }
+        }
+    }
+
     $x->round(@r);
-    if (! $CALC->_is_zero($rem->{value}))
-      {
-      $rem->{sign} = $y->{sign};
-      $rem = $y->copy()->bsub($rem) if $xsign ne $y->{sign}; # one of them '-'
+
+    if ($wantarray) {
+        unless ($CALC -> _is_zero($rem->{value})) {
+            if ($xsign ne $ysign) {
+                $rem = $y -> copy() -> babs() -> bsub($rem);
       }
-    else
-      {
-      $rem->{sign} = '+';                      # do not leave -0
+            $rem->{sign} = $ysign;
       }
+        $rem->{_a} = $x->{_a};
+        $rem->{_p} = $x->{_p};
     $rem->round(@r);
     return ($x,$rem);
     }
 
-  $x->{value} = $CALC->_div($x->{value},$y->{value});
-  $x->{sign} = '+' if $CALC->_is_zero($x->{value});
-
-  $x->round(@r);
+    return $x;
   }
 
 ###############################################################################
@@ -1761,11 +1839,14 @@ sub bdiv
 
 sub bmod 
   {
-  # modulus (or remainder)
-  # (BINT or num_str, BINT or num_str) return BINT
 
-  # set up parameters
+    # This is the remainder after floored division, where the quotient is
+    # floored toward negative infinity and the remainder has the same sign as
+    # the divisor.
+
+    # Set up parameters.
   my ($self,$x,$y,@r) = (ref($_[0]),@_);
+
   # objectify is costly, so avoid it
   if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1])))
     {
@@ -1774,35 +1855,62 @@ sub bmod
 
   return $x if $x->modify('bmod');
   $r[3] = $y;                                  # no push!
-  if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero())
-    {
-    my ($d,$r) = $self->_div_inf($x,$y);
-    $x->{sign} = $r->{sign};
-    $x->{value} = $r->{value};
-    return $x->round(@r);
+
+    # At least one argument is NaN.
+
+    if ($x -> is_nan() || $y -> is_nan()) {
+        return $x -> bnan();
+    }
+
+    # Modulo zero. See documentation for bdiv().
+
+    if ($y -> is_zero()) {
+            return $x;
+        }
+
+    # Numerator (dividend) is +/-inf.
+
+    if ($x -> is_inf()) {
+        return $x -> bnan();
+    }
+
+    # Denominator (divisor) is +/-inf.
+
+    if ($y -> is_inf()) {
+        if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) {
+            return $x;
+        } else {
+            return $x -> binf($y -> sign());
+        }
     }
 
-  # calc new sign and in case $y == +/- 1, return $x
+    # Calc new sign and in case $y == +/- 1, return $x.
+
   $x->{value} = $CALC->_mod($x->{value},$y->{value});
-  if (!$CALC->_is_zero($x->{value}))
+  if ($CALC -> _is_zero($x->{value}))
+    {
+        $x->{sign} = '+';       # do not leave -0
+    }
+  else
     {
     $x->{value} = $CALC->_sub($y->{value},$x->{value},1)       # $y-$x
       if ($x->{sign} ne $y->{sign});
     $x->{sign} = $y->{sign};
     }
-   else
-    {
-    $x->{sign} = '+';                          # do not leave -0
-    }
+
   $x->round(@r);
   }
 
 sub bmodinv
   {
-  # Return modular multiplicative inverse: z is the modular inverse of x (mod
-  # y) if and only if x*z (mod y) = 1 (mod y). If the modulus y is larger than
-  # one, x and z are relative primes (i.e., their greatest common divisor is
-  # one).
+  # Return modular multiplicative inverse:
+  #
+  #   z is the modular inverse of x (mod y) if and only if
+  #
+  #       x*z ≡ 1  (mod y)
+  #
+  # If the modulus y is larger than one, x and z are relative primes (i.e.,
+  # their greatest common divisor is one).
   #
   # If no modular multiplicative inverse exists, NaN is returned.
 
@@ -1896,8 +2004,17 @@ sub bmodpow
 
   return $num->bnan() if ($num->{sign} =~ /NaN|inf/ ||  # NaN, -inf, +inf
                           $exp->{sign} =~ /NaN|inf/ ||  # NaN, -inf, +inf
-                          $mod->{sign} =~ /NaN|inf/ ||  # NaN, -inf, +inf
-                          $mod->is_zero());
+                          $mod->{sign} =~ /NaN|inf/);   # NaN, -inf, +inf
+
+  # Modulo zero. See documentation for Math::BigInt's bmod() method.
+
+  if ($mod -> is_zero()) {
+      if ($num -> is_zero()) {
+          return $self -> bnan();
+      } else {
+          return $num -> copy();
+      }
+  }
 
   # Compute 'a (mod m)', ignoring the signs on 'a' and 'm'. If the resulting
   # value is zero, the output is also zero, regardless of the signs on 'a' and
@@ -3927,12 +4044,20 @@ This method was added in v1.87 of Math::BigInt (June 2007).
 =item bdiv()
 
     $x->bdiv($y);              # divide, set $x to quotient
-                               # return (quo,rem) or quo if scalar
+
+Returns $x divided by $y. In list context, does floored division (F-division),
+where the quotient is the greatest integer less than or equal to the quotient
+of the two operands. Consequently, the remainder is either zero or has the same
+sign as the second operand. In scalar context, only the quotient is returned.
 
 =item bmod()
 
     $x->bmod($y);              # modulus (x % y)
 
+Returns $x modulo $y. When $x is finite, and $y is finite and non-zero, the
+result is identical to the remainder after floored division (F-division), i.e.,
+identical to the result from Perl's % operator.
+
 =item bmodinv()
 
     $x->bmodinv($mod);         # modular multiplicative inverse
index d511bab..ce9bf3a 100644 (file)
@@ -4,7 +4,7 @@ use 5.006002;
 use strict;
 # use warnings;        # do not use warnings for older Perls
 
-our $VERSION = '1.9997';
+our $VERSION = '1.999701';
 
 # Package to store unsigned big integers in decimal and do math with them
 
index 9bf3e07..0ff9dcc 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 # use warnings;        # do not use warnings for older Perls
 use vars qw/$VERSION/;
 
-$VERSION = '1.9997';
+$VERSION = '1.999701';
 
 package Math::BigInt;
 
index 49ba8cb..69dcc80 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 2338;
+use Test::More tests => 2340;
 
 BEGIN { unshift @INC, 't'; }
 
index eaedbf7..8aedf43 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 3651;
+use Test::More tests => 3649;
 
 BEGIN { unshift @INC, 't'; }
 
index 1528e48..3eb2e21 100644 (file)
@@ -1404,7 +1404,7 @@ NaNmul:-inf:NaN
 6:120:720
 10:10000:100000
 &fdiv-list
-0:0:NaN,NaN
+0:0:NaN,0
 0:1:0,0
 9:4:2,1
 9:5:1,4
@@ -1499,13 +1499,13 @@ $div_scale = 40
 0:inf:0
 0:-inf:0
 5:inf:5
-5:-inf:5
--5:inf:-5
+5:-inf:-inf
+-5:inf:inf
 -5:-inf:-5
-inf:5:0
--inf:5:0
-inf:-5:0
--inf:-5:0
+inf:5:NaN
+-inf:5:NaN
+inf:-5:NaN
+-inf:-5:NaN
 5:5:0
 -5:-5:0
 inf:inf:NaN
@@ -1514,14 +1514,12 @@ inf:inf:NaN
 inf:-inf:NaN
 8:0:8
 inf:0:inf
-# exceptions to remainder rule
 -inf:0:-inf
 -8:0:-8
-0:0:NaN
+0:0:0
 abc:abc:NaN
 abc:1:abc:NaN
 1:abc:NaN
-0:0:NaN
 0:1:0
 1:0:1
 0:-1:0
@@ -1825,6 +1823,7 @@ abc:NaN
 -51:-51
 -51.2:-51
 12.2:13
+-0.4:0
 &fint
 0:0
 NaN:NaN
@@ -1834,3 +1833,4 @@ NaN:NaN
 -51:-51
 -51.2:-51
 12.2:12
+-0.4:0
index de3c80e..8653f77 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 2338
+use Test::More tests => 2340
     + 5;               # own tests
 
 
index c3e815c..08a98ac 100644 (file)
@@ -1091,6 +1091,8 @@ E23:NaN
 -1010E-2:NaN
 -1.01E+1:NaN
 -1.01E-1:NaN
+1E-999999:NaN
+0.5:NaN
 &bnan
 1:NaN
 2:NaN
@@ -1548,19 +1550,19 @@ NaNmul:-inf:NaN
 5:8:0,5
 0:8:0,0
 11:2:5,1
-11:-2:-5,-1
--11:2:-5,1
+11:-2:-6,-1
+-11:2:-6,1
 # see table in documentation in MBI
 0:inf:0,0
 0:-inf:0,0
 5:inf:0,5
-5:-inf:0,5
--5:inf:0,-5
+5:-inf:-1,-inf
+-5:inf:-1,inf
 -5:-inf:0,-5
-inf:5:inf,0
--inf:5:-inf,0
-inf:-5:-inf,0
--inf:-5:inf,0
+inf:5:inf,NaN
+-inf:5:-inf,NaN
+inf:-5:-inf,NaN
+-inf:-5:inf,NaN
 5:5:1,0
 -5:-5:1,0
 inf:inf:NaN,NaN
@@ -1572,7 +1574,7 @@ inf:0:inf,inf
 # exceptions to remainder rule
 -8:0:-inf,-8
 -inf:0:-inf,-inf
-0:0:NaN,NaN
+0:0:NaN,0
 # test the shortcut in Calc if @$x == @$yorg
 1234567812345678:123456712345678:10,688888898
 12345671234567:1234561234567:10,58888897
@@ -1615,8 +1617,8 @@ abc:1:NaN
 0:inf:0
 0:-inf:0
 5:inf:0
-5:-inf:0
--5:inf:0
+5:-inf:-1
+-5:inf:-1
 -5:-inf:0
 inf:5:inf
 -inf:5:-inf
@@ -1635,8 +1637,8 @@ inf:0:inf
 0:0:NaN
 11:2:5
 -11:-2:5
--11:2:-5
-11:-2:-5
+-11:2:-6
+11:-2:-6
 0:1:0
 0:-1:0
 1:1:1
@@ -1670,17 +1672,17 @@ inf:0:inf
 999999999999999:99999:10000100001
 +1111088889:99999:11111
 -5:-3:1
--5:3:-1
+-5:3:-2
 4:3:1
-4:-3:-1
+4:-3:-2
 1:3:0
-1:-3:0
+1:-3:-1
 -2:-3:0
--2:3:0
+-2:3:-1
 8:3:2
--8:3:-2
-14:-3:-4
--14:3:-4
+-8:3:-3
+14:-3:-5
+-14:3:-5
 -14:-3:4
 14:3:4
 # bug in Calc with '99999' vs $BASE-1
@@ -1774,7 +1776,7 @@ abc:abc:5:NaN
 5:5:abc:NaN
 5:abc:5:NaN
 abc:5:5:NaN
-3:5:0:NaN
+3:5:0:3
 # bmodpow Expected results
 0:0:2:1
 1:0:2:1
@@ -1940,13 +1942,13 @@ inf:5:13:NaN
 0:inf:0
 0:-inf:0
 5:inf:5
-5:-inf:5
--5:inf:-5
+5:-inf:-inf
+-5:inf:inf
 -5:-inf:-5
-inf:5:0
--inf:5:0
-inf:-5:0
--inf:-5:0
+inf:5:NaN
+-inf:5:NaN
+inf:-5:NaN
+-inf:-5:NaN
 5:5:0
 -5:-5:0
 inf:inf:NaN
@@ -1955,14 +1957,12 @@ inf:inf:NaN
 inf:-inf:NaN
 8:0:8
 inf:0:inf
-# exceptions to remainder rule
 -inf:0:-inf
 -8:0:-8
-0:0:NaN
+0:0:0
 abc:abc:NaN
 abc:1:abc:NaN
 1:abc:NaN
-0:0:NaN
 0:1:0
 1:0:1
 0:-1:0
@@ -2409,8 +2409,6 @@ inf:-inf:NaN
 15241:2:123
 144:2:12
 12:2:3
-0.49:2:0
-0.0049:2:0
 # invalid ones
 1:NaN:NaN
 -1:NaN:NaN
index 8f009ec..a03710e 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 3651 + 6;
+use Test::More tests => 3649 + 6;
 
 use Math::BigInt lib => 'Calc';
 
index b3f61ba..270689b 100644 (file)
@@ -18,10 +18,10 @@ use Math::BigFloat;
 use Math::BigInt::Subclass;
 use Math::BigFloat::Subclass;
 
-my @classes = 
-  qw/Math::BigInt Math::BigFloat
-     Math::BigInt::Subclass Math::BigFloat::Subclass
-    /;
+my @biclasses = 
+  qw/ Math::BigInt   Math::BigInt::Subclass /;
+my @bfclasses =
+  qw/ Math::BigFloat Math::BigFloat::Subclass /;
 
 my (@args,$x,$y,$z);
 
@@ -77,7 +77,7 @@ foreach (qw/
   /)
   {
   @args = split /:/,$_;
-  for my $class (@classes)
+  for my $class (@biclasses, @bfclasses)
     {
     $x = $class->new($args[0]);
     $y = $class->new($args[1]);
@@ -141,7 +141,7 @@ foreach (qw/
   /)
   {
   @args = split /:/,$_;
-  for my $class (@classes)
+  for my $class (@biclasses, @bfclasses)
     {
     $x = $class->new($args[0]);
     $y = $class->new($args[1]);
@@ -205,7 +205,7 @@ foreach (qw/
   /)
   {
   @args = split /:/,$_;
-  for my $class (@classes)
+  for my $class (@biclasses, @bfclasses)
     {
     $x = $class->new($args[0]);
     $y = $class->new($args[1]);
@@ -224,7 +224,7 @@ foreach (qw/
   -1:-inf:0
   -0:-inf:0
   0:-inf:-0
-  1:-inf:-0
+  1:-inf:-1
   inf:-inf:NaN
   NaN:-inf:NaN
 
@@ -253,7 +253,7 @@ foreach (qw/
   NaN:1:NaN
 
   -inf:inf:NaN
-  -1:inf:-0
+  -1:inf:-1
   -0:inf:-0
   0:inf:0
   1:inf:0
@@ -270,7 +270,7 @@ foreach (qw/
   /)
   {
   @args = split /:/,$_;
-  for my $class (@classes)
+  for my $class (@biclasses, @bfclasses)
     {
     $x = $class->new($args[0]);
     $y = $class->new($args[1]);
@@ -280,9 +280,11 @@ foreach (qw/
     my $tmod = $t->copy();
 
     # bdiv in scalar context
+    unless ($class =~ /^Math::BigFloat/) {
     my $r = $x->bdiv($y);
     is($x->bstr(),$args[2],"x $class $args[0] / $args[1]");
     is($r->bstr(),$args[2],"r $class $args[0] / $args[1]");
+    }
 
     # bmod and bdiv in list context
     my ($d,$rem) = $t->bdiv($y);
@@ -302,6 +304,75 @@ foreach (qw/
     }
   }
 
+# /
+foreach (qw/
+  -inf:-inf:NaN
+  -1:-inf:0
+  -0:-inf:0
+  0:-inf:-0
+  1:-inf:-0
+  inf:-inf:NaN
+  NaN:-inf:NaN
+
+  -inf:-1:inf
+  -1:-1:1
+  -0:-1:0
+  0:-1:-0
+  1:-1:-1
+  inf:-1:-inf
+  NaN:-1:NaN
+
+  -inf:0:-inf
+  -1:0:-inf
+  -0:0:NaN
+  0:0:NaN
+  1:0:inf
+  inf:0:inf
+  NaN:0:NaN
+
+  -inf:1:-inf
+  -1:1:-1
+  -0:1:-0
+  0:1:0
+  1:1:1
+  inf:1:inf
+  NaN:1:NaN
+
+  -inf:inf:NaN
+  -1:inf:-0
+  -0:inf:-0
+  0:inf:0
+  1:inf:0
+  inf:inf:NaN
+  NaN:inf:NaN
+
+  -inf:NaN:NaN
+  -1:NaN:NaN
+  -0:NaN:NaN
+  0:NaN:NaN
+  1:NaN:NaN
+  inf:NaN:NaN
+  NaN:NaN:NaN
+  /)
+  {
+  @args = split /:/,$_;
+  for my $class (@bfclasses)
+    {
+    $x = $class->new($args[0]);
+    $y = $class->new($args[1]);
+    $args[2] = '0' if $args[2] eq '-0';                # BigInt/Float hasn't got -0
+
+    my $t = $x->copy();
+    my $tmod = $t->copy();
+
+    # bdiv in scalar context
+    my $r = $x->bdiv($y);
+    is($x->bstr(),$args[2],"x $class $args[0] / $args[1]");
+    is($r->bstr(),$args[2],"r $class $args[0] / $args[1]");
+
+    }
+  }
+
 #############################################################################
 # overloaded comparisons
 
@@ -309,7 +380,7 @@ foreach (qw/
 # mind what NaN actually is, see [perl #33106].
 
 #
-#foreach my $c (@classes)
+#foreach my $c (@biclasses, @bfclasses)
 #  {
 #  my $x = $c->bnan();
 #  my $y = $c->bnan();         # test with two different objects, too
index 061b06a..fec4d07 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 2338
+use Test::More tests => 2340
     + 6;       # + our own tests
 
 
index e23389d..b8e0a02 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 3651
+use Test::More tests => 3649
     + 5;       # +5 own tests
 
 BEGIN { unshift @INC, 't'; }
index ef0a6ea..16ca05e 100644 (file)
@@ -841,19 +841,19 @@ NaNmul:-inf:NaN
 5:8:0,5
 0:8:0,0
 11:2:5,1
-11:-2:-5,-1
--11:2:-5,1
+11:-2:-6,-1
+-11:2:-6,1
 # see table in documentation in MBI
 0:inf:0,0
 0:-inf:0,0
 5:inf:0,5
-5:-inf:0,5
--5:inf:0,-5
+5:-inf:-1,-inf
+-5:inf:-1,inf
 -5:-inf:0,-5
-inf:5:inf,0
--inf:5:-inf,0
-inf:-5:-inf,0
--inf:-5:inf,0
+inf:5:inf,NaN
+-inf:5:-inf,NaN
+inf:-5:-inf,NaN
+-inf:-5:inf,NaN
 5:5:1,0
 -5:-5:1,0
 inf:inf:NaN,NaN
@@ -865,7 +865,7 @@ inf:0:inf,inf
 # exceptions to remainder rule
 -8:0:-inf,-8
 -inf:0:-inf,-inf
-0:0:NaN,NaN
+0:0:NaN,0
 &bdiv
 abc:abc:NaN
 abc:1:NaN
@@ -875,8 +875,8 @@ abc:1:NaN
 0:inf:0
 0:-inf:0
 5:inf:0
-5:-inf:0
--5:inf:0
+5:-inf:-1
+-5:inf:-1
 -5:-inf:0
 inf:5:inf
 -inf:5:-inf
@@ -892,7 +892,6 @@ inf:-inf:NaN
 inf:0:inf
 -8:0:-inf
 -inf:0:-inf
-0:0:NaN
 11:2:5.5^
 -11:-2:5.5^
 -11:2:-5.5^
@@ -950,13 +949,13 @@ inf:0:inf
 0:inf:0
 0:-inf:0
 5:inf:5
-5:-inf:5
--5:inf:-5
+5:-inf:-inf
+-5:inf:inf
 -5:-inf:-5
-inf:5:0
--inf:5:0
-inf:-5:0
--inf:-5:0
+inf:5:NaN
+-inf:5:NaN
+inf:-5:NaN
+-inf:-5:NaN
 5:5:0
 -5:-5:0
 inf:inf:NaN
@@ -965,14 +964,12 @@ inf:inf:NaN
 inf:-inf:NaN
 8:0:8
 inf:0:inf
-# exceptions to remainder rule
 -inf:0:-inf
 -8:0:-8
-0:0:NaN
+0:0:0
 abc:abc:NaN
 abc:1:abc:NaN
 1:abc:NaN
-0:0:NaN
 0:1:0
 1:0:1
 0:-1:0
index ab09f53..d209879 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 2128
+use Test::More tests => 2124
     + 2;                       # our own tests
 
 use Math::BigInt upgrade => 'Math::BigFloat';
index 6f5d72d..d90bbbc 100644 (file)
@@ -3,7 +3,7 @@
 # Test use Math::BigFloat with => 'Math::BigInt::SomeSubclass';
 
 use strict;
-use Test::More tests => 2338 + 1;
+use Test::More tests => 2340 + 1;
 
 use Math::BigFloat with => 'Math::BigInt::Subclass', lib => 'Calc';
 
index 7f5b867..e0c12b3 100644 (file)
@@ -24,7 +24,7 @@ use vars qw($VERSION @ISA $upgrade $downgrade
 
 @ISA = qw(Math::BigFloat);
 
-$VERSION = '0.2608';
+$VERSION = '0.260801';
 $VERSION = eval $VERSION;
 
 # inherit overload from Math::BigFloat, but disable the bitwise ops that don't
@@ -640,10 +640,81 @@ sub bdiv
     ($self,$x,$y,@r) = objectify(2,@_);
     }
 
-  return $self->_div_inf($x,$y)
-   if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero());
+  return $x if $x->modify('bdiv');
 
-  # x== 0 # also: or y == 1 or y == -1
+    my $wantarray = wantarray;          # call only once
+
+    # At least one argument is NaN. This is handled the same way as in
+    # Math::BigInt -> bdiv(). See the comments in the code implementing that
+    # method.
+
+    if ($x -> is_nan() || $y -> is_nan()) {
+        return $wantarray ? ($x -> bnan(), $self -> bnan()) : $x -> bnan();
+    }
+
+    # Divide by zero and modulo zero. This is handled the same way as in
+    # Math::BigInt -> bdiv(). See the comments in the code implementing that
+    # method.
+
+    if ($y -> is_zero()) {
+        my ($quo, $rem);
+        if ($wantarray) {
+            $rem = $x -> copy();
+        }
+        if ($x -> is_zero()) {
+            $quo = $x -> bnan();
+        } else {
+            $quo = $x -> binf($x -> {sign});
+        }
+        return $wantarray ? ($quo, $rem) : $quo;
+    }
+
+    # Numerator (dividend) is +/-inf. This is handled the same way as in
+    # Math::BigInt -> bdiv(). See the comments in the code implementing that
+    # method.
+
+    if ($x -> is_inf()) {
+        my ($quo, $rem);
+        $rem = $self -> bnan() if $wantarray;
+        if ($y -> is_inf()) {
+            $quo = $x -> bnan();
+        } else {
+            my $sign = $x -> bcmp(0) == $y -> bcmp(0) ? '+' : '-';
+            $quo = $x -> binf($sign);
+        }
+        return $wantarray ? ($quo, $rem) : $quo;
+    }
+
+  # Denominator (divisor) is +/-inf. This is handled the same way as in
+  # Math::BigFloat -> bdiv(). See the comments in the code implementing that
+  # method.
+
+  if ($y -> is_inf()) {
+      my ($quo, $rem);
+      if ($wantarray) {
+          if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) {
+              $rem = $x -> copy();
+              $quo = $x -> bzero();
+          } else {
+              $rem = $self -> binf($y -> {sign});
+              $quo = $x -> bone('-');
+          }
+          return ($quo, $rem);
+      } else {
+          if ($y -> is_inf()) {
+              if ($x -> is_nan() || $x -> is_inf()) {
+                  return $x -> bnan();
+              } else {
+                  return $x -> bzero();
+              }
+          }
+      }
+  }
+
+  # At this point, both the numerator and denominator are finite numbers, and
+  # the denominator (divisor) is non-zero.
+
+  # x == 0?
   return wantarray ? ($x,$self->bzero()) : $x if $x->is_zero();
 
   # XXX TODO: list context, upgrade
@@ -660,8 +731,17 @@ sub bdiv
   # compute new sign
   $x->{sign} = $x->{sign} eq $y->{sign} ? '+' : '-';
 
-  $x->bnorm()->round(@r);
-  $x;
+  $x -> bnorm();
+  if (wantarray) {
+      my $rem = $x -> copy();
+      $x -> bfloor();
+      $x -> round(@r);
+      $rem -> bsub($x -> copy()) -> bmul($y);
+      return $x, $rem;
+  } else {
+      $x -> round(@r);
+      return $x;
+  }
   }
 
 sub bmod
@@ -676,35 +756,49 @@ sub bmod
     ($self,$x,$y,@r) = objectify(2,@_);
     }
 
-  return $self->_div_inf($x,$y)
-   if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero());
+  return $x if $x->modify('bmod');
 
-  return $x if $x->is_zero();           # 0 / 7 = 0, mod 0
+    # At least one argument is NaN. This is handled the same way as in
+    # Math::BigInt -> bmod().
 
-  # compute $x - $y * floor($x/$y), keeping the sign of $x
+    if ($x -> is_nan() || $y -> is_nan()) {
+        return $x -> bnan();
+    }
 
-  # copy x to u, make it positive and then do a normal division ($u/$y)
-  my $u = bless { sign => '+' }, $self;
-  $u->{_n} = $MBI->_mul( $MBI->_copy($x->{_n}), $y->{_d} );
-  $u->{_d} = $MBI->_mul( $MBI->_copy($x->{_d}), $y->{_n} );
+    # Modulo zero. This is handled the same way as in Math::BigInt -> bmod().
 
-  # compute floor(u)
-  if (! $MBI->_is_one($u->{_d}))
-    {
-    $u->{_n} = $MBI->_div($u->{_n},$u->{_d});  # 22/7 => 3/1 w/ truncate
-    # no need to set $u->{_d} to 1, since below we set it to $y->{_d} anyway
+    if ($y -> is_zero()) {
+        return $x;
     }
 
-  # now compute $y * $u
-  $u->{_d} = $MBI->_copy($y->{_d});            # 1 * $y->{_d}, see floor above
-  $u->{_n} = $MBI->_mul($u->{_n},$y->{_n});
+    # Numerator (dividend) is +/-inf. This is handled the same way as in
+    # Math::BigInt -> bmod().
 
-  my $xsign = $x->{sign}; $x->{sign} = '+';    # remember sign and make x positive
-  # compute $x - $u
-  $x->bsub($u);
-  $x->{sign} = $xsign;                         # put sign back
+    if ($x -> is_inf()) {
+        return $x -> bnan();
+    }
 
-  $x->bnorm()->round(@r);
+    # Denominator (divisor) is +/-inf. This is handled the same way as in
+    # Math::BigInt -> bmod().
+
+    if ($y -> is_inf()) {
+        if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) {
+            return $x;
+        } else {
+            return $x -> binf($y -> sign());
+        }
+    }
+
+  # At this point, both the numerator and denominator are finite numbers, and
+  # the denominator (divisor) is non-zero.
+
+  return $x if $x->is_zero();           # 0 / 7 = 0, mod 0
+
+  # Compute $x - $y * floor($x/$y). This can probably be optimized by working
+  # on a lower level.
+
+  $x -> bsub($x -> copy() -> bdiv($y) -> bfloor() -> bmul($y));
+  return $x -> round(@r);
   }
 
 ##############################################################################
@@ -1796,12 +1890,12 @@ Are not yet implemented.
 
 =head2 bmod()
 
-       use Math::BigRat;
-       my $x = Math::BigRat->new('7/4');
-       my $y = Math::BigRat->new('4/3');
-       print $x->bmod($y);
+       $x->bmod($y);
 
-Set $x to the remainder of the division of $x by $y.
+Returns $x modulo $y. When $x is finite, and $y is finite and non-zero, the
+result is identical to the remainder after floored division (F-division). If,
+in addition, both $x and $y are integers, the result is identical to the result
+from Perl's % operator.
 
 =head2 bneg()
 
@@ -1883,9 +1977,45 @@ Calculate the square root of $x.
 
 Calculate the N'th root of $x.
 
-=head2 badd()/bmul()/bsub()/bdiv()/bdec()/binc()
+=head2 badd()
+
+        $x->badd($y);
+
+Adds $y to $x and returns the result.
+
+=head2 bmul()
+
+        $x->bmul($y);
+
+Multiplies $y to $x and returns the result.
+
+=head2 bsub()
+
+        $x->bsub($y);
+
+Subtracts $y from $x and returns the result.
+
+=head2 bdiv()
+
+        $q = $x->bdiv($y);
+        ($q, $r) = $x->bdiv($y);
+
+In scalar context, divides $x by $y and returns the result. In list context,
+does floored division (F-division), returning an integer $q and a remainder $r
+so that $x = $q * $y + $r. The remainer (modulo) is equal to what is returned
+by C<$x->bmod($y)>.
+
+=head2 bdec()
+
+        $x->bdec();
+
+Decrements $x by 1 and returns the result.
+
+=head2 binc()
+
+        $x->binc();
 
-Please see the documentation in L<Math::BigInt>.
+Increments $x by 1 and returns the result.
 
 =head2 copy()
 
@@ -2067,6 +2197,6 @@ L<Math::BigInt::FastCalc>, L<Math::BigInt::GMP>, and L<Math::BigInt::Pari>.
 
 (C) by Tels L<http://bloodgate.com/> 2001 - 2009.
 
-Currently maintained by Jonathan "Duke" Leto <jonathan@leto.net> L<http://leto.net>
+Currently maintained by Peter John Acklam <pjacklam@online.no>.
 
 =cut
index afddf0d..b2f507f 100644 (file)
@@ -100,7 +100,7 @@ while (<DATA>)
         $try .= '$x * $y;';
       } elsif ($f eq "bdiv") {
         $try .= "$setup; \$x / \$y;";
-      } elsif ($f eq "fdiv-list") {
+      } elsif ($f eq "bdiv-list") {
         $try .= "$setup; join(',',\$x->bdiv(\$y));";
       } elsif ($f eq "brsft") {
         $try .= '$x >> $y;';
@@ -250,8 +250,8 @@ NaN:1:NaN
 -7/4:-4/32:0
 7/4:-4/32:0
 7/4:4/28:1/28
--7/4:4/28:-1/28
-7/4:-4/28:1/28
+-7/4:4/28:3/28
+7/4:-4/28:-3/28
 -7/4:-4/28:-1/28
 &fsqrt
 1:1
@@ -565,6 +565,17 @@ NaNmul:-inf:NaN
 6:120:720
 10:10000:100000
 1/4:1/3:1/12
+&bdiv-list
+0:0:NaN,0
+0:1:0,0
+1:0:inf,1
+-1:0:-inf,-1
+9:4:2,1
+-9:4:-3,3
+9:-4:-3,-3
+-9:-4:2,-1
+11/7:2/3:2,5/21
+-11/7:2/3:-3,3/7
 &bdiv
 $div_scale = 40; $round_mode = 'even'
 abc:abc:NaN
index d0a499c..b3f550e 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 686;
+use Test::More tests => 696;
 
 use Math::BigRat lib => 'Calc';
 
index efdd625..ac160ba 100644 (file)
@@ -1,72 +1,3 @@
-5.20170114_22
-  - Updated for v5.22.3
-
-5.20161220
-  - Updated for v5.25.8
-
-5.20161120
-  - Updated for v5.25.7
-
-5.20161020
-  - Updated for v5.25.6
-
-5.20160920
-  - Updated for v5.25.5
-
-5.20160820
-  - Updated for v5.25.4
-
-5.20160720
-  - Updated for v5.25.3
-
-5.20160620
-  - Updated for v5.25.2
-
-5.20160520
- - fixed edge-case checking in is_core() (checking for a specific
-   version of a module returned false for the first perl release
-   that contained it)
- - Updated for v5.25.1
-
-5.20160429
- - Updated for v5.22.2
-
-5.20160320
- - Updated for v5.23.9
-
-5.20160228
-  - [perl #127624] corelist: wrong Digest::SHA version in 5.18.4
-
-5.20160220
-  - Updated for v5.23.8
-
-5.20160120
-  - Updated for v5.23.7
-
-5.20151220
-  - Updated for v5.23.6
-
-5.20151213
-  - Updated for v5.22.1
-
-5.20151120
-  - Updated for v5.23.5
-
-5.20151020
-  - Updated for v5.23.4
-
-5.20150920
-  - Updated for v5.23.3
-
-5.20150912
-  - Updated for v5.20.3
-
-5.20150820
-  - Updated for v5.23.2
-
-5.20150720
-  - Updated for v5.23.1
-
 5.20150520
   - Updated for v5.22.0
 
index bbe61cc..aa4a945 100644 (file)
@@ -130,7 +130,6 @@ requested perl versions.
 
 =cut
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use Module::CoreList;
 use Getopt::Long qw(:config no_ignore_case);
 use Pod::Usage;
index a38e9f5..8b37b18 100644 (file)
@@ -4,7 +4,7 @@ use vars qw/$VERSION %released %version %families %upstream
            %bug_tracker %deprecated %delta/;
 use Module::CoreList::TieHashDelta;
 use version;
-$VERSION = '5.20170114_22';
+$VERSION = '5.20150620';
 
 sub _released_order {   # Sort helper, to make '?' sort after everything else
     (substr($released{$a}, 0, 1) eq "?")
@@ -74,12 +74,9 @@ sub find_modules {
 
 sub find_version {
     my $v = shift;
-    if ($v->isa(__PACKAGE__)) {
-        $v = shift;
-        return if not defined $v;
-    }
+    $v = shift if eval { $v->isa(__PACKAGE__) };
     return $version{$v} if defined $version{$v};
-    return;
+    return undef;
 }
 
 sub is_deprecated {
@@ -279,30 +276,7 @@ sub changes_between {
     5.021010 => '2015-03-20',
     5.021011 => '2015-04-20',
     5.022000 => '2015-06-01',
-    5.023000 => '2015-06-20',
-    5.023001 => '2015-07-20',
-    5.023002 => '2015-08-20',
-    5.020003 => '2015-09-12',
-    5.023003 => '2015-09-20',
-    5.023004 => '2015-10-20',
-    5.023005 => '2015-11-20',
-    5.022001 => '2015-12-13',
-    5.023006 => '2015-12-21',
-    5.023007 => '2016-01-20',
-    5.023008 => '2016-02-20',
-    5.023009 => '2016-03-20',
-    5.022002 => '2016-04-29',
-    5.024000 => '2016-05-09',
-    5.025000 => '2016-05-09',
-    5.025001 => '2016-05-20',
-    5.025002 => '2016-06-20',
-    5.025003 => '2016-07-20',
-    5.025004 => '2016-08-20',
-    5.025005 => '2016-09-20',
-    5.025006 => '2016-10-20',
-    5.025007 => '2016-11-20',
-    5.025008 => '2016-12-20',
-    5.022003 => '2017-01-14',
+    5.023000 => '????-??-??',
   );
 
 for my $version ( sort { $a <=> $b } keys %released ) {
@@ -8131,8 +8105,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
     5.018003 => {
         delta_from => 5.018002,
         changed => {
-            'Config'                => '5.018003',
-            'Digest::SHA'           => '5.84_02',
             'Module::CoreList'      => '3.12',
             'Module::CoreList::TieHashDelta'=> '3.12',
             'Module::CoreList::Utils'=> '3.12',
@@ -8141,7 +8113,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
     5.018004 => {
         delta_from => 5.018003,
         changed => {
-            'Config'                => '5.018004',
             'Module::CoreList'      => '3.13',
             'Module::CoreList::TieHashDelta'=> '3.13',
             'Module::CoreList::Utils'=> '3.13',
@@ -9920,6 +9891,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
             'Module::Build::Version'=> 1,
             'Module::Build::YAML'   => 1,
             'Package::Constants'    => 1,
+            'Simple'                => 1,
             'inc::latest'           => 1,
         }
     },
@@ -10018,6 +9990,9 @@ for my $version ( sort { $a <=> $b } keys %released ) {
             'Module::CoreList::TieHashDelta'=> '5.021001_01',
             'Module::CoreList::Utils'=> '5.021001_01',
             'Module::Metadata'      => '1.000024',
+            'Module::Metadata::corpus::BOMTest::UTF16BE'=> undef,
+            'Module::Metadata::corpus::BOMTest::UTF16LE'=> undef,
+            'Module::Metadata::corpus::BOMTest::UTF8'=> '1',
             'NDBM_File'             => '1.13',
             'Net::Config'           => '1.14',
             'Net::SMTP'             => '2.34',
@@ -11608,2086 +11583,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
         removed => {
         }
     },
-    5.023001 => {
-        delta_from => 5.023000,
-        changed => {
-            'B::Op_private'         => '5.023001',
-            'Config'                => '5.023001',
-            'DynaLoader'            => '1.33',
-            'Encode'                => '2.75',
-            'Encode::MIME::Header'  => '2.17',
-            'Encode::Unicode'       => '2.13',
-            'Fatal'                 => '2.29',
-            'File::Path'            => '2.11',
-            'Getopt::Long'          => '2.47',
-            'I18N::Langinfo'        => '0.13',
-            'IPC::Open3'            => '1.19',
-            'Module::CoreList'      => '5.20150720',
-            'Module::CoreList::TieHashDelta'=> '5.20150720',
-            'Module::CoreList::Utils'=> '5.20150720',
-            'Net::Cmd'              => '3.07',
-            'Net::Config'           => '3.07',
-            'Net::Domain'           => '3.07',
-            'Net::FTP'              => '3.07',
-            'Net::FTP::A'           => '3.07',
-            'Net::FTP::E'           => '3.07',
-            'Net::FTP::I'           => '3.07',
-            'Net::FTP::L'           => '3.07',
-            'Net::FTP::dataconn'    => '3.07',
-            'Net::NNTP'             => '3.07',
-            'Net::Netrc'            => '3.07',
-            'Net::POP3'             => '3.07',
-            'Net::SMTP'             => '3.07',
-            'Net::Time'             => '3.07',
-            'Opcode'                => '1.33',
-            'POSIX'                 => '1.55',
-            'PerlIO::scalar'        => '0.23',
-            'Socket'                => '2.020',
-            'Storable'              => '2.54',
-            'Unicode::Collate'      => '1.14',
-            'Unicode::Collate::CJK::Big5'=> '1.14',
-            'Unicode::Collate::CJK::GB2312'=> '1.14',
-            'Unicode::Collate::CJK::JISX0208'=> '1.14',
-            'Unicode::Collate::CJK::Korean'=> '1.14',
-            'Unicode::Collate::CJK::Pinyin'=> '1.14',
-            'Unicode::Collate::CJK::Stroke'=> '1.14',
-            'Unicode::Collate::CJK::Zhuyin'=> '1.14',
-            'Unicode::Collate::Locale'=> '1.14',
-            'Unicode::Normalize'    => '1.19',
-            'XS::APItest'           => '0.74',
-            'XS::Typemap'           => '0.14',
-            'autodie'               => '2.29',
-            'autodie::Scope::Guard' => '2.29',
-            'autodie::Scope::GuardStack'=> '2.29',
-            'autodie::Util'         => '2.29',
-            'autodie::exception'    => '2.29',
-            'autodie::exception::system'=> '2.29',
-            'autodie::hints'        => '2.29',
-            'autodie::skip'         => '2.29',
-            'encoding'              => '2.16',
-            'feature'               => '1.42',
-            'warnings'              => '1.33',
-        },
-        removed => {
-            'autodie::ScopeUtil'    => 1,
-        }
-    },
-    5.023002 => {
-        delta_from => 5.023001,
-        changed => {
-            'Attribute::Handlers'   => '0.99',
-            'B::Op_private'         => '5.023002',
-            'CPAN::Meta::YAML'      => '0.017',
-            'Config'                => '5.023002',
-            'Cwd'                   => '3.57',
-            'Encode'                => '2.76',
-            'ExtUtils::ParseXS'     => '3.29',
-            'ExtUtils::ParseXS::Constants'=> '3.29',
-            'ExtUtils::ParseXS::CountLines'=> '3.29',
-            'ExtUtils::ParseXS::Eval'=> '3.29',
-            'ExtUtils::ParseXS::Utilities'=> '3.29',
-            'ExtUtils::Typemaps'    => '3.29',
-            'File::Find'            => '1.30',
-            'File::Spec'            => '3.57',
-            'File::Spec::Cygwin'    => '3.57',
-            'File::Spec::Epoc'      => '3.57',
-            'File::Spec::Functions' => '3.57',
-            'File::Spec::Mac'       => '3.57',
-            'File::Spec::OS2'       => '3.57',
-            'File::Spec::Unix'      => '3.57',
-            'File::Spec::VMS'       => '3.57',
-            'File::Spec::Win32'     => '3.57',
-            'Filter::Util::Call'    => '1.55',
-            'Hash::Util'            => '0.19',
-            'Module::CoreList'      => '5.20150820',
-            'Module::CoreList::TieHashDelta'=> '5.20150820',
-            'Module::CoreList::Utils'=> '5.20150820',
-            'POSIX'                 => '1.56',
-            'Term::Cap'             => '1.17',
-            'Unicode::UCD'          => '0.62',
-            'perlfaq'               => '5.021010',
-        },
-        removed => {
-        }
-    },
-    5.020003 => {
-        delta_from => 5.020002,
-        changed => {
-            'Config'                => '5.020003',
-            'Errno'                 => '1.20_06',
-            'Module::CoreList'      => '5.20150912',
-            'Module::CoreList::TieHashDelta'=> '5.20150912',
-            'Module::CoreList::Utils'=> '5.20150912',
-        },
-        removed => {
-        }
-    },
-    5.023003 => {
-        delta_from => 5.023002,
-        changed => {
-            'Amiga::ARexx'          => '0.02',
-            'Amiga::Exec'           => '0.01',
-            'B'                     => '1.59',
-            'B::Op_private'         => '5.023003',
-            'Carp'                  => '1.37',
-            'Carp::Heavy'           => '1.37',
-            'Compress::Raw::Zlib'   => '2.068_01',
-            'Config'                => '5.023003',
-            'Cwd'                   => '3.58',
-            'DynaLoader'            => '1.34',
-            'Encode'                => '2.77',
-            'Encode::Unicode'       => '2.14',
-            'English'               => '1.10',
-            'Errno'                 => '1.24',
-            'ExtUtils::Command'     => '7.10',
-            'ExtUtils::Command::MM' => '7.10',
-            'ExtUtils::Liblist'     => '7.10',
-            'ExtUtils::Liblist::Kid'=> '7.10',
-            'ExtUtils::MM'          => '7.10',
-            'ExtUtils::MM_AIX'      => '7.10',
-            'ExtUtils::MM_Any'      => '7.10',
-            'ExtUtils::MM_BeOS'     => '7.10',
-            'ExtUtils::MM_Cygwin'   => '7.10',
-            'ExtUtils::MM_DOS'      => '7.10',
-            'ExtUtils::MM_Darwin'   => '7.10',
-            'ExtUtils::MM_MacOS'    => '7.10',
-            'ExtUtils::MM_NW5'      => '7.10',
-            'ExtUtils::MM_OS2'      => '7.10',
-            'ExtUtils::MM_QNX'      => '7.10',
-            'ExtUtils::MM_UWIN'     => '7.10',
-            'ExtUtils::MM_Unix'     => '7.10',
-            'ExtUtils::MM_VMS'      => '7.10',
-            'ExtUtils::MM_VOS'      => '7.10',
-            'ExtUtils::MM_Win32'    => '7.10',
-            'ExtUtils::MM_Win95'    => '7.10',
-            'ExtUtils::MY'          => '7.10',
-            'ExtUtils::MakeMaker'   => '7.10',
-            'ExtUtils::MakeMaker::Config'=> '7.10',
-            'ExtUtils::MakeMaker::Locale'=> '7.10',
-            'ExtUtils::MakeMaker::version'=> '7.10',
-            'ExtUtils::MakeMaker::version::regex'=> '7.10',
-            'ExtUtils::MakeMaker::version::vpp'=> '7.10',
-            'ExtUtils::Mkbootstrap' => '7.10',
-            'ExtUtils::Mksymlists'  => '7.10',
-            'ExtUtils::ParseXS'     => '3.30',
-            'ExtUtils::ParseXS::Constants'=> '3.30',
-            'ExtUtils::ParseXS::CountLines'=> '3.30',
-            'ExtUtils::ParseXS::Eval'=> '3.30',
-            'ExtUtils::ParseXS::Utilities'=> '3.30',
-            'ExtUtils::Typemaps'    => '3.30',
-            'ExtUtils::Typemaps::Cmd'=> '3.30',
-            'ExtUtils::Typemaps::InputMap'=> '3.30',
-            'ExtUtils::Typemaps::OutputMap'=> '3.30',
-            'ExtUtils::Typemaps::Type'=> '3.30',
-            'ExtUtils::testlib'     => '7.10',
-            'File::Find'            => '1.31',
-            'File::Glob'            => '1.25',
-            'File::Spec'            => '3.58',
-            'File::Spec::AmigaOS'   => '3.58',
-            'File::Spec::Cygwin'    => '3.58',
-            'File::Spec::Epoc'      => '3.58',
-            'File::Spec::Functions' => '3.58',
-            'File::Spec::Mac'       => '3.58',
-            'File::Spec::OS2'       => '3.58',
-            'File::Spec::Unix'      => '3.58',
-            'File::Spec::VMS'       => '3.58',
-            'File::Spec::Win32'     => '3.58',
-            'Hash::Util::FieldHash' => '1.17',
-            'Locale::Codes'         => '3.36',
-            'Locale::Codes::Constants'=> '3.36',
-            'Locale::Codes::Country'=> '3.36',
-            'Locale::Codes::Country_Codes'=> '3.36',
-            'Locale::Codes::Country_Retired'=> '3.36',
-            'Locale::Codes::Currency'=> '3.36',
-            'Locale::Codes::Currency_Codes'=> '3.36',
-            'Locale::Codes::Currency_Retired'=> '3.36',
-            'Locale::Codes::LangExt'=> '3.36',
-            'Locale::Codes::LangExt_Codes'=> '3.36',
-            'Locale::Codes::LangExt_Retired'=> '3.36',
-            'Locale::Codes::LangFam'=> '3.36',
-            'Locale::Codes::LangFam_Codes'=> '3.36',
-            'Locale::Codes::LangFam_Retired'=> '3.36',
-            'Locale::Codes::LangVar'=> '3.36',
-            'Locale::Codes::LangVar_Codes'=> '3.36',
-            'Locale::Codes::LangVar_Retired'=> '3.36',
-            'Locale::Codes::Language'=> '3.36',
-            'Locale::Codes::Language_Codes'=> '3.36',
-            'Locale::Codes::Language_Retired'=> '3.36',
-            'Locale::Codes::Script' => '3.36',
-            'Locale::Codes::Script_Codes'=> '3.36',
-            'Locale::Codes::Script_Retired'=> '3.36',
-            'Locale::Country'       => '3.36',
-            'Locale::Currency'      => '3.36',
-            'Locale::Language'      => '3.36',
-            'Locale::Script'        => '3.36',
-            'Math::BigFloat::Trace' => '0.40',
-            'Math::BigInt::Trace'   => '0.40',
-            'Module::CoreList'      => '5.20150920',
-            'Module::CoreList::TieHashDelta'=> '5.20150920',
-            'Module::CoreList::Utils'=> '5.20150920',
-            'OS2::DLL'              => '1.06',
-            'OS2::ExtAttr'          => '0.04',
-            'OS2::Process'          => '1.11',
-            'OS2::REXX'             => '1.05',
-            'POSIX'                 => '1.57',
-            'Pod::Perldoc'          => '3.25_01',
-            'Socket'                => '2.020_01',
-            'Test'                  => '1.27',
-            'Thread::Queue'         => '3.06',
-            'Time::HiRes'           => '1.9727_02',
-            'Unicode::UCD'          => '0.63',
-            'Win32'                 => '0.52',
-            'XS::APItest'           => '0.75',
-            'bigint'                => '0.40',
-            'bignum'                => '0.40',
-            'bigrat'                => '0.40',
-            'encoding'              => '2.17',
-            'experimental'          => '0.014',
-            'if'                    => '0.0605',
-            'locale'                => '1.07',
-            'mro'                   => '1.18',
-            'threads'               => '2.03',
-        },
-        removed => {
-        }
-    },
-    5.023004 => {
-        delta_from => 5.023003,
-        changed => {
-            'B'                     => '1.60',
-            'B::Op_private'         => '5.023004',
-            'Compress::Raw::Bzip2'  => '2.069',
-            'Compress::Raw::Zlib'   => '2.069',
-            'Compress::Zlib'        => '2.069',
-            'Config'                => '5.023004',
-            'Devel::PPPort'         => '3.32',
-            'DynaLoader'            => '1.35',
-            'Encode'                => '2.78',
-            'ExtUtils::CBuilder'    => '0.280224',
-            'ExtUtils::CBuilder::Base'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::Unix'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::VMS'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::Windows'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::aix'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::android'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::darwin'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280224',
-            'ExtUtils::CBuilder::Platform::os2'=> '0.280224',
-            'File::Path'            => '2.12',
-            'IO'                    => '1.36',
-            'IO::Compress::Adapter::Bzip2'=> '2.069',
-            'IO::Compress::Adapter::Deflate'=> '2.069',
-            'IO::Compress::Adapter::Identity'=> '2.069',
-            'IO::Compress::Base'    => '2.069',
-            'IO::Compress::Base::Common'=> '2.069',
-            'IO::Compress::Bzip2'   => '2.069',
-            'IO::Compress::Deflate' => '2.069',
-            'IO::Compress::Gzip'    => '2.069',
-            'IO::Compress::Gzip::Constants'=> '2.069',
-            'IO::Compress::RawDeflate'=> '2.069',
-            'IO::Compress::Zip'     => '2.069',
-            'IO::Compress::Zip::Constants'=> '2.069',
-            'IO::Compress::Zlib::Constants'=> '2.069',
-            'IO::Compress::Zlib::Extra'=> '2.069',
-            'IO::Poll'              => '0.10',
-            'IO::Uncompress::Adapter::Bunzip2'=> '2.069',
-            'IO::Uncompress::Adapter::Identity'=> '2.069',
-            'IO::Uncompress::Adapter::Inflate'=> '2.069',
-            'IO::Uncompress::AnyInflate'=> '2.069',
-            'IO::Uncompress::AnyUncompress'=> '2.069',
-            'IO::Uncompress::Base'  => '2.069',
-            'IO::Uncompress::Bunzip2'=> '2.069',
-            'IO::Uncompress::Gunzip'=> '2.069',
-            'IO::Uncompress::Inflate'=> '2.069',
-            'IO::Uncompress::RawInflate'=> '2.069',
-            'IO::Uncompress::Unzip' => '2.069',
-            'Math::BigFloat'        => '1.999704',
-            'Math::BigFloat::Trace' => '0.41',
-            'Math::BigInt'          => '1.999704',
-            'Math::BigInt::Calc'    => '1.999704',
-            'Math::BigInt::CalcEmu' => '1.999704',
-            'Math::BigInt::FastCalc'=> '0.34',
-            'Math::BigInt::Trace'   => '0.41',
-            'Module::CoreList'      => '5.20151020',
-            'Module::CoreList::TieHashDelta'=> '5.20151020',
-            'Module::CoreList::Utils'=> '5.20151020',
-            'Module::Metadata'      => '1.000029',
-            'POSIX'                 => '1.58',
-            'Perl::OSType'          => '1.009',
-            'PerlIO::encoding'      => '0.22',
-            'Socket'                => '2.020_02',
-            'Unicode::Normalize'    => '1.21',
-            'XS::APItest'           => '0.76',
-            'bigint'                => '0.41',
-            'bignum'                => '0.41',
-            'bigrat'                => '0.41',
-            'experimental'          => '0.016',
-            'if'                    => '0.0606',
-            'warnings'              => '1.35',
-        },
-        removed => {
-        }
-    },
-    5.023005 => {
-        delta_from => 5.023004,
-        changed => {
-            'B'                     => '1.61',
-            'B::Op_private'         => '5.023005',
-            'Carp'                  => '1.38',
-            'Carp::Heavy'           => '1.38',
-            'Config'                => '5.023005',
-            'Config::Perl::V'       => '0.25',
-            'Cwd'                   => '3.59',
-            'Devel::Peek'           => '1.23',
-            'Dumpvalue'             => '1.18',
-            'DynaLoader'            => '1.36',
-            'File::Find'            => '1.32',
-            'File::Spec'            => '3.59',
-            'File::Spec::AmigaOS'   => '3.59',
-            'File::Spec::Cygwin'    => '3.59',
-            'File::Spec::Epoc'      => '3.59',
-            'File::Spec::Functions' => '3.59',
-            'File::Spec::Mac'       => '3.59',
-            'File::Spec::OS2'       => '3.59',
-            'File::Spec::Unix'      => '3.59',
-            'File::Spec::VMS'       => '3.59',
-            'File::Spec::Win32'     => '3.59',
-            'Getopt::Long'          => '2.48',
-            'Hash::Util::FieldHash' => '1.18',
-            'IPC::Open3'            => '1.20',
-            'Math::BigFloat'        => '1.999710',
-            'Math::BigInt'          => '1.999710',
-            'Math::BigInt::Calc'    => '1.999710',
-            'Math::BigInt::CalcEmu' => '1.999710',
-            'Math::BigInt::FastCalc'=> '0.37',
-            'Module::CoreList'      => '5.20151120',
-            'Module::CoreList::TieHashDelta'=> '5.20151120',
-            'Module::CoreList::Utils'=> '5.20151120',
-            'Module::Metadata'      => '1.000030',
-            'POSIX'                 => '1.59',
-            'PerlIO::encoding'      => '0.23',
-            'PerlIO::mmap'          => '0.015',
-            'PerlIO::scalar'        => '0.24',
-            'PerlIO::via'           => '0.16',
-            'Pod::Simple'           => '3.32',
-            'Pod::Simple::BlackBox' => '3.32',
-            'Pod::Simple::Checker'  => '3.32',
-            'Pod::Simple::Debug'    => '3.32',
-            'Pod::Simple::DumpAsText'=> '3.32',
-            'Pod::Simple::DumpAsXML'=> '3.32',
-            'Pod::Simple::HTML'     => '3.32',
-            'Pod::Simple::HTMLBatch'=> '3.32',
-            'Pod::Simple::LinkSection'=> '3.32',
-            'Pod::Simple::Methody'  => '3.32',
-            'Pod::Simple::Progress' => '3.32',
-            'Pod::Simple::PullParser'=> '3.32',
-            'Pod::Simple::PullParserEndToken'=> '3.32',
-            'Pod::Simple::PullParserStartToken'=> '3.32',
-            'Pod::Simple::PullParserTextToken'=> '3.32',
-            'Pod::Simple::PullParserToken'=> '3.32',
-            'Pod::Simple::RTF'      => '3.32',
-            'Pod::Simple::Search'   => '3.32',
-            'Pod::Simple::SimpleTree'=> '3.32',
-            'Pod::Simple::Text'     => '3.32',
-            'Pod::Simple::TextContent'=> '3.32',
-            'Pod::Simple::TiedOutFH'=> '3.32',
-            'Pod::Simple::Transcode'=> '3.32',
-            'Pod::Simple::TranscodeDumb'=> '3.32',
-            'Pod::Simple::TranscodeSmart'=> '3.32',
-            'Pod::Simple::XHTML'    => '3.32',
-            'Pod::Simple::XMLOutStream'=> '3.32',
-            'Thread::Queue'         => '3.07',
-            'Tie::Scalar'           => '1.04',
-            'Time::HiRes'           => '1.9728',
-            'Time::Piece'           => '1.31',
-            'Time::Seconds'         => '1.31',
-            'Unicode::Normalize'    => '1.23',
-            'XSLoader'              => '0.21',
-            'arybase'               => '0.11',
-            'base'                  => '2.22_01',
-            'fields'                => '2.22_01',
-            'threads'               => '2.04',
-            'threads::shared'       => '1.49',
-        },
-        removed => {
-            'ExtUtils::MakeMaker::version::vpp'=> 1,
-            'version::vpp'          => 1,
-        }
-    },
-    5.022001 => {
-        delta_from => 5.022,
-        changed => {
-            'B::Op_private'         => '5.022001',
-            'Config'                => '5.022001',
-            'Module::CoreList'      => '5.20151213',
-            'Module::CoreList::TieHashDelta'=> '5.20151213',
-            'Module::CoreList::Utils'=> '5.20151213',
-            'POSIX'                 => '1.53_01',
-            'PerlIO::scalar'        => '0.23',
-            'Storable'              => '2.53_01',
-            'Win32'                 => '0.52',
-            'warnings'              => '1.34',
-        },
-        removed => {
-        }
-    },
-    5.023006 => {
-        delta_from => 5.023005,
-        changed => {
-            'B::Deparse'            => '1.36',
-            'B::Op_private'         => '5.023006',
-            'Benchmark'             => '1.21',
-            'CPAN::Meta::Requirements'=> '2.140',
-            'CPAN::Meta::YAML'      => '0.018',
-            'Config'                => '5.023006',
-            'Cwd'                   => '3.60',
-            'Data::Dumper'          => '2.159',
-            'DynaLoader'            => '1.37',
-            'File::Spec'            => '3.60',
-            'File::Spec::AmigaOS'   => '3.60',
-            'File::Spec::Cygwin'    => '3.60',
-            'File::Spec::Epoc'      => '3.60',
-            'File::Spec::Functions' => '3.60',
-            'File::Spec::Mac'       => '3.60',
-            'File::Spec::OS2'       => '3.60',
-            'File::Spec::Unix'      => '3.60',
-            'File::Spec::VMS'       => '3.60',
-            'File::Spec::Win32'     => '3.60',
-            'Hash::Util::FieldHash' => '1.19',
-            'Locale::Codes'         => '3.37',
-            'Locale::Codes::Constants'=> '3.37',
-            'Locale::Codes::Country'=> '3.37',
-            'Locale::Codes::Country_Codes'=> '3.37',
-            'Locale::Codes::Country_Retired'=> '3.37',
-            'Locale::Codes::Currency'=> '3.37',
-            'Locale::Codes::Currency_Codes'=> '3.37',
-            'Locale::Codes::Currency_Retired'=> '3.37',
-            'Locale::Codes::LangExt'=> '3.37',
-            'Locale::Codes::LangExt_Codes'=> '3.37',
-            'Locale::Codes::LangExt_Retired'=> '3.37',
-            'Locale::Codes::LangFam'=> '3.37',
-            'Locale::Codes::LangFam_Codes'=> '3.37',
-            'Locale::Codes::LangFam_Retired'=> '3.37',
-            'Locale::Codes::LangVar'=> '3.37',
-            'Locale::Codes::LangVar_Codes'=> '3.37',
-            'Locale::Codes::LangVar_Retired'=> '3.37',
-            'Locale::Codes::Language'=> '3.37',
-            'Locale::Codes::Language_Codes'=> '3.37',
-            'Locale::Codes::Language_Retired'=> '3.37',
-            'Locale::Codes::Script' => '3.37',
-            'Locale::Codes::Script_Codes'=> '3.37',
-            'Locale::Codes::Script_Retired'=> '3.37',
-            'Locale::Country'       => '3.37',
-            'Locale::Currency'      => '3.37',
-            'Locale::Language'      => '3.37',
-            'Locale::Script'        => '3.37',
-            'Math::BigInt::FastCalc'=> '0.38',
-            'Module::CoreList'      => '5.20151220',
-            'Module::CoreList::TieHashDelta'=> '5.20151220',
-            'Module::CoreList::Utils'=> '5.20151220',
-            'Module::Metadata'      => '1.000031',
-            'Opcode'                => '1.34',
-            'PerlIO::mmap'          => '0.016',
-            'Pod::Perldoc'          => '3.25_02',
-            'SDBM_File'             => '1.14',
-            'Term::ANSIColor'       => '4.04',
-            'Test'                  => '1.28',
-            'Unicode::Normalize'    => '1.24',
-            'XS::APItest'           => '0.77',
-            'base'                  => '2.23',
-            'encoding::warnings'    => '0.12',
-            'fields'                => '2.23',
-            'locale'                => '1.08',
-            'strict'                => '1.10',
-            'threads'               => '2.05',
-            'threads::shared'       => '1.50',
-            'utf8'                  => '1.18',
-        },
-        removed => {
-        }
-    },
-    5.023007 => {
-        delta_from => 5.023006,
-        changed => {
-            'App::Prove'            => '3.36',
-            'App::Prove::State'     => '3.36',
-            'App::Prove::State::Result'=> '3.36',
-            'App::Prove::State::Result::Test'=> '3.36',
-            'B'                     => '1.62',
-            'B::Deparse'            => '1.37',
-            'B::Op_private'         => '5.023007',
-            'Benchmark'             => '1.22',
-            'Config'                => '5.023007',
-            'Cwd'                   => '3.62',
-            'Data::Dumper'          => '2.160',
-            'ExtUtils::ParseXS'     => '3.31',
-            'ExtUtils::ParseXS::Constants'=> '3.31',
-            'ExtUtils::ParseXS::CountLines'=> '3.31',
-            'ExtUtils::ParseXS::Eval'=> '3.31',
-            'ExtUtils::ParseXS::Utilities'=> '3.31',
-            'ExtUtils::Typemaps'    => '3.31',
-            'ExtUtils::Typemaps::Cmd'=> '3.31',
-            'ExtUtils::Typemaps::InputMap'=> '3.31',
-            'ExtUtils::Typemaps::OutputMap'=> '3.31',
-            'ExtUtils::Typemaps::Type'=> '3.31',
-            'File::Find'            => '1.33',
-            'File::Spec'            => '3.62',
-            'File::Spec::AmigaOS'   => '3.62',
-            'File::Spec::Cygwin'    => '3.62',
-            'File::Spec::Epoc'      => '3.62',
-            'File::Spec::Functions' => '3.62',
-            'File::Spec::Mac'       => '3.62',
-            'File::Spec::OS2'       => '3.62',
-            'File::Spec::Unix'      => '3.62',
-            'File::Spec::VMS'       => '3.62',
-            'File::Spec::Win32'     => '3.62',
-            'Math::BigFloat'        => '1.999715',
-            'Math::BigFloat::Trace' => '0.42',
-            'Math::BigInt'          => '1.999715',
-            'Math::BigInt::Calc'    => '1.999715',
-            'Math::BigInt::CalcEmu' => '1.999715',
-            'Math::BigInt::FastCalc'=> '0.40',
-            'Math::BigInt::Trace'   => '0.42',
-            'Math::BigRat'          => '0.260802',
-            'Module::CoreList'      => '5.20160120',
-            'Module::CoreList::TieHashDelta'=> '5.20160120',
-            'Module::CoreList::Utils'=> '5.20160120',
-            'Net::Cmd'              => '3.08',
-            'Net::Config'           => '3.08',
-            'Net::Domain'           => '3.08',
-            'Net::FTP'              => '3.08',
-            'Net::FTP::A'           => '3.08',
-            'Net::FTP::E'           => '3.08',
-            'Net::FTP::I'           => '3.08',
-            'Net::FTP::L'           => '3.08',
-            'Net::FTP::dataconn'    => '3.08',
-            'Net::NNTP'             => '3.08',
-            'Net::Netrc'            => '3.08',
-            'Net::POP3'             => '3.08',
-            'Net::SMTP'             => '3.08',
-            'Net::Time'             => '3.08',
-            'Pod::Man'              => '4.04',
-            'Pod::ParseLink'        => '4.04',
-            'Pod::Text'             => '4.04',
-            'Pod::Text::Color'      => '4.04',
-            'Pod::Text::Overstrike' => '4.04',
-            'Pod::Text::Termcap'    => '4.04',
-            'Pod::Usage'            => '1.68',
-            'TAP::Base'             => '3.36',
-            'TAP::Formatter::Base'  => '3.36',
-            'TAP::Formatter::Color' => '3.36',
-            'TAP::Formatter::Console'=> '3.36',
-            'TAP::Formatter::Console::ParallelSession'=> '3.36',
-            'TAP::Formatter::Console::Session'=> '3.36',
-            'TAP::Formatter::File'  => '3.36',
-            'TAP::Formatter::File::Session'=> '3.36',
-            'TAP::Formatter::Session'=> '3.36',
-            'TAP::Harness'          => '3.36',
-            'TAP::Harness::Env'     => '3.36',
-            'TAP::Object'           => '3.36',
-            'TAP::Parser'           => '3.36',
-            'TAP::Parser::Aggregator'=> '3.36',
-            'TAP::Parser::Grammar'  => '3.36',
-            'TAP::Parser::Iterator' => '3.36',
-            'TAP::Parser::Iterator::Array'=> '3.36',
-            'TAP::Parser::Iterator::Process'=> '3.36',
-            'TAP::Parser::Iterator::Stream'=> '3.36',
-            'TAP::Parser::IteratorFactory'=> '3.36',
-            'TAP::Parser::Multiplexer'=> '3.36',
-            'TAP::Parser::Result'   => '3.36',
-            'TAP::Parser::Result::Bailout'=> '3.36',
-            'TAP::Parser::Result::Comment'=> '3.36',
-            'TAP::Parser::Result::Plan'=> '3.36',
-            'TAP::Parser::Result::Pragma'=> '3.36',
-            'TAP::Parser::Result::Test'=> '3.36',
-            'TAP::Parser::Result::Unknown'=> '3.36',
-            'TAP::Parser::Result::Version'=> '3.36',
-            'TAP::Parser::Result::YAML'=> '3.36',
-            'TAP::Parser::ResultFactory'=> '3.36',
-            'TAP::Parser::Scheduler'=> '3.36',
-            'TAP::Parser::Scheduler::Job'=> '3.36',
-            'TAP::Parser::Scheduler::Spinner'=> '3.36',
-            'TAP::Parser::Source'   => '3.36',
-            'TAP::Parser::SourceHandler'=> '3.36',
-            'TAP::Parser::SourceHandler::Executable'=> '3.36',
-            'TAP::Parser::SourceHandler::File'=> '3.36',
-            'TAP::Parser::SourceHandler::Handle'=> '3.36',
-            'TAP::Parser::SourceHandler::Perl'=> '3.36',
-            'TAP::Parser::SourceHandler::RawTAP'=> '3.36',
-            'TAP::Parser::YAMLish::Reader'=> '3.36',
-            'TAP::Parser::YAMLish::Writer'=> '3.36',
-            'Test::Harness'         => '3.36',
-            'Unicode::Normalize'    => '1.25',
-            'Unicode::UCD'          => '0.64',
-            'XS::APItest'           => '0.78',
-            'bigint'                => '0.42',
-            'bignum'                => '0.42',
-            'bigrat'                => '0.42',
-            'utf8'                  => '1.19',
-        },
-        removed => {
-        }
-    },
-    5.023008 => {
-        delta_from => 5.023007,
-        changed => {
-            'B::Op_private'         => '5.023008',
-            'Config'                => '5.023008',
-            'Cwd'                   => '3.63',
-            'DynaLoader'            => '1.38',
-            'Encode'                => '2.80',
-            'Encode::Alias'         => '2.20',
-            'Encode::MIME::Header'  => '2.19',
-            'Encode::Unicode'       => '2.15',
-            'ExtUtils::CBuilder'    => '0.280225',
-            'ExtUtils::CBuilder::Base'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::Unix'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::VMS'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::Windows'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::aix'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::android'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::darwin'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280225',
-            'ExtUtils::CBuilder::Platform::os2'=> '0.280225',
-            'ExtUtils::Command::MM' => '7.10_01',
-            'ExtUtils::Liblist'     => '7.10_01',
-            'ExtUtils::Liblist::Kid'=> '7.10_01',
-            'ExtUtils::MM'          => '7.10_01',
-            'ExtUtils::MM_AIX'      => '7.10_01',
-            'ExtUtils::MM_Any'      => '7.10_01',
-            'ExtUtils::MM_BeOS'     => '7.10_01',
-            'ExtUtils::MM_Cygwin'   => '7.10_01',
-            'ExtUtils::MM_DOS'      => '7.10_01',
-            'ExtUtils::MM_Darwin'   => '7.10_01',
-            'ExtUtils::MM_MacOS'    => '7.10_01',
-            'ExtUtils::MM_NW5'      => '7.10_01',
-            'ExtUtils::MM_OS2'      => '7.10_01',
-            'ExtUtils::MM_QNX'      => '7.10_01',
-            'ExtUtils::MM_UWIN'     => '7.10_01',
-            'ExtUtils::MM_Unix'     => '7.10_01',
-            'ExtUtils::MM_VMS'      => '7.10_01',
-            'ExtUtils::MM_VOS'      => '7.10_01',
-            'ExtUtils::MM_Win32'    => '7.10_01',
-            'ExtUtils::MM_Win95'    => '7.10_01',
-            'ExtUtils::MY'          => '7.10_01',
-            'ExtUtils::MakeMaker'   => '7.10_01',
-            'ExtUtils::MakeMaker::Config'=> '7.10_01',
-            'ExtUtils::MakeMaker::version'=> '7.10_01',
-            'ExtUtils::MakeMaker::version::regex'=> '7.10_01',
-            'ExtUtils::Mkbootstrap' => '7.10_01',
-            'ExtUtils::Mksymlists'  => '7.10_01',
-            'ExtUtils::testlib'     => '7.10_01',
-            'File::Spec'            => '3.63',
-            'File::Spec::AmigaOS'   => '3.63',
-            'File::Spec::Cygwin'    => '3.63',
-            'File::Spec::Epoc'      => '3.63',
-            'File::Spec::Functions' => '3.63',
-            'File::Spec::Mac'       => '3.63',
-            'File::Spec::OS2'       => '3.63',
-            'File::Spec::Unix'      => '3.63',
-            'File::Spec::VMS'       => '3.63',
-            'File::Spec::Win32'     => '3.63',
-            'IPC::Msg'              => '2.05',
-            'IPC::Semaphore'        => '2.05',
-            'IPC::SharedMem'        => '2.05',
-            'IPC::SysV'             => '2.05',
-            'Module::CoreList'      => '5.20160121',
-            'Module::CoreList::TieHashDelta'=> '5.20160121',
-            'Module::CoreList::Utils'=> '5.20160121',
-            'ODBM_File'             => '1.13',
-            'POSIX'                 => '1.63',
-            'PerlIO::encoding'      => '0.24',
-            'Pod::Man'              => '4.06',
-            'Pod::ParseLink'        => '4.06',
-            'Pod::Text'             => '4.06',
-            'Pod::Text::Color'      => '4.06',
-            'Pod::Text::Overstrike' => '4.06',
-            'Pod::Text::Termcap'    => '4.06',
-            'Storable'              => '2.55',
-            'Time::HiRes'           => '1.9730',
-            'XS::APItest'           => '0.79',
-        },
-        removed => {
-        }
-    },
-    5.023009 => {
-        delta_from => 5.023008,
-        changed => {
-            'Amiga::ARexx'          => '0.04',
-            'Amiga::Exec'           => '0.02',
-            'B::Op_private'         => '5.023009',
-            'Carp'                  => '1.40',
-            'Carp::Heavy'           => '1.40',
-            'Config'                => '5.023009',
-            'Errno'                 => '1.25',
-            'ExtUtils::Embed'       => '1.33',
-            'File::Find'            => '1.34',
-            'File::Glob'            => '1.26',
-            'File::Spec::AmigaOS'   => ';.64',
-            'IPC::Msg'              => '2.06_01',
-            'IPC::Semaphore'        => '2.06_01',
-            'IPC::SharedMem'        => '2.06_01',
-            'IPC::SysV'             => '2.06_01',
-            'List::Util'            => '1.42_02',
-            'List::Util::XS'        => '1.42_02',
-            'Module::CoreList'      => '5.20160320',
-            'Module::CoreList::TieHashDelta'=> '5.20160320',
-            'Module::CoreList::Utils'=> '5.20160320',
-            'POSIX'                 => '1.64',
-            'Pod::Functions'        => '1.10',
-            'Pod::Functions::Functions'=> '1.10',
-            'Scalar::Util'          => '1.42_02',
-            'SelfLoader'            => '1.23',
-            'Socket'                => '2.020_03',
-            'Storable'              => '2.56',
-            'Sub::Util'             => '1.42_02',
-            'Thread::Queue'         => '3.08',
-            'Tie::File'             => '1.02',
-            'Time::HiRes'           => '1.9732',
-            'Win32API::File'        => '0.1203',
-            'Win32API::File::inc::ExtUtils::Myconst2perl'=> '1',
-            'XS::APItest'           => '0.80',
-            'autouse'               => '1.11',
-            'bytes'                 => '1.05',
-            'strict'                => '1.11',
-            'threads'               => '2.06',
-            'version'               => '0.9916',
-            'version::regex'        => '0.9916',
-            'warnings'              => '1.36',
-        },
-        removed => {
-            'Win32API::File::ExtUtils::Myconst2perl'=> 1,
-        }
-    },
-    5.022002 => {
-        delta_from => 5.022001,
-        changed => {
-            'B::Op_private'         => '5.022002',
-            'Config'                => '5.022002',
-            'Cwd'                   => '3.56_01',
-            'File::Spec'            => '3.56_01',
-            'File::Spec::Cygwin'    => '3.56_01',
-            'File::Spec::Epoc'      => '3.56_01',
-            'File::Spec::Functions' => '3.56_01',
-            'File::Spec::Mac'       => '3.56_01',
-            'File::Spec::OS2'       => '3.56_01',
-            'File::Spec::Unix'      => '3.56_01',
-            'File::Spec::VMS'       => '3.56_01',
-            'File::Spec::Win32'     => '3.56_01',
-            'Module::CoreList'      => '5.20160429',
-            'Module::CoreList::TieHashDelta'=> '5.20160429',
-            'Module::CoreList::Utils'=> '5.20160429',
-            'XS::APItest'           => '0.72_01',
-        },
-        removed => {
-        }
-    },
-    5.024000 => {
-        delta_from => 5.023009,
-        changed => {
-            'B::Op_private'         => '5.024000',
-            'Config'                => '5.024',
-            'File::Copy'            => '2.31',
-            'File::Path'            => '2.12_01',
-            'File::Spec::AmigaOS'   => '3.64',
-            'IO::Handle'            => '1.36',
-            'Module::CoreList'      => '5.20160506',
-            'Module::CoreList::TieHashDelta'=> '5.20160506',
-            'Module::CoreList::Utils'=> '5.20160506',
-            'ODBM_File'             => '1.14',
-            'POSIX'                 => '1.65',
-            'Pod::Man'              => '4.07',
-            'Pod::ParseLink'        => '4.07',
-            'Pod::Text'             => '4.07',
-            'Pod::Text::Color'      => '4.07',
-            'Pod::Text::Overstrike' => '4.07',
-            'Pod::Text::Termcap'    => '4.07',
-            'Thread::Queue'         => '3.09',
-            'Time::HiRes'           => '1.9733',
-            'threads'               => '2.07',
-            'threads::shared'       => '1.51',
-            'locale'                => '1.09',
-        },
-        removed => {
-        }
-    },
-    5.025000 => {
-        delta_from => 5.024,
-        changed => {
-            'B::Op_private'         => '5.025000',
-            'Config'                => '5.025',
-            'Module::CoreList'      => '5.20160507',
-            'Module::CoreList::TieHashDelta'=> '5.20160507',
-            'Module::CoreList::Utils'=> '5.20160507',
-            'feature'               => '1.43',
-        },
-        removed => {
-        }
-    },
-    5.025001 => {
-        delta_from => 5.025,
-        changed => {
-            'Archive::Tar'          => '2.08',
-            'Archive::Tar::Constant'=> '2.08',
-            'Archive::Tar::File'    => '2.08',
-            'B::Op_private'         => '5.025001',
-            'Carp'                  => '1.41',
-            'Carp::Heavy'           => '1.41',
-            'Config'                => '5.025001',
-            'Config::Perl::V'       => '0.26',
-            'DB_File'               => '1.838',
-            'Digest::MD5'           => '2.55',
-            'IPC::Cmd'              => '0.94',
-            'IPC::Msg'              => '2.07',
-            'IPC::Semaphore'        => '2.07',
-            'IPC::SharedMem'        => '2.07',
-            'IPC::SysV'             => '2.07',
-            'List::Util'            => '1.45_01',
-            'List::Util::XS'        => '1.45_01',
-            'Locale::Codes'         => '3.38',
-            'Locale::Codes::Constants'=> '3.38',
-            'Locale::Codes::Country'=> '3.38',
-            'Locale::Codes::Country_Codes'=> '3.38',
-            'Locale::Codes::Country_Retired'=> '3.38',
-            'Locale::Codes::Currency'=> '3.38',
-            'Locale::Codes::Currency_Codes'=> '3.38',
-            'Locale::Codes::Currency_Retired'=> '3.38',
-            'Locale::Codes::LangExt'=> '3.38',
-            'Locale::Codes::LangExt_Codes'=> '3.38',
-            'Locale::Codes::LangExt_Retired'=> '3.38',
-            'Locale::Codes::LangFam'=> '3.38',
-            'Locale::Codes::LangFam_Codes'=> '3.38',
-            'Locale::Codes::LangFam_Retired'=> '3.38',
-            'Locale::Codes::LangVar'=> '3.38',
-            'Locale::Codes::LangVar_Codes'=> '3.38',
-            'Locale::Codes::LangVar_Retired'=> '3.38',
-            'Locale::Codes::Language'=> '3.38',
-            'Locale::Codes::Language_Codes'=> '3.38',
-            'Locale::Codes::Language_Retired'=> '3.38',
-            'Locale::Codes::Script' => '3.38',
-            'Locale::Codes::Script_Codes'=> '3.38',
-            'Locale::Codes::Script_Retired'=> '3.38',
-            'Locale::Country'       => '3.38',
-            'Locale::Currency'      => '3.38',
-            'Locale::Language'      => '3.38',
-            'Locale::Maketext'      => '1.27',
-            'Locale::Script'        => '3.38',
-            'Module::CoreList'      => '5.20160520',
-            'Module::CoreList::TieHashDelta'=> '5.20160520',
-            'Module::CoreList::Utils'=> '5.20160520',
-            'Module::Metadata'      => '1.000032',
-            'POSIX'                 => '1.69',
-            'Scalar::Util'          => '1.45_01',
-            'Sub::Util'             => '1.45_01',
-            'Sys::Syslog'           => '0.34',
-            'Term::ANSIColor'       => '4.05',
-            'Test2'                 => '1.302015',
-            'Test2::API'            => '1.302015',
-            'Test2::API::Breakage'  => '1.302015',
-            'Test2::API::Context'   => '1.302015',
-            'Test2::API::Instance'  => '1.302015',
-            'Test2::API::Stack'     => '1.302015',
-            'Test2::Event'          => '1.302015',
-            'Test2::Event::Bail'    => '1.302015',
-            'Test2::Event::Diag'    => '1.302015',
-            'Test2::Event::Exception'=> '1.302015',
-            'Test2::Event::Note'    => '1.302015',
-            'Test2::Event::Ok'      => '1.302015',
-            'Test2::Event::Plan'    => '1.302015',
-            'Test2::Event::Skip'    => '1.302015',
-            'Test2::Event::Subtest' => '1.302015',
-            'Test2::Event::Waiting' => '1.302015',
-            'Test2::Formatter'      => '1.302015',
-            'Test2::Formatter::TAP' => '1.302015',
-            'Test2::Hub'            => '1.302015',
-            'Test2::Hub::Interceptor'=> '1.302015',
-            'Test2::Hub::Interceptor::Terminator'=> '1.302015',
-            'Test2::Hub::Subtest'   => '1.302015',
-            'Test2::IPC'            => '1.302015',
-            'Test2::IPC::Driver'    => '1.302015',
-            'Test2::IPC::Driver::Files'=> '1.302015',
-            'Test2::Util'           => '1.302015',
-            'Test2::Util::ExternalMeta'=> '1.302015',
-            'Test2::Util::HashBase' => '1.302015',
-            'Test2::Util::Trace'    => '1.302015',
-            'Test::Builder'         => '1.302015',
-            'Test::Builder::Formatter'=> '1.302015',
-            'Test::Builder::Module' => '1.302015',
-            'Test::Builder::Tester' => '1.302015',
-            'Test::Builder::Tester::Color'=> '1.302015',
-            'Test::Builder::TodoDiag'=> '1.302015',
-            'Test::More'            => '1.302015',
-            'Test::Simple'          => '1.302015',
-            'Test::Tester'          => '1.302015',
-            'Test::Tester::Capture' => '1.302015',
-            'Test::Tester::CaptureRunner'=> '1.302015',
-            'Test::Tester::Delegate'=> '1.302015',
-            'Test::use::ok'         => '1.302015',
-            'XS::APItest'           => '0.81',
-            '_charnames'            => '1.44',
-            'charnames'             => '1.44',
-            'ok'                    => '1.302015',
-            'perlfaq'               => '5.021011',
-            're'                    => '0.33',
-            'threads'               => '2.08',
-            'threads::shared'       => '1.52',
-        },
-        removed => {
-        }
-    },
-    5.025002 => {
-        delta_from => 5.025001,
-        changed => {
-            'App::Cpan'             => '1.64',
-            'B::Op_private'         => '5.025002',
-            'CPAN'                  => '2.14',
-            'CPAN::Distribution'    => '2.12',
-            'CPAN::FTP'             => '5.5007',
-            'CPAN::FirstTime'       => '5.5309',
-            'CPAN::HandleConfig'    => '5.5007',
-            'CPAN::Index'           => '2.12',
-            'CPAN::Mirrors'         => '2.12',
-            'CPAN::Plugin'          => '0.96',
-            'CPAN::Shell'           => '5.5006',
-            'Config'                => '5.025002',
-            'Cwd'                   => '3.64',
-            'Devel::Peek'           => '1.24',
-            'DynaLoader'            => '1.39',
-            'ExtUtils::Command'     => '7.18',
-            'ExtUtils::Command::MM' => '7.18',
-            'ExtUtils::Liblist'     => '7.18',
-            'ExtUtils::Liblist::Kid'=> '7.18',
-            'ExtUtils::MM'          => '7.18',
-            'ExtUtils::MM_AIX'      => '7.18',
-            'ExtUtils::MM_Any'      => '7.18',
-            'ExtUtils::MM_BeOS'     => '7.18',
-            'ExtUtils::MM_Cygwin'   => '7.18',
-            'ExtUtils::MM_DOS'      => '7.18',
-            'ExtUtils::MM_Darwin'   => '7.18',
-            'ExtUtils::MM_MacOS'    => '7.18',
-            'ExtUtils::MM_NW5'      => '7.18',
-            'ExtUtils::MM_OS2'      => '7.18',
-            'ExtUtils::MM_QNX'      => '7.18',
-            'ExtUtils::MM_UWIN'     => '7.18',
-            'ExtUtils::MM_Unix'     => '7.18',
-            'ExtUtils::MM_VMS'      => '7.18',
-            'ExtUtils::MM_VOS'      => '7.18',
-            'ExtUtils::MM_Win32'    => '7.18',
-            'ExtUtils::MM_Win95'    => '7.18',
-            'ExtUtils::MY'          => '7.18',
-            'ExtUtils::MakeMaker'   => '7.18',
-            'ExtUtils::MakeMaker::Config'=> '7.18',
-            'ExtUtils::MakeMaker::Locale'=> '7.18',
-            'ExtUtils::MakeMaker::version'=> '7.18',
-            'ExtUtils::MakeMaker::version::regex'=> '7.18',
-            'ExtUtils::Miniperl'    => '1.06',
-            'ExtUtils::Mkbootstrap' => '7.18',
-            'ExtUtils::Mksymlists'  => '7.18',
-            'ExtUtils::ParseXS'     => '3.32',
-            'ExtUtils::ParseXS::Constants'=> '3.32',
-            'ExtUtils::ParseXS::CountLines'=> '3.32',
-            'ExtUtils::ParseXS::Eval'=> '3.32',
-            'ExtUtils::ParseXS::Utilities'=> '3.32',
-            'ExtUtils::Typemaps'    => '3.32',
-            'ExtUtils::Typemaps::Cmd'=> '3.32',
-            'ExtUtils::Typemaps::InputMap'=> '3.32',
-            'ExtUtils::Typemaps::OutputMap'=> '3.32',
-            'ExtUtils::Typemaps::Type'=> '3.32',
-            'ExtUtils::testlib'     => '7.18',
-            'File::Copy'            => '2.32',
-            'File::Glob'            => '1.27',
-            'File::Spec'            => '3.64',
-            'File::Spec::Cygwin'    => '3.64',
-            'File::Spec::Epoc'      => '3.64',
-            'File::Spec::Functions' => '3.64',
-            'File::Spec::Mac'       => '3.64',
-            'File::Spec::OS2'       => '3.64',
-            'File::Spec::Unix'      => '3.64',
-            'File::Spec::VMS'       => '3.64',
-            'File::Spec::Win32'     => '3.64',
-            'FileHandle'            => '2.03',
-            'Getopt::Long'          => '2.49',
-            'HTTP::Tiny'            => '0.058',
-            'JSON::PP'              => '2.27400',
-            'Locale::Codes'         => '3.39',
-            'Locale::Codes::Constants'=> '3.39',
-            'Locale::Codes::Country'=> '3.39',
-            'Locale::Codes::Country_Codes'=> '3.39',
-            'Locale::Codes::Country_Retired'=> '3.39',
-            'Locale::Codes::Currency'=> '3.39',
-            'Locale::Codes::Currency_Codes'=> '3.39',
-            'Locale::Codes::Currency_Retired'=> '3.39',
-            'Locale::Codes::LangExt'=> '3.39',
-            'Locale::Codes::LangExt_Codes'=> '3.39',
-            'Locale::Codes::LangExt_Retired'=> '3.39',
-            'Locale::Codes::LangFam'=> '3.39',
-            'Locale::Codes::LangFam_Codes'=> '3.39',
-            'Locale::Codes::LangFam_Retired'=> '3.39',
-            'Locale::Codes::LangVar'=> '3.39',
-            'Locale::Codes::LangVar_Codes'=> '3.39',
-            'Locale::Codes::LangVar_Retired'=> '3.39',
-            'Locale::Codes::Language'=> '3.39',
-            'Locale::Codes::Language_Codes'=> '3.39',
-            'Locale::Codes::Language_Retired'=> '3.39',
-            'Locale::Codes::Script' => '3.39',
-            'Locale::Codes::Script_Codes'=> '3.39',
-            'Locale::Codes::Script_Retired'=> '3.39',
-            'Locale::Country'       => '3.39',
-            'Locale::Currency'      => '3.39',
-            'Locale::Language'      => '3.39',
-            'Locale::Script'        => '3.39',
-            'Module::CoreList'      => '5.20160620',
-            'Module::CoreList::TieHashDelta'=> '5.20160620',
-            'Module::CoreList::Utils'=> '5.20160620',
-            'Opcode'                => '1.35',
-            'POSIX'                 => '1.70',
-            'Pod::Checker'          => '1.73',
-            'Pod::Functions'        => '1.11',
-            'Pod::Functions::Functions'=> '1.11',
-            'Pod::Usage'            => '1.69',
-            'Test2'                 => '1.302026',
-            'Test2::API'            => '1.302026',
-            'Test2::API::Breakage'  => '1.302026',
-            'Test2::API::Context'   => '1.302026',
-            'Test2::API::Instance'  => '1.302026',
-            'Test2::API::Stack'     => '1.302026',
-            'Test2::Event'          => '1.302026',
-            'Test2::Event::Bail'    => '1.302026',
-            'Test2::Event::Diag'    => '1.302026',
-            'Test2::Event::Exception'=> '1.302026',
-            'Test2::Event::Generic' => '1.302026',
-            'Test2::Event::Note'    => '1.302026',
-            'Test2::Event::Ok'      => '1.302026',
-            'Test2::Event::Plan'    => '1.302026',
-            'Test2::Event::Skip'    => '1.302026',
-            'Test2::Event::Subtest' => '1.302026',
-            'Test2::Event::Waiting' => '1.302026',
-            'Test2::Formatter'      => '1.302026',
-            'Test2::Formatter::TAP' => '1.302026',
-            'Test2::Hub'            => '1.302026',
-            'Test2::Hub::Interceptor'=> '1.302026',
-            'Test2::Hub::Interceptor::Terminator'=> '1.302026',
-            'Test2::Hub::Subtest'   => '1.302026',
-            'Test2::IPC'            => '1.302026',
-            'Test2::IPC::Driver'    => '1.302026',
-            'Test2::IPC::Driver::Files'=> '1.302026',
-            'Test2::Util'           => '1.302026',
-            'Test2::Util::ExternalMeta'=> '1.302026',
-            'Test2::Util::HashBase' => '1.302026',
-            'Test2::Util::Trace'    => '1.302026',
-            'Test::Builder'         => '1.302026',
-            'Test::Builder::Formatter'=> '1.302026',
-            'Test::Builder::Module' => '1.302026',
-            'Test::Builder::Tester' => '1.302026',
-            'Test::Builder::Tester::Color'=> '1.302026',
-            'Test::Builder::TodoDiag'=> '1.302026',
-            'Test::More'            => '1.302026',
-            'Test::Simple'          => '1.302026',
-            'Test::Tester'          => '1.302026',
-            'Test::Tester::Capture' => '1.302026',
-            'Test::Tester::CaptureRunner'=> '1.302026',
-            'Test::Tester::Delegate'=> '1.302026',
-            'Test::use::ok'         => '1.302026',
-            'Thread::Queue'         => '3.11',
-            'Time::HiRes'           => '1.9734',
-            'Unicode::UCD'          => '0.65',
-            'VMS::DCLsym'           => '1.07',
-            'XS::APItest'           => '0.82',
-            'diagnostics'           => '1.35',
-            'feature'               => '1.44',
-            'ok'                    => '1.302026',
-            'threads'               => '2.09',
-        },
-        removed => {
-        }
-    },
-    5.025003 => {
-        delta_from => 5.025002,
-        changed => {
-            'B::Op_private'         => '5.025003',
-            'Config'                => '5.025003',
-            'Data::Dumper'          => '2.161',
-            'Devel::PPPort'         => '3.35',
-            'Encode'                => '2.84',
-            'Encode::MIME::Header'  => '2.23',
-            'Encode::MIME::Header::ISO_2022_JP'=> '1.07',
-            'ExtUtils::ParseXS'     => '3.33',
-            'ExtUtils::ParseXS::Constants'=> '3.33',
-            'ExtUtils::ParseXS::CountLines'=> '3.33',
-            'ExtUtils::ParseXS::Eval'=> '3.33',
-            'ExtUtils::ParseXS::Utilities'=> '3.33',
-            'ExtUtils::Typemaps'    => '3.33',
-            'ExtUtils::Typemaps::Cmd'=> '3.33',
-            'ExtUtils::Typemaps::InputMap'=> '3.33',
-            'ExtUtils::Typemaps::OutputMap'=> '3.33',
-            'ExtUtils::Typemaps::Type'=> '3.33',
-            'Hash::Util'            => '0.20',
-            'Math::BigFloat'        => '1.999726',
-            'Math::BigFloat::Trace' => '0.43',
-            'Math::BigInt'          => '1.999726',
-            'Math::BigInt::Calc'    => '1.999726',
-            'Math::BigInt::CalcEmu' => '1.999726',
-            'Math::BigInt::FastCalc'=> '0.42',
-            'Math::BigInt::Trace'   => '0.43',
-            'Math::BigRat'          => '0.260804',
-            'Module::CoreList'      => '5.20160720',
-            'Module::CoreList::TieHashDelta'=> '5.20160720',
-            'Module::CoreList::Utils'=> '5.20160720',
-            'Net::Cmd'              => '3.09',
-            'Net::Config'           => '3.09',
-            'Net::Domain'           => '3.09',
-            'Net::FTP'              => '3.09',
-            'Net::FTP::A'           => '3.09',
-            'Net::FTP::E'           => '3.09',
-            'Net::FTP::I'           => '3.09',
-            'Net::FTP::L'           => '3.09',
-            'Net::FTP::dataconn'    => '3.09',
-            'Net::NNTP'             => '3.09',
-            'Net::Netrc'            => '3.09',
-            'Net::POP3'             => '3.09',
-            'Net::SMTP'             => '3.09',
-            'Net::Time'             => '3.09',
-            'Parse::CPAN::Meta'     => '1.4422',
-            'Perl::OSType'          => '1.010',
-            'Test2'                 => '1.302045',
-            'Test2::API'            => '1.302045',
-            'Test2::API::Breakage'  => '1.302045',
-            'Test2::API::Context'   => '1.302045',
-            'Test2::API::Instance'  => '1.302045',
-            'Test2::API::Stack'     => '1.302045',
-            'Test2::Event'          => '1.302045',
-            'Test2::Event::Bail'    => '1.302045',
-            'Test2::Event::Diag'    => '1.302045',
-            'Test2::Event::Exception'=> '1.302045',
-            'Test2::Event::Generic' => '1.302045',
-            'Test2::Event::Info'    => '1.302045',
-            'Test2::Event::Note'    => '1.302045',
-            'Test2::Event::Ok'      => '1.302045',
-            'Test2::Event::Plan'    => '1.302045',
-            'Test2::Event::Skip'    => '1.302045',
-            'Test2::Event::Subtest' => '1.302045',
-            'Test2::Event::Waiting' => '1.302045',
-            'Test2::Formatter'      => '1.302045',
-            'Test2::Formatter::TAP' => '1.302045',
-            'Test2::Hub'            => '1.302045',
-            'Test2::Hub::Interceptor'=> '1.302045',
-            'Test2::Hub::Interceptor::Terminator'=> '1.302045',
-            'Test2::Hub::Subtest'   => '1.302045',
-            'Test2::IPC'            => '1.302045',
-            'Test2::IPC::Driver'    => '1.302045',
-            'Test2::IPC::Driver::Files'=> '1.302045',
-            'Test2::Util'           => '1.302045',
-            'Test2::Util::ExternalMeta'=> '1.302045',
-            'Test2::Util::HashBase' => '1.302045',
-            'Test2::Util::Trace'    => '1.302045',
-            'Test::Builder'         => '1.302045',
-            'Test::Builder::Formatter'=> '1.302045',
-            'Test::Builder::Module' => '1.302045',
-            'Test::Builder::Tester' => '1.302045',
-            'Test::Builder::Tester::Color'=> '1.302045',
-            'Test::Builder::TodoDiag'=> '1.302045',
-            'Test::More'            => '1.302045',
-            'Test::Simple'          => '1.302045',
-            'Test::Tester'          => '1.302045',
-            'Test::Tester::Capture' => '1.302045',
-            'Test::Tester::CaptureRunner'=> '1.302045',
-            'Test::Tester::Delegate'=> '1.302045',
-            'Test::use::ok'         => '1.302045',
-            'Time::HiRes'           => '1.9739',
-            'Unicode'               => '9.0.0',
-            'Unicode::UCD'          => '0.66',
-            'XSLoader'              => '0.22',
-            'bigint'                => '0.43',
-            'bignum'                => '0.43',
-            'bigrat'                => '0.43',
-            'encoding'              => '2.17_01',
-            'encoding::warnings'    => '0.13',
-            'feature'               => '1.45',
-            'ok'                    => '1.302045',
-            'version'               => '0.9917',
-            'version::regex'        => '0.9917',
-            'warnings'              => '1.37',
-        },
-        removed => {
-        }
-    },
-    5.025004 => {
-        delta_from => 5.025003,
-        changed => {
-            'App::Cpan'             => '1.64_01',
-            'App::Prove'            => '3.36_01',
-            'App::Prove::State'     => '3.36_01',
-            'App::Prove::State::Result'=> '3.36_01',
-            'App::Prove::State::Result::Test'=> '3.36_01',
-            'Archive::Tar'          => '2.10',
-            'Archive::Tar::Constant'=> '2.10',
-            'Archive::Tar::File'    => '2.10',
-            'B'                     => '1.63',
-            'B::Concise'            => '0.998',
-            'B::Deparse'            => '1.38',
-            'B::Op_private'         => '5.025004',
-            'CPAN'                  => '2.14_01',
-            'CPAN::Meta'            => '2.150010',
-            'CPAN::Meta::Converter' => '2.150010',
-            'CPAN::Meta::Feature'   => '2.150010',
-            'CPAN::Meta::History'   => '2.150010',
-            'CPAN::Meta::Merge'     => '2.150010',
-            'CPAN::Meta::Prereqs'   => '2.150010',
-            'CPAN::Meta::Spec'      => '2.150010',
-            'CPAN::Meta::Validator' => '2.150010',
-            'Carp'                  => '1.42',
-            'Carp::Heavy'           => '1.42',
-            'Compress::Zlib'        => '2.069_01',
-            'Config'                => '5.025004',
-            'Config::Perl::V'       => '0.27',
-            'Cwd'                   => '3.65',
-            'Digest'                => '1.17_01',
-            'Digest::SHA'           => '5.96',
-            'Encode'                => '2.86',
-            'Errno'                 => '1.26',
-            'ExtUtils::Command'     => '7.24',
-            'ExtUtils::Command::MM' => '7.24',
-            'ExtUtils::Liblist'     => '7.24',
-            'ExtUtils::Liblist::Kid'=> '7.24',
-            'ExtUtils::MM'          => '7.24',
-            'ExtUtils::MM_AIX'      => '7.24',
-            'ExtUtils::MM_Any'      => '7.24',
-            'ExtUtils::MM_BeOS'     => '7.24',
-            'ExtUtils::MM_Cygwin'   => '7.24',
-            'ExtUtils::MM_DOS'      => '7.24',
-            'ExtUtils::MM_Darwin'   => '7.24',
-            'ExtUtils::MM_MacOS'    => '7.24',
-            'ExtUtils::MM_NW5'      => '7.24',
-            'ExtUtils::MM_OS2'      => '7.24',
-            'ExtUtils::MM_QNX'      => '7.24',
-            'ExtUtils::MM_UWIN'     => '7.24',
-            'ExtUtils::MM_Unix'     => '7.24',
-            'ExtUtils::MM_VMS'      => '7.24',
-            'ExtUtils::MM_VOS'      => '7.24',
-            'ExtUtils::MM_Win32'    => '7.24',
-            'ExtUtils::MM_Win95'    => '7.24',
-            'ExtUtils::MY'          => '7.24',
-            'ExtUtils::MakeMaker'   => '7.24',
-            'ExtUtils::MakeMaker::Config'=> '7.24',
-            'ExtUtils::MakeMaker::Locale'=> '7.24',
-            'ExtUtils::MakeMaker::version'=> '7.24',
-            'ExtUtils::MakeMaker::version::regex'=> '7.24',
-            'ExtUtils::Mkbootstrap' => '7.24',
-            'ExtUtils::Mksymlists'  => '7.24',
-            'ExtUtils::testlib'     => '7.24',
-            'File::Fetch'           => '0.52',
-            'File::Spec'            => '3.65',
-            'File::Spec::AmigaOS'   => '3.65',
-            'File::Spec::Cygwin'    => '3.65',
-            'File::Spec::Epoc'      => '3.65',
-            'File::Spec::Functions' => '3.65',
-            'File::Spec::Mac'       => '3.65',
-            'File::Spec::OS2'       => '3.65',
-            'File::Spec::Unix'      => '3.65',
-            'File::Spec::VMS'       => '3.65',
-            'File::Spec::Win32'     => '3.65',
-            'HTTP::Tiny'            => '0.064',
-            'Hash::Util'            => '0.21',
-            'I18N::LangTags'        => '0.41',
-            'I18N::LangTags::Detect'=> '1.06',
-            'IO'                    => '1.37',
-            'IO::Compress::Adapter::Bzip2'=> '2.069_01',
-            'IO::Compress::Adapter::Deflate'=> '2.069_01',
-            'IO::Compress::Adapter::Identity'=> '2.069_01',
-            'IO::Compress::Base'    => '2.069_01',
-            'IO::Compress::Base::Common'=> '2.069_01',
-            'IO::Compress::Bzip2'   => '2.069_01',
-            'IO::Compress::Deflate' => '2.069_01',
-            'IO::Compress::Gzip'    => '2.069_01',
-            'IO::Compress::Gzip::Constants'=> '2.069_01',
-            'IO::Compress::RawDeflate'=> '2.069_01',
-            'IO::Compress::Zip'     => '2.069_01',
-            'IO::Compress::Zip::Constants'=> '2.069_01',
-            'IO::Compress::Zlib::Constants'=> '2.069_01',
-            'IO::Compress::Zlib::Extra'=> '2.069_01',
-            'IO::Socket::IP'        => '0.38',
-            'IO::Uncompress::Adapter::Bunzip2'=> '2.069_01',
-            'IO::Uncompress::Adapter::Identity'=> '2.069_01',
-            'IO::Uncompress::Adapter::Inflate'=> '2.069_01',
-            'IO::Uncompress::AnyInflate'=> '2.069_01',
-            'IO::Uncompress::AnyUncompress'=> '2.069_01',
-            'IO::Uncompress::Base'  => '2.069_01',
-            'IO::Uncompress::Bunzip2'=> '2.069_01',
-            'IO::Uncompress::Gunzip'=> '2.069_01',
-            'IO::Uncompress::Inflate'=> '2.069_01',
-            'IO::Uncompress::RawInflate'=> '2.069_01',
-            'IO::Uncompress::Unzip' => '2.069_01',
-            'IPC::Cmd'              => '0.96',
-            'JSON::PP'              => '2.27400_01',
-            'Locale::Maketext'      => '1.28',
-            'Locale::Maketext::Simple'=> '0.21_01',
-            'Math::BigFloat::Trace' => '0.43_01',
-            'Math::BigInt::Trace'   => '0.43_01',
-            'Memoize'               => '1.03_01',
-            'Module::CoreList'      => '5.20160820',
-            'Module::CoreList::TieHashDelta'=> '5.20160820',
-            'Module::CoreList::Utils'=> '5.20160820',
-            'Module::Load::Conditional'=> '0.68',
-            'Module::Metadata'      => '1.000033',
-            'NEXT'                  => '0.67',
-            'Net::Cmd'              => '3.10',
-            'Net::Config'           => '3.10',
-            'Net::Domain'           => '3.10',
-            'Net::FTP'              => '3.10',
-            'Net::FTP::A'           => '3.10',
-            'Net::FTP::E'           => '3.10',
-            'Net::FTP::I'           => '3.10',
-            'Net::FTP::L'           => '3.10',
-            'Net::FTP::dataconn'    => '3.10',
-            'Net::NNTP'             => '3.10',
-            'Net::Netrc'            => '3.10',
-            'Net::POP3'             => '3.10',
-            'Net::Ping'             => '2.44',
-            'Net::SMTP'             => '3.10',
-            'Net::Time'             => '3.10',
-            'Opcode'                => '1.37',
-            'POSIX'                 => '1.71',
-            'Parse::CPAN::Meta'     => '2.150010',
-            'Pod::Html'             => '1.2201',
-            'Pod::Perldoc'          => '3.27',
-            'Pod::Perldoc::BaseTo'  => '3.27',
-            'Pod::Perldoc::GetOptsOO'=> '3.27',
-            'Pod::Perldoc::ToANSI'  => '3.27',
-            'Pod::Perldoc::ToChecker'=> '3.27',
-            'Pod::Perldoc::ToMan'   => '3.27',
-            'Pod::Perldoc::ToNroff' => '3.27',
-            'Pod::Perldoc::ToPod'   => '3.27',
-            'Pod::Perldoc::ToRtf'   => '3.27',
-            'Pod::Perldoc::ToTerm'  => '3.27',
-            'Pod::Perldoc::ToText'  => '3.27',
-            'Pod::Perldoc::ToTk'    => '3.27',
-            'Pod::Perldoc::ToXml'   => '3.27',
-            'Storable'              => '2.57',
-            'Sys::Syslog'           => '0.34_01',
-            'TAP::Base'             => '3.36_01',
-            'TAP::Formatter::Base'  => '3.36_01',
-            'TAP::Formatter::Color' => '3.36_01',
-            'TAP::Formatter::Console'=> '3.36_01',
-            'TAP::Formatter::Console::ParallelSession'=> '3.36_01',
-            'TAP::Formatter::Console::Session'=> '3.36_01',
-            'TAP::Formatter::File'  => '3.36_01',
-            'TAP::Formatter::File::Session'=> '3.36_01',
-            'TAP::Formatter::Session'=> '3.36_01',
-            'TAP::Harness'          => '3.36_01',
-            'TAP::Harness::Env'     => '3.36_01',
-            'TAP::Object'           => '3.36_01',
-            'TAP::Parser'           => '3.36_01',
-            'TAP::Parser::Aggregator'=> '3.36_01',
-            'TAP::Parser::Grammar'  => '3.36_01',
-            'TAP::Parser::Iterator' => '3.36_01',
-            'TAP::Parser::Iterator::Array'=> '3.36_01',
-            'TAP::Parser::Iterator::Process'=> '3.36_01',
-            'TAP::Parser::Iterator::Stream'=> '3.36_01',
-            'TAP::Parser::IteratorFactory'=> '3.36_01',
-            'TAP::Parser::Multiplexer'=> '3.36_01',
-            'TAP::Parser::Result'   => '3.36_01',
-            'TAP::Parser::Result::Bailout'=> '3.36_01',
-            'TAP::Parser::Result::Comment'=> '3.36_01',
-            'TAP::Parser::Result::Plan'=> '3.36_01',
-            'TAP::Parser::Result::Pragma'=> '3.36_01',
-            'TAP::Parser::Result::Test'=> '3.36_01',
-            'TAP::Parser::Result::Unknown'=> '3.36_01',
-            'TAP::Parser::Result::Version'=> '3.36_01',
-            'TAP::Parser::Result::YAML'=> '3.36_01',
-            'TAP::Parser::ResultFactory'=> '3.36_01',
-            'TAP::Parser::Scheduler'=> '3.36_01',
-            'TAP::Parser::Scheduler::Job'=> '3.36_01',
-            'TAP::Parser::Scheduler::Spinner'=> '3.36_01',
-            'TAP::Parser::Source'   => '3.36_01',
-            'TAP::Parser::SourceHandler'=> '3.36_01',
-            'TAP::Parser::SourceHandler::Executable'=> '3.36_01',
-            'TAP::Parser::SourceHandler::File'=> '3.36_01',
-            'TAP::Parser::SourceHandler::Handle'=> '3.36_01',
-            'TAP::Parser::SourceHandler::Perl'=> '3.36_01',
-            'TAP::Parser::SourceHandler::RawTAP'=> '3.36_01',
-            'TAP::Parser::YAMLish::Reader'=> '3.36_01',
-            'TAP::Parser::YAMLish::Writer'=> '3.36_01',
-            'Test'                  => '1.29',
-            'Test2'                 => '1.302052',
-            'Test2::API'            => '1.302052',
-            'Test2::API::Breakage'  => '1.302052',
-            'Test2::API::Context'   => '1.302052',
-            'Test2::API::Instance'  => '1.302052',
-            'Test2::API::Stack'     => '1.302052',
-            'Test2::Event'          => '1.302052',
-            'Test2::Event::Bail'    => '1.302052',
-            'Test2::Event::Diag'    => '1.302052',
-            'Test2::Event::Exception'=> '1.302052',
-            'Test2::Event::Generic' => '1.302052',
-            'Test2::Event::Info'    => '1.302052',
-            'Test2::Event::Note'    => '1.302052',
-            'Test2::Event::Ok'      => '1.302052',
-            'Test2::Event::Plan'    => '1.302052',
-            'Test2::Event::Skip'    => '1.302052',
-            'Test2::Event::Subtest' => '1.302052',
-            'Test2::Event::Waiting' => '1.302052',
-            'Test2::Formatter'      => '1.302052',
-            'Test2::Formatter::TAP' => '1.302052',
-            'Test2::Hub'            => '1.302052',
-            'Test2::Hub::Interceptor'=> '1.302052',
-            'Test2::Hub::Interceptor::Terminator'=> '1.302052',
-            'Test2::Hub::Subtest'   => '1.302052',
-            'Test2::IPC'            => '1.302052',
-            'Test2::IPC::Driver'    => '1.302052',
-            'Test2::IPC::Driver::Files'=> '1.302052',
-            'Test2::Util'           => '1.302052',
-            'Test2::Util::ExternalMeta'=> '1.302052',
-            'Test2::Util::HashBase' => '1.302052',
-            'Test2::Util::Trace'    => '1.302052',
-            'Test::Builder'         => '1.302052',
-            'Test::Builder::Formatter'=> '1.302052',
-            'Test::Builder::Module' => '1.302052',
-            'Test::Builder::Tester' => '1.302052',
-            'Test::Builder::Tester::Color'=> '1.302052',
-            'Test::Builder::TodoDiag'=> '1.302052',
-            'Test::Harness'         => '3.36_01',
-            'Test::More'            => '1.302052',
-            'Test::Simple'          => '1.302052',
-            'Test::Tester'          => '1.302052',
-            'Test::Tester::Capture' => '1.302052',
-            'Test::Tester::CaptureRunner'=> '1.302052',
-            'Test::Tester::Delegate'=> '1.302052',
-            'Test::use::ok'         => '1.302052',
-            'Tie::Hash::NamedCapture'=> '0.10',
-            'Time::Local'           => '1.24',
-            'XS::APItest'           => '0.83',
-            'arybase'               => '0.12',
-            'base'                  => '2.24',
-            'bigint'                => '0.43_01',
-            'bignum'                => '0.43_01',
-            'bigrat'                => '0.43_01',
-            'encoding'              => '2.18',
-            'ok'                    => '1.302052',
-        },
-        removed => {
-        }
-    },
-    5.025005 => {
-        delta_from => 5.025004,
-        changed => {
-            'B::Op_private'         => '5.025005',
-            'Config'                => '5.025005',
-            'Filter::Simple'        => '0.93',
-            'Locale::Codes'         => '3.40',
-            'Locale::Codes::Constants'=> '3.40',
-            'Locale::Codes::Country'=> '3.40',
-            'Locale::Codes::Country_Codes'=> '3.40',
-            'Locale::Codes::Country_Retired'=> '3.40',
-            'Locale::Codes::Currency'=> '3.40',
-            'Locale::Codes::Currency_Codes'=> '3.40',
-            'Locale::Codes::Currency_Retired'=> '3.40',
-            'Locale::Codes::LangExt'=> '3.40',
-            'Locale::Codes::LangExt_Codes'=> '3.40',
-            'Locale::Codes::LangExt_Retired'=> '3.40',
-            'Locale::Codes::LangFam'=> '3.40',
-            'Locale::Codes::LangFam_Codes'=> '3.40',
-            'Locale::Codes::LangFam_Retired'=> '3.40',
-            'Locale::Codes::LangVar'=> '3.40',
-            'Locale::Codes::LangVar_Codes'=> '3.40',
-            'Locale::Codes::LangVar_Retired'=> '3.40',
-            'Locale::Codes::Language'=> '3.40',
-            'Locale::Codes::Language_Codes'=> '3.40',
-            'Locale::Codes::Language_Retired'=> '3.40',
-            'Locale::Codes::Script' => '3.40',
-            'Locale::Codes::Script_Codes'=> '3.40',
-            'Locale::Codes::Script_Retired'=> '3.40',
-            'Locale::Country'       => '3.40',
-            'Locale::Currency'      => '3.40',
-            'Locale::Language'      => '3.40',
-            'Locale::Script'        => '3.40',
-            'Module::CoreList'      => '5.20160920',
-            'Module::CoreList::TieHashDelta'=> '5.20160920',
-            'Module::CoreList::Utils'=> '5.20160920',
-            'POSIX'                 => '1.72',
-            'Sys::Syslog'           => '0.35',
-            'Test2'                 => '1.302056',
-            'Test2::API'            => '1.302056',
-            'Test2::API::Breakage'  => '1.302056',
-            'Test2::API::Context'   => '1.302056',
-            'Test2::API::Instance'  => '1.302056',
-            'Test2::API::Stack'     => '1.302056',
-            'Test2::Event'          => '1.302056',
-            'Test2::Event::Bail'    => '1.302056',
-            'Test2::Event::Diag'    => '1.302056',
-            'Test2::Event::Exception'=> '1.302056',
-            'Test2::Event::Generic' => '1.302056',
-            'Test2::Event::Info'    => '1.302056',
-            'Test2::Event::Note'    => '1.302056',
-            'Test2::Event::Ok'      => '1.302056',
-            'Test2::Event::Plan'    => '1.302056',
-            'Test2::Event::Skip'    => '1.302056',
-            'Test2::Event::Subtest' => '1.302056',
-            'Test2::Event::Waiting' => '1.302056',
-            'Test2::Formatter'      => '1.302056',
-            'Test2::Formatter::TAP' => '1.302056',
-            'Test2::Hub'            => '1.302056',
-            'Test2::Hub::Interceptor'=> '1.302056',
-            'Test2::Hub::Interceptor::Terminator'=> '1.302056',
-            'Test2::Hub::Subtest'   => '1.302056',
-            'Test2::IPC'            => '1.302056',
-            'Test2::IPC::Driver'    => '1.302056',
-            'Test2::IPC::Driver::Files'=> '1.302056',
-            'Test2::Util'           => '1.302056',
-            'Test2::Util::ExternalMeta'=> '1.302056',
-            'Test2::Util::HashBase' => '1.302056',
-            'Test2::Util::Trace'    => '1.302056',
-            'Test::Builder'         => '1.302056',
-            'Test::Builder::Formatter'=> '1.302056',
-            'Test::Builder::Module' => '1.302056',
-            'Test::Builder::Tester' => '1.302056',
-            'Test::Builder::Tester::Color'=> '1.302056',
-            'Test::Builder::TodoDiag'=> '1.302056',
-            'Test::More'            => '1.302056',
-            'Test::Simple'          => '1.302056',
-            'Test::Tester'          => '1.302056',
-            'Test::Tester::Capture' => '1.302056',
-            'Test::Tester::CaptureRunner'=> '1.302056',
-            'Test::Tester::Delegate'=> '1.302056',
-            'Test::use::ok'         => '1.302056',
-            'Thread::Semaphore'     => '2.13',
-            'XS::APItest'           => '0.84',
-            'XSLoader'              => '0.24',
-            'ok'                    => '1.302056',
-        },
-        removed => {
-        }
-    },
-    5.025006 => {
-        delta_from => 5.025005,
-        changed => {
-            'Archive::Tar'          => '2.14',
-            'Archive::Tar::Constant'=> '2.14',
-            'Archive::Tar::File'    => '2.14',
-            'B'                     => '1.64',
-            'B::Concise'            => '0.999',
-            'B::Deparse'            => '1.39',
-            'B::Op_private'         => '5.025006',
-            'Config'                => '5.025006',
-            'Data::Dumper'          => '2.162',
-            'Devel::Peek'           => '1.25',
-            'HTTP::Tiny'            => '0.070',
-            'List::Util'            => '1.46',
-            'List::Util::XS'        => '1.46',
-            'Module::CoreList'      => '5.20161020',
-            'Module::CoreList::TieHashDelta'=> '5.20161020',
-            'Module::CoreList::Utils'=> '5.20161020',
-            'Net::Ping'             => '2.51',
-            'OS2::DLL'              => '1.07',
-            'Opcode'                => '1.38',
-            'POSIX'                 => '1.73',
-            'PerlIO::encoding'      => '0.25',
-            'Pod::Man'              => '4.08',
-            'Pod::ParseLink'        => '4.08',
-            'Pod::Text'             => '4.08',
-            'Pod::Text::Color'      => '4.08',
-            'Pod::Text::Overstrike' => '4.08',
-            'Pod::Text::Termcap'    => '4.08',
-            'Scalar::Util'          => '1.46',
-            'Storable'              => '2.58',
-            'Sub::Util'             => '1.46',
-            'Test2'                 => '1.302059',
-            'Test2::API'            => '1.302059',
-            'Test2::API::Breakage'  => '1.302059',
-            'Test2::API::Context'   => '1.302059',
-            'Test2::API::Instance'  => '1.302059',
-            'Test2::API::Stack'     => '1.302059',
-            'Test2::Event'          => '1.302059',
-            'Test2::Event::Bail'    => '1.302059',
-            'Test2::Event::Diag'    => '1.302059',
-            'Test2::Event::Exception'=> '1.302059',
-            'Test2::Event::Generic' => '1.302059',
-            'Test2::Event::Info'    => '1.302059',
-            'Test2::Event::Note'    => '1.302059',
-            'Test2::Event::Ok'      => '1.302059',
-            'Test2::Event::Plan'    => '1.302059',
-            'Test2::Event::Skip'    => '1.302059',
-            'Test2::Event::Subtest' => '1.302059',
-            'Test2::Event::Waiting' => '1.302059',
-            'Test2::Formatter'      => '1.302059',
-            'Test2::Formatter::TAP' => '1.302059',
-            'Test2::Hub'            => '1.302059',
-            'Test2::Hub::Interceptor'=> '1.302059',
-            'Test2::Hub::Interceptor::Terminator'=> '1.302059',
-            'Test2::Hub::Subtest'   => '1.302059',
-            'Test2::IPC'            => '1.302059',
-            'Test2::IPC::Driver'    => '1.302059',
-            'Test2::IPC::Driver::Files'=> '1.302059',
-            'Test2::Util'           => '1.302059',
-            'Test2::Util::ExternalMeta'=> '1.302059',
-            'Test2::Util::HashBase' => '1.302059',
-            'Test2::Util::Trace'    => '1.302059',
-            'Test::Builder'         => '1.302059',
-            'Test::Builder::Formatter'=> '1.302059',
-            'Test::Builder::Module' => '1.302059',
-            'Test::Builder::Tester' => '1.302059',
-            'Test::Builder::Tester::Color'=> '1.302059',
-            'Test::Builder::TodoDiag'=> '1.302059',
-            'Test::More'            => '1.302059',
-            'Test::Simple'          => '1.302059',
-            'Test::Tester'          => '1.302059',
-            'Test::Tester::Capture' => '1.302059',
-            'Test::Tester::CaptureRunner'=> '1.302059',
-            'Test::Tester::Delegate'=> '1.302059',
-            'Test::use::ok'         => '1.302059',
-            'Time::HiRes'           => '1.9740_01',
-            'VMS::Stdio'            => '2.42',
-            'XS::APItest'           => '0.86',
-            'attributes'            => '0.28',
-            'mro'                   => '1.19',
-            'ok'                    => '1.302059',
-            'overload'              => '1.27',
-            'parent'                => '0.236',
-        },
-        removed => {
-        }
-    },
-    5.025007 => {
-        delta_from => 5.025006,
-        changed => {
-            'Archive::Tar'          => '2.18',
-            'Archive::Tar::Constant'=> '2.18',
-            'Archive::Tar::File'    => '2.18',
-            'B'                     => '1.65',
-            'B::Op_private'         => '5.025007',
-            'Config'                => '5.025007',
-            'Cwd'                   => '3.66',
-            'Data::Dumper'          => '2.165',
-            'Devel::Peek'           => '1.26',
-            'DynaLoader'            => '1.40',
-            'Errno'                 => '1.27',
-            'ExtUtils::ParseXS::Utilities'=> '3.34',
-            'File::Spec'            => '3.66',
-            'File::Spec::AmigaOS'   => '3.66',
-            'File::Spec::Cygwin'    => '3.66',
-            'File::Spec::Epoc'      => '3.66',
-            'File::Spec::Functions' => '3.66',
-            'File::Spec::Mac'       => '3.66',
-            'File::Spec::OS2'       => '3.66',
-            'File::Spec::Unix'      => '3.66',
-            'File::Spec::VMS'       => '3.66',
-            'File::Spec::Win32'     => '3.66',
-            'Hash::Util'            => '0.22',
-            'JSON::PP'              => '2.27400_02',
-            'List::Util'            => '1.46_02',
-            'List::Util::XS'        => '1.46_02',
-            'Math::BigFloat'        => '1.999727',
-            'Math::BigInt'          => '1.999727',
-            'Math::BigInt::Calc'    => '1.999727',
-            'Math::BigInt::CalcEmu' => '1.999727',
-            'Math::Complex'         => '1.5901',
-            'Module::CoreList'      => '5.20161120',
-            'Module::CoreList::TieHashDelta'=> '5.20161120',
-            'Module::CoreList::Utils'=> '5.20161120',
-            'Net::Ping'             => '2.55',
-            'Opcode'                => '1.39',
-            'POSIX'                 => '1.75',
-            'Pod::Man'              => '4.09',
-            'Pod::ParseLink'        => '4.09',
-            'Pod::Text'             => '4.09',
-            'Pod::Text::Color'      => '4.09',
-            'Pod::Text::Overstrike' => '4.09',
-            'Pod::Text::Termcap'    => '4.09',
-            'Scalar::Util'          => '1.46_02',
-            'Storable'              => '2.59',
-            'Sub::Util'             => '1.46_02',
-            'Term::ANSIColor'       => '4.06',
-            'Test2'                 => '1.302062',
-            'Test2::API'            => '1.302062',
-            'Test2::API::Breakage'  => '1.302062',
-            'Test2::API::Context'   => '1.302062',
-            'Test2::API::Instance'  => '1.302062',
-            'Test2::API::Stack'     => '1.302062',
-            'Test2::Event'          => '1.302062',
-            'Test2::Event::Bail'    => '1.302062',
-            'Test2::Event::Diag'    => '1.302062',
-            'Test2::Event::Exception'=> '1.302062',
-            'Test2::Event::Generic' => '1.302062',
-            'Test2::Event::Info'    => '1.302062',
-            'Test2::Event::Note'    => '1.302062',
-            'Test2::Event::Ok'      => '1.302062',
-            'Test2::Event::Plan'    => '1.302062',
-            'Test2::Event::Skip'    => '1.302062',
-            'Test2::Event::Subtest' => '1.302062',
-            'Test2::Event::Waiting' => '1.302062',
-            'Test2::Formatter'      => '1.302062',
-            'Test2::Formatter::TAP' => '1.302062',
-            'Test2::Hub'            => '1.302062',
-            'Test2::Hub::Interceptor'=> '1.302062',
-            'Test2::Hub::Interceptor::Terminator'=> '1.302062',
-            'Test2::Hub::Subtest'   => '1.302062',
-            'Test2::IPC'            => '1.302062',
-            'Test2::IPC::Driver'    => '1.302062',
-            'Test2::IPC::Driver::Files'=> '1.302062',
-            'Test2::Util'           => '1.302062',
-            'Test2::Util::ExternalMeta'=> '1.302062',
-            'Test2::Util::HashBase' => '1.302062',
-            'Test2::Util::Trace'    => '1.302062',
-            'Test::Builder'         => '1.302062',
-            'Test::Builder::Formatter'=> '1.302062',
-            'Test::Builder::Module' => '1.302062',
-            'Test::Builder::Tester' => '1.302062',
-            'Test::Builder::Tester::Color'=> '1.302062',
-            'Test::Builder::TodoDiag'=> '1.302062',
-            'Test::More'            => '1.302062',
-            'Test::Simple'          => '1.302062',
-            'Test::Tester'          => '1.302062',
-            'Test::Tester::Capture' => '1.302062',
-            'Test::Tester::CaptureRunner'=> '1.302062',
-            'Test::Tester::Delegate'=> '1.302062',
-            'Test::use::ok'         => '1.302062',
-            'Time::HiRes'           => '1.9740_03',
-            'Unicode::Collate'      => '1.18',
-            'Unicode::Collate::CJK::Big5'=> '1.18',
-            'Unicode::Collate::CJK::GB2312'=> '1.18',
-            'Unicode::Collate::CJK::JISX0208'=> '1.18',
-            'Unicode::Collate::CJK::Korean'=> '1.18',
-            'Unicode::Collate::CJK::Pinyin'=> '1.18',
-            'Unicode::Collate::CJK::Stroke'=> '1.18',
-            'Unicode::Collate::CJK::Zhuyin'=> '1.18',
-            'Unicode::Collate::Locale'=> '1.18',
-            'Unicode::UCD'          => '0.67',
-            'XS::APItest'           => '0.87',
-            'XS::Typemap'           => '0.15',
-            'mro'                   => '1.20',
-            'ok'                    => '1.302062',
-            'threads'               => '2.10',
-        },
-        removed => {
-        }
-    },
-    5.025008 => {
-        delta_from => 5.025007,
-        changed => {
-            'Archive::Tar'          => '2.24',
-            'Archive::Tar::Constant'=> '2.24',
-            'Archive::Tar::File'    => '2.24',
-            'B::Debug'              => '1.24',
-            'B::Op_private'         => '5.025008',
-            'Config'                => '5.025008',
-            'Data::Dumper'          => '2.166',
-            'Encode'                => '2.88',
-            'Encode::Alias'         => '2.21',
-            'Encode::CN::HZ'        => '2.08',
-            'Encode::MIME::Header'  => '2.24',
-            'Encode::MIME::Name'    => '1.02',
-            'Encode::Unicode'       => '2.1501',
-            'IO'                    => '1.38',
-            'Locale::Codes'         => '3.42',
-            'Locale::Codes::Constants'=> '3.42',
-            'Locale::Codes::Country'=> '3.42',
-            'Locale::Codes::Country_Codes'=> '3.42',
-            'Locale::Codes::Country_Retired'=> '3.42',
-            'Locale::Codes::Currency'=> '3.42',
-            'Locale::Codes::Currency_Codes'=> '3.42',
-            'Locale::Codes::Currency_Retired'=> '3.42',
-            'Locale::Codes::LangExt'=> '3.42',
-            'Locale::Codes::LangExt_Codes'=> '3.42',
-            'Locale::Codes::LangExt_Retired'=> '3.42',
-            'Locale::Codes::LangFam'=> '3.42',
-            'Locale::Codes::LangFam_Codes'=> '3.42',
-            'Locale::Codes::LangFam_Retired'=> '3.42',
-            'Locale::Codes::LangVar'=> '3.42',
-            'Locale::Codes::LangVar_Codes'=> '3.42',
-            'Locale::Codes::LangVar_Retired'=> '3.42',
-            'Locale::Codes::Language'=> '3.42',
-            'Locale::Codes::Language_Codes'=> '3.42',
-            'Locale::Codes::Language_Retired'=> '3.42',
-            'Locale::Codes::Script' => '3.42',
-            'Locale::Codes::Script_Codes'=> '3.42',
-            'Locale::Codes::Script_Retired'=> '3.42',
-            'Locale::Country'       => '3.42',
-            'Locale::Currency'      => '3.42',
-            'Locale::Language'      => '3.42',
-            'Locale::Script'        => '3.42',
-            'Math::BigFloat'        => '1.999806',
-            'Math::BigFloat::Trace' => '0.47',
-            'Math::BigInt'          => '1.999806',
-            'Math::BigInt::Calc'    => '1.999806',
-            'Math::BigInt::CalcEmu' => '1.999806',
-            'Math::BigInt::FastCalc'=> '0.5005',
-            'Math::BigInt::Lib'     => '1.999806',
-            'Math::BigInt::Trace'   => '0.47',
-            'Math::BigRat'          => '0.2611',
-            'Module::CoreList'      => '5.20161220',
-            'Module::CoreList::TieHashDelta'=> '5.20161220',
-            'Module::CoreList::Utils'=> '5.20161220',
-            'POSIX'                 => '1.76',
-            'PerlIO::scalar'        => '0.25',
-            'Pod::Simple'           => '3.35',
-            'Pod::Simple::BlackBox' => '3.35',
-            'Pod::Simple::Checker'  => '3.35',
-            'Pod::Simple::Debug'    => '3.35',
-            'Pod::Simple::DumpAsText'=> '3.35',
-            'Pod::Simple::DumpAsXML'=> '3.35',
-            'Pod::Simple::HTML'     => '3.35',
-            'Pod::Simple::HTMLBatch'=> '3.35',
-            'Pod::Simple::LinkSection'=> '3.35',
-            'Pod::Simple::Methody'  => '3.35',
-            'Pod::Simple::Progress' => '3.35',
-            'Pod::Simple::PullParser'=> '3.35',
-            'Pod::Simple::PullParserEndToken'=> '3.35',
-            'Pod::Simple::PullParserStartToken'=> '3.35',
-            'Pod::Simple::PullParserTextToken'=> '3.35',
-            'Pod::Simple::PullParserToken'=> '3.35',
-            'Pod::Simple::RTF'      => '3.35',
-            'Pod::Simple::Search'   => '3.35',
-            'Pod::Simple::SimpleTree'=> '3.35',
-            'Pod::Simple::Text'     => '3.35',
-            'Pod::Simple::TextContent'=> '3.35',
-            'Pod::Simple::TiedOutFH'=> '3.35',
-            'Pod::Simple::Transcode'=> '3.35',
-            'Pod::Simple::TranscodeDumb'=> '3.35',
-            'Pod::Simple::TranscodeSmart'=> '3.35',
-            'Pod::Simple::XHTML'    => '3.35',
-            'Pod::Simple::XMLOutStream'=> '3.35',
-            'Test2'                 => '1.302073',
-            'Test2::API'            => '1.302073',
-            'Test2::API::Breakage'  => '1.302073',
-            'Test2::API::Context'   => '1.302073',
-            'Test2::API::Instance'  => '1.302073',
-            'Test2::API::Stack'     => '1.302073',
-            'Test2::Event'          => '1.302073',
-            'Test2::Event::Bail'    => '1.302073',
-            'Test2::Event::Diag'    => '1.302073',
-            'Test2::Event::Encoding'=> '1.302073',
-            'Test2::Event::Exception'=> '1.302073',
-            'Test2::Event::Generic' => '1.302073',
-            'Test2::Event::Info'    => '1.302073',
-            'Test2::Event::Note'    => '1.302073',
-            'Test2::Event::Ok'      => '1.302073',
-            'Test2::Event::Plan'    => '1.302073',
-            'Test2::Event::Skip'    => '1.302073',
-            'Test2::Event::Subtest' => '1.302073',
-            'Test2::Event::TAP::Version'=> '1.302073',
-            'Test2::Event::Waiting' => '1.302073',
-            'Test2::Formatter'      => '1.302073',
-            'Test2::Formatter::TAP' => '1.302073',
-            'Test2::Hub'            => '1.302073',
-            'Test2::Hub::Interceptor'=> '1.302073',
-            'Test2::Hub::Interceptor::Terminator'=> '1.302073',
-            'Test2::Hub::Subtest'   => '1.302073',
-            'Test2::IPC'            => '1.302073',
-            'Test2::IPC::Driver'    => '1.302073',
-            'Test2::IPC::Driver::Files'=> '1.302073',
-            'Test2::Tools::Tiny'    => '1.302073',
-            'Test2::Util'           => '1.302073',
-            'Test2::Util::ExternalMeta'=> '1.302073',
-            'Test2::Util::HashBase' => '0.002',
-            'Test2::Util::Trace'    => '1.302073',
-            'Test::Builder'         => '1.302073',
-            'Test::Builder::Formatter'=> '1.302073',
-            'Test::Builder::Module' => '1.302073',
-            'Test::Builder::Tester' => '1.302073',
-            'Test::Builder::Tester::Color'=> '1.302073',
-            'Test::Builder::TodoDiag'=> '1.302073',
-            'Test::More'            => '1.302073',
-            'Test::Simple'          => '1.302073',
-            'Test::Tester'          => '1.302073',
-            'Test::Tester::Capture' => '1.302073',
-            'Test::Tester::CaptureRunner'=> '1.302073',
-            'Test::Tester::Delegate'=> '1.302073',
-            'Test::use::ok'         => '1.302073',
-            'Time::HiRes'           => '1.9741',
-            'Time::Local'           => '1.25',
-            'Unicode::Collate'      => '1.19',
-            'Unicode::Collate::CJK::Big5'=> '1.19',
-            'Unicode::Collate::CJK::GB2312'=> '1.19',
-            'Unicode::Collate::CJK::JISX0208'=> '1.19',
-            'Unicode::Collate::CJK::Korean'=> '1.19',
-            'Unicode::Collate::CJK::Pinyin'=> '1.19',
-            'Unicode::Collate::CJK::Stroke'=> '1.19',
-            'Unicode::Collate::CJK::Zhuyin'=> '1.19',
-            'Unicode::Collate::Locale'=> '1.19',
-            'bigint'                => '0.47',
-            'bignum'                => '0.47',
-            'bigrat'                => '0.47',
-            'encoding'              => '2.19',
-            'ok'                    => '1.302073',
-        },
-        removed => {
-        }
-    },
-    5.022003 => {
-        delta_from => 5.022002,
-        changed => {
-            'App::Cpan'             => '1.63_01',
-            'App::Prove'            => '3.35_01',
-            'App::Prove::State'     => '3.35_01',
-            'App::Prove::State::Result'=> '3.35_01',
-            'App::Prove::State::Result::Test'=> '3.35_01',
-            'Archive::Tar'          => '2.04_01',
-            'Archive::Tar::Constant'=> '2.04_01',
-            'Archive::Tar::File'    => '2.04_01',
-            'B::Op_private'         => '5.022003',
-            'CPAN'                  => '2.11_01',
-            'Compress::Zlib'        => '2.068_001',
-            'Config'                => '5.022003',
-            'Cwd'                   => '3.56_02',
-            'Digest'                => '1.17_01',
-            'Digest::SHA'           => '5.95_01',
-            'Encode'                => '2.72_01',
-            'ExtUtils::Command'     => '1.20_01',
-            'ExtUtils::Command::MM' => '7.04_02',
-            'ExtUtils::Liblist'     => '7.04_02',
-            'ExtUtils::Liblist::Kid'=> '7.04_02',
-            'ExtUtils::MM'          => '7.04_02',
-            'ExtUtils::MM_AIX'      => '7.04_02',
-            'ExtUtils::MM_Any'      => '7.04_02',
-            'ExtUtils::MM_BeOS'     => '7.04_02',
-            'ExtUtils::MM_Cygwin'   => '7.04_02',
-            'ExtUtils::MM_DOS'      => '7.04_02',
-            'ExtUtils::MM_Darwin'   => '7.04_02',
-            'ExtUtils::MM_MacOS'    => '7.04_02',
-            'ExtUtils::MM_NW5'      => '7.04_02',
-            'ExtUtils::MM_OS2'      => '7.04_02',
-            'ExtUtils::MM_QNX'      => '7.04_02',
-            'ExtUtils::MM_UWIN'     => '7.04_02',
-            'ExtUtils::MM_Unix'     => '7.04_02',
-            'ExtUtils::MM_VMS'      => '7.04_02',
-            'ExtUtils::MM_VOS'      => '7.04_02',
-            'ExtUtils::MM_Win32'    => '7.04_02',
-            'ExtUtils::MM_Win95'    => '7.04_02',
-            'ExtUtils::MY'          => '7.04_02',
-            'ExtUtils::MakeMaker'   => '7.04_02',
-            'ExtUtils::MakeMaker::Config'=> '7.04_02',
-            'ExtUtils::Mkbootstrap' => '7.04_02',
-            'ExtUtils::Mksymlists'  => '7.04_02',
-            'ExtUtils::testlib'     => '7.04_02',
-            'File::Fetch'           => '0.48_01',
-            'File::Spec'            => '3.56_02',
-            'File::Spec::Cygwin'    => '3.56_02',
-            'File::Spec::Epoc'      => '3.56_02',
-            'File::Spec::Functions' => '3.56_02',
-            'File::Spec::Mac'       => '3.56_02',
-            'File::Spec::OS2'       => '3.56_02',
-            'File::Spec::Unix'      => '3.56_02',
-            'File::Spec::VMS'       => '3.56_02',
-            'File::Spec::Win32'     => '3.56_02',
-            'HTTP::Tiny'            => '0.054_01',
-            'I18N::LangTags::Detect'=> '1.05_01',
-            'IO'                    => '1.35_01',
-            'IO::Compress::Adapter::Bzip2'=> '2.068_001',
-            'IO::Compress::Adapter::Deflate'=> '2.068_001',
-            'IO::Compress::Adapter::Identity'=> '2.068_001',
-            'IO::Compress::Base'    => '2.068_001',
-            'IO::Compress::Base::Common'=> '2.068_001',
-            'IO::Compress::Bzip2'   => '2.068_001',
-            'IO::Compress::Deflate' => '2.068_001',
-            'IO::Compress::Gzip'    => '2.068_001',
-            'IO::Compress::Gzip::Constants'=> '2.068_001',
-            'IO::Compress::RawDeflate'=> '2.068_001',
-            'IO::Compress::Zip'     => '2.068_001',
-            'IO::Compress::Zip::Constants'=> '2.068_001',
-            'IO::Compress::Zlib::Constants'=> '2.068_001',
-            'IO::Compress::Zlib::Extra'=> '2.068_001',
-            'IO::Uncompress::Adapter::Bunzip2'=> '2.068_001',
-            'IO::Uncompress::Adapter::Identity'=> '2.068_001',
-            'IO::Uncompress::Adapter::Inflate'=> '2.068_001',
-            'IO::Uncompress::AnyInflate'=> '2.068_001',
-            'IO::Uncompress::AnyUncompress'=> '2.068_001',
-            'IO::Uncompress::Base'  => '2.068_001',
-            'IO::Uncompress::Bunzip2'=> '2.068_001',
-            'IO::Uncompress::Gunzip'=> '2.068_001',
-            'IO::Uncompress::Inflate'=> '2.068_001',
-            'IO::Uncompress::RawInflate'=> '2.068_001',
-            'IO::Uncompress::Unzip' => '2.068_001',
-            'IPC::Cmd'              => '0.92_01',
-            'JSON::PP'              => '2.27300_01',
-            'Locale::Maketext'      => '1.26_01',
-            'Locale::Maketext::Simple'=> '0.21_01',
-            'Memoize'               => '1.03_01',
-            'Module::CoreList'      => '5.20170114_22',
-            'Module::CoreList::TieHashDelta'=> '5.20170114_22',
-            'Module::CoreList::Utils'=> '5.20170114_22',
-            'Module::Metadata::corpus::BOMTest::UTF16BE'=> undef,
-            'Module::Metadata::corpus::BOMTest::UTF16LE'=> undef,
-            'Module::Metadata::corpus::BOMTest::UTF8'=> '1',
-            'Net::Cmd'              => '3.05_01',
-            'Net::Config'           => '3.05_01',
-            'Net::Domain'           => '3.05_01',
-            'Net::FTP'              => '3.05_01',
-            'Net::FTP::A'           => '3.05_01',
-            'Net::FTP::E'           => '3.05_01',
-            'Net::FTP::I'           => '3.05_01',
-            'Net::FTP::L'           => '3.05_01',
-            'Net::FTP::dataconn'    => '3.05_01',
-            'Net::NNTP'             => '3.05_01',
-            'Net::Netrc'            => '3.05_01',
-            'Net::POP3'             => '3.05_01',
-            'Net::Ping'             => '2.43_01',
-            'Net::SMTP'             => '3.05_01',
-            'Net::Time'             => '3.05_01',
-            'Parse::CPAN::Meta'     => '1.4414_001',
-            'Pod::Html'             => '1.2201',
-            'Pod::Perldoc'          => '3.25_01',
-            'Storable'              => '2.53_02',
-            'Sys::Syslog'           => '0.33_01',
-            'TAP::Base'             => '3.35_01',
-            'TAP::Formatter::Base'  => '3.35_01',
-            'TAP::Formatter::Color' => '3.35_01',
-            'TAP::Formatter::Console'=> '3.35_01',
-            'TAP::Formatter::Console::ParallelSession'=> '3.35_01',
-            'TAP::Formatter::Console::Session'=> '3.35_01',
-            'TAP::Formatter::File'  => '3.35_01',
-            'TAP::Formatter::File::Session'=> '3.35_01',
-            'TAP::Formatter::Session'=> '3.35_01',
-            'TAP::Harness'          => '3.35_01',
-            'TAP::Harness::Env'     => '3.35_01',
-            'TAP::Object'           => '3.35_01',
-            'TAP::Parser'           => '3.35_01',
-            'TAP::Parser::Aggregator'=> '3.35_01',
-            'TAP::Parser::Grammar'  => '3.35_01',
-            'TAP::Parser::Iterator' => '3.35_01',
-            'TAP::Parser::Iterator::Array'=> '3.35_01',
-            'TAP::Parser::Iterator::Process'=> '3.35_01',
-            'TAP::Parser::Iterator::Stream'=> '3.35_01',
-            'TAP::Parser::IteratorFactory'=> '3.35_01',
-            'TAP::Parser::Multiplexer'=> '3.35_01',
-            'TAP::Parser::Result'   => '3.35_01',
-            'TAP::Parser::Result::Bailout'=> '3.35_01',
-            'TAP::Parser::Result::Comment'=> '3.35_01',
-            'TAP::Parser::Result::Plan'=> '3.35_01',
-            'TAP::Parser::Result::Pragma'=> '3.35_01',
-            'TAP::Parser::Result::Test'=> '3.35_01',
-            'TAP::Parser::Result::Unknown'=> '3.35_01',
-            'TAP::Parser::Result::Version'=> '3.35_01',
-            'TAP::Parser::Result::YAML'=> '3.35_01',
-            'TAP::Parser::ResultFactory'=> '3.35_01',
-            'TAP::Parser::Scheduler'=> '3.35_01',
-            'TAP::Parser::Scheduler::Job'=> '3.35_01',
-            'TAP::Parser::Scheduler::Spinner'=> '3.35_01',
-            'TAP::Parser::Source'   => '3.35_01',
-            'TAP::Parser::SourceHandler'=> '3.35_01',
-            'TAP::Parser::SourceHandler::Executable'=> '3.35_01',
-            'TAP::Parser::SourceHandler::File'=> '3.35_01',
-            'TAP::Parser::SourceHandler::Handle'=> '3.35_01',
-            'TAP::Parser::SourceHandler::Perl'=> '3.35_01',
-            'TAP::Parser::SourceHandler::RawTAP'=> '3.35_01',
-            'TAP::Parser::YAMLish::Reader'=> '3.35_01',
-            'TAP::Parser::YAMLish::Writer'=> '3.35_01',
-            'Test'                  => '1.26_01',
-            'Test::Harness'         => '3.35_01',
-            'XSLoader'              => '0.20_01',
-            'bigint'                => '0.39_01',
-            'bignum'                => '0.39_01',
-            'bigrat'                => '0.39_01',
-        },
-        removed => {
-        }
-    },
 );
 
 sub is_core
@@ -13727,7 +11622,7 @@ sub is_core
         }
         RELEASE:
         foreach my $prn (@releases) {
-            next RELEASE if $prn < $first_release;
+            next RELEASE if $prn <= $first_release;
             last RELEASE if $prn > $perl_version;
             next unless defined(my $next_module_version
                                    = $delta{$prn}->{changed}->{$module});
@@ -14142,6 +12037,7 @@ for my $version (sort { $a <=> $b } keys %delta) {
             'Module::Build::Version'=> 1,
             'Module::Build::YAML'   => 1,
             'Package::Constants'    => 1,
+            'Simple'                => 1,
             'inc::latest'           => 1,
         }
     },
@@ -14250,167 +12146,6 @@ for my $version (sort { $a <=> $b } keys %delta) {
         removed => {
         }
     },
-    5.023001 => {
-        delta_from => 5.023000,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023002 => {
-        delta_from => 5.023001,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.020003 => {
-        delta_from => 5.020002,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023003 => {
-        delta_from => 5.023002,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023004 => {
-        delta_from => 5.023003,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023005 => {
-        delta_from => 5.023004,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.022001 => {
-        delta_from => 5.022,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023006 => {
-        delta_from => 5.023005,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023007 => {
-        delta_from => 5.023006,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023008 => {
-        delta_from => 5.023007,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023009 => {
-        delta_from => 5.023008,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.022002 => {
-        delta_from => 5.022001,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.024000 => {
-        delta_from => 5.023009,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025000 => {
-        delta_from => 5.024,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025001 => {
-        delta_from => 5.025,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025002 => {
-        delta_from => 5.025001,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025003 => {
-        delta_from => 5.025002,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025004 => {
-        delta_from => 5.025003,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025005 => {
-        delta_from => 5.025004,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025006 => {
-        delta_from => 5.025005,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025007 => {
-        delta_from => 5.025006,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025008 => {
-        delta_from => 5.025007,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.022003 => {
-        delta_from => 5.022002,
-        changed => {
-        },
-        removed => {
-        }
-    },
 );
 
 for my $version (sort { $a <=> $b } keys %deprecated) {
@@ -14808,7 +12543,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'autodie'               => 'cpan',
     'autodie::Scope::Guard' => 'cpan',
     'autodie::Scope::GuardStack'=> 'cpan',
-    'autodie::ScopeUtil'    => 'cpan',
+    'autodie::Util'         => 'cpan',
     'autodie::exception'    => 'cpan',
     'autodie::exception::system'=> 'cpan',
     'autodie::hints'        => 'cpan',
@@ -14864,7 +12599,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'CPAN::Meta::History'   => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
     'CPAN::Meta::Merge'     => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
     'CPAN::Meta::Prereqs'   => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
-    'CPAN::Meta::Requirements'=> 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta-Requirements/issues',
+    'CPAN::Meta::Requirements'=> 'https://github.com/dagolden/CPAN-Meta-Requirements/issues',
     'CPAN::Meta::Spec'      => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
     'CPAN::Meta::Validator' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
     'CPAN::Meta::YAML'      => 'https://github.com/Perl-Toolchain-Gang/YAML-Tiny/issues',
@@ -14914,7 +12649,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Encode::TW'            => undef,
     'Encode::Unicode'       => undef,
     'Encode::Unicode::UTF7' => undef,
-    'ExtUtils::Command'     => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+    'ExtUtils::Command'     => 'http://rt.perl.org/rt3/',
     'ExtUtils::Command::MM' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
     'ExtUtils::Constant'    => undef,
     'ExtUtils::Constant::Base'=> undef,
@@ -14996,8 +12731,8 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'IPC::SysV'             => undef,
     'JSON::PP'              => undef,
     'JSON::PP::Boolean'     => undef,
-    'List::Util'            => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils',
-    'List::Util::XS'        => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils',
+    'List::Util'            => undef,
+    'List::Util::XS'        => undef,
     'Locale::Codes'         => undef,
     'Locale::Codes::Constants'=> undef,
     'Locale::Codes::Country'=> undef,
@@ -15061,15 +12796,15 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Net::SMTP'             => undef,
     'Net::Time'             => undef,
     'Params::Check'         => undef,
-    'Parse::CPAN::Meta'     => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
-    'Perl::OSType'          => 'https://github.com/Perl-Toolchain-Gang/Perl-OSType/issues',
+    'Parse::CPAN::Meta'     => 'https://github.com/Perl-Toolchain-Gang/Parse-CPAN-Meta/issues',
+    'Perl::OSType'          => 'https://github.com/dagolden/Perl-OSType/issues',
     'PerlIO::via::QuotedPrint'=> undef,
     'Pod::Checker'          => undef,
     'Pod::Escapes'          => undef,
     'Pod::Find'             => undef,
     'Pod::InputObjects'     => undef,
-    'Pod::Man'              => 'https://rt.cpan.org/Dist/Display.html?Name=podlators',
-    'Pod::ParseLink'        => 'https://rt.cpan.org/Dist/Display.html?Name=podlators',
+    'Pod::Man'              => undef,
+    'Pod::ParseLink'        => undef,
     'Pod::ParseUtils'       => undef,
     'Pod::Parser'           => undef,
     'Pod::Perldoc'          => undef,
@@ -15087,42 +12822,42 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Pod::Perldoc::ToXml'   => undef,
     'Pod::PlainText'        => undef,
     'Pod::Select'           => undef,
-    'Pod::Simple'           => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::BlackBox' => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::Checker'  => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::Debug'    => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::DumpAsText'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::DumpAsXML'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::HTML'     => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::HTMLBatch'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::HTMLLegacy'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::LinkSection'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::Methody'  => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::Progress' => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::PullParser'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::PullParserEndToken'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::PullParserStartToken'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::PullParserTextToken'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::PullParserToken'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::RTF'      => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::Search'   => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::SimpleTree'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::Text'     => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::TextContent'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::TiedOutFH'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::Transcode'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::TranscodeDumb'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::TranscodeSmart'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::XHTML'    => 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Simple::XMLOutStream'=> 'https://github.com/perl-pod/pod-simple/issues',
-    'Pod::Text'             => 'https://rt.cpan.org/Dist/Display.html?Name=podlators',
-    'Pod::Text::Color'      => 'https://rt.cpan.org/Dist/Display.html?Name=podlators',
-    'Pod::Text::Overstrike' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators',
-    'Pod::Text::Termcap'    => 'https://rt.cpan.org/Dist/Display.html?Name=podlators',
+    'Pod::Simple'           => undef,
+    'Pod::Simple::BlackBox' => undef,
+    'Pod::Simple::Checker'  => undef,
+    'Pod::Simple::Debug'    => undef,
+    'Pod::Simple::DumpAsText'=> undef,
+    'Pod::Simple::DumpAsXML'=> undef,
+    'Pod::Simple::HTML'     => undef,
+    'Pod::Simple::HTMLBatch'=> undef,
+    'Pod::Simple::HTMLLegacy'=> undef,
+    'Pod::Simple::LinkSection'=> undef,
+    'Pod::Simple::Methody'  => undef,
+    'Pod::Simple::Progress' => undef,
+    'Pod::Simple::PullParser'=> undef,
+    'Pod::Simple::PullParserEndToken'=> undef,
+    'Pod::Simple::PullParserStartToken'=> undef,
+    'Pod::Simple::PullParserTextToken'=> undef,
+    'Pod::Simple::PullParserToken'=> undef,
+    'Pod::Simple::RTF'      => undef,
+    'Pod::Simple::Search'   => undef,
+    'Pod::Simple::SimpleTree'=> undef,
+    'Pod::Simple::Text'     => undef,
+    'Pod::Simple::TextContent'=> undef,
+    'Pod::Simple::TiedOutFH'=> undef,
+    'Pod::Simple::Transcode'=> undef,
+    'Pod::Simple::TranscodeDumb'=> undef,
+    'Pod::Simple::TranscodeSmart'=> undef,
+    'Pod::Simple::XHTML'    => undef,
+    'Pod::Simple::XMLOutStream'=> undef,
+    'Pod::Text'             => undef,
+    'Pod::Text::Color'      => undef,
+    'Pod::Text::Overstrike' => undef,
+    'Pod::Text::Termcap'    => undef,
     'Pod::Usage'            => undef,
-    'Scalar::Util'          => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils',
+    'Scalar::Util'          => undef,
     'Socket'                => undef,
-    'Sub::Util'             => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils',
+    'Sub::Util'             => undef,
     'Sys::Syslog'           => undef,
     'Sys::Syslog::Win32'    => undef,
     'TAP::Base'             => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
@@ -15168,29 +12903,29 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'TAP::Parser::SourceHandler::RawTAP'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
     'TAP::Parser::YAMLish::Reader'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
     'TAP::Parser::YAMLish::Writer'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
-    'Term::ANSIColor'       => 'https://rt.cpan.org/Dist/Display.html?Name=Term-ANSIColor',
+    'Term::ANSIColor'       => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Term-ANSIColor',
     'Term::Cap'             => undef,
     'Test'                  => undef,
-    'Test::Builder'         => 'http://github.com/Test-More/test-more/issues',
-    'Test::Builder::IO::Scalar'=> 'http://github.com/Test-More/test-more/issues',
-    'Test::Builder::Module' => 'http://github.com/Test-More/test-more/issues',
-    'Test::Builder::Tester' => 'http://github.com/Test-More/test-more/issues',
-    'Test::Builder::Tester::Color'=> 'http://github.com/Test-More/test-more/issues',
+    'Test::Builder'         => 'http://github.com/Test-More/test-more/issues/',
+    'Test::Builder::IO::Scalar'=> 'http://github.com/Test-More/test-more/issues/',
+    'Test::Builder::Module' => 'http://github.com/Test-More/test-more/issues/',
+    'Test::Builder::Tester' => 'http://github.com/Test-More/test-more/issues/',
+    'Test::Builder::Tester::Color'=> 'http://github.com/Test-More/test-more/issues/',
     'Test::Harness'         => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
-    'Test::More'            => 'http://github.com/Test-More/test-more/issues',
-    'Test::Simple'          => 'http://github.com/Test-More/test-more/issues',
-    'Test::Tester'          => 'http://github.com/Test-More/test-more/issues',
-    'Test::Tester::Capture' => 'http://github.com/Test-More/test-more/issues',
-    'Test::Tester::CaptureRunner'=> 'http://github.com/Test-More/test-more/issues',
-    'Test::Tester::Delegate'=> 'http://github.com/Test-More/test-more/issues',
-    'Test::use::ok'         => 'http://github.com/Test-More/test-more/issues',
+    'Test::More'            => 'http://github.com/Test-More/test-more/issues/',
+    'Test::Simple'          => 'http://github.com/Test-More/test-more/issues/',
+    'Test::Tester'          => 'http://github.com/Test-More/test-more/issues/',
+    'Test::Tester::Capture' => 'http://github.com/Test-More/test-more/issues/',
+    'Test::Tester::CaptureRunner'=> 'http://github.com/Test-More/test-more/issues/',
+    'Test::Tester::Delegate'=> 'http://github.com/Test-More/test-more/issues/',
+    'Test::use::ok'         => 'http://github.com/Test-More/test-more/issues/',
     'Text::Balanced'        => undef,
     'Text::ParseWords'      => undef,
     'Text::Tabs'            => undef,
     'Text::Wrap'            => undef,
     'Tie::RefHash'          => undef,
     'Time::HiRes'           => undef,
-    'Time::Local'           => 'https://github.com/houseabsolute/Time-Local/issues',
+    'Time::Local'           => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Time-Local',
     'Time::Piece'           => undef,
     'Time::Seconds'         => undef,
     'Unicode::Collate'      => undef,
@@ -15202,14 +12937,14 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Unicode::Collate::CJK::Stroke'=> undef,
     'Unicode::Collate::CJK::Zhuyin'=> undef,
     'Unicode::Collate::Locale'=> undef,
-    'Unicode::Normalize'    => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Unicode-Normalize',
+    'Unicode::Normalize'    => undef,
     'Win32'                 => undef,
     'Win32API::File'        => undef,
     'Win32API::File::ExtUtils::Myconst2perl'=> undef,
     'autodie'               => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
     'autodie::Scope::Guard' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
     'autodie::Scope::GuardStack'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
-    'autodie::ScopeUtil'    => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
+    'autodie::Util'         => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
     'autodie::exception'    => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
     'autodie::exception::system'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
     'autodie::hints'        => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
@@ -15217,7 +12952,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'encoding'              => undef,
     'encoding::warnings'    => undef,
     'experimental'          => 'http://rt.cpan.org/Public/Dist/Display.html?Name=experimental',
-    'ok'                    => 'http://github.com/Test-More/test-more/issues',
+    'ok'                    => 'http://github.com/Test-More/test-more/issues/',
     'parent'                => undef,
     'perlfaq'               => 'https://github.com/perl-doc-cats/perlfaq/issues',
     'version'               => 'https://rt.cpan.org/Public/Dist/Display.html?Name=version',
index 0ab1f61..edc00ec 100644 (file)
@@ -8,14 +8,9 @@ Module::CoreList - what modules shipped with versions of perl
 
  print $Module::CoreList::version{5.00503}{CPAN}; # prints 1.48
 
- print Module::CoreList->first_release('File::Spec');
- # prints 5.00405
-
- print Module::CoreList->first_release_by_date('File::Spec');
- # prints 5.005
-
- print Module::CoreList->first_release('File::Spec', 0.82);
- # prints 5.006001
+ print Module::CoreList->first_release('File::Spec');         # prints 5.00405
+ print Module::CoreList->first_release_by_date('File::Spec'); # prints 5.005
+ print Module::CoreList->first_release('File::Spec', 0.82);   # prints 5.006001
 
  if (Module::CoreList::is_core('File::Spec')) {
    print "File::Spec is a core module\n";
@@ -24,7 +19,7 @@ Module::CoreList - what modules shipped with versions of perl
  print join ', ', Module::CoreList->find_modules(qr/Data/);
     # prints 'Data::Dumper'
  print join ', ',
-          Module::CoreList->find_modules(qr/test::h.*::.*s/i, 5.008008);
+            Module::CoreList->find_modules(qr/test::h.*::.*s/i, 5.008008);
     # prints 'Test::Harness::Assert, Test::Harness::Straps'
 
  print join ", ", @{ $Module::CoreList::families{5.005} };
@@ -78,11 +73,8 @@ you may provide a list of perl versions to limit the regex search.
 
 =item C<find_version( PERL_VERSION )>
 
-Takes a perl version as an argument. Upon successful completion, returns a
-reference to a hash.  Each element of that hash has a key which is the name of
-a module (I<e.g.,> 'File::Path') shipped with that version of perl and a value
-which is the version number (I<e.g.,> '2.09') of that module which shipped
-with that version of perl .  Returns C<undef> otherwise.
+Takes a perl version as an argument. Returns that perl version if it exists or C<undef>
+otherwise.
 
 =item C<is_core( MODULE, [ MODULE_VERSION, [ PERL_VERSION ] ] )>
 
@@ -108,7 +100,7 @@ omitted, it defaults to the current version of Perl.
 
 Available in version 2.77 and above.
 
-Returns the first perl version where the MODULE was marked as deprecated. Returns C<undef>
+Returns the first PERL_VERSION where the MODULE was marked as deprecated. Returns C<undef>
 if the MODULE has not been marked as deprecated.
 
 =item C<removed_from( MODULE )>
index a6bd504..3a7fbf3 100644 (file)
@@ -3,7 +3,7 @@ package Module::CoreList::TieHashDelta;
 use strict;
 use vars qw($VERSION);
 
-$VERSION = '5.20170114_22';
+$VERSION = '5.20150620';
 
 sub TIEHASH {
     my ($class, $changed, $removed, $parent) = @_;
@@ -48,9 +48,6 @@ 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;
index b199717..f42bb9b 100644 (file)
@@ -6,7 +6,7 @@ use vars qw[$VERSION %utilities];
 use Module::CoreList;
 use Module::CoreList::TieHashDelta;
 
-$VERSION = '5.20170114_22';
+$VERSION = '5.20150620';
 
 sub utilities {
     my $perl = shift;
@@ -1059,167 +1059,6 @@ my %delta = (
         removed => {
         }
     },
-    5.023001 => {
-        delta_from => 5.023,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023002 => {
-        delta_from => 5.023001,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.020003 => {
-        delta_from => 5.020002,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023003 => {
-        delta_from => 5.023002,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023004 => {
-        delta_from => 5.023003,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023005 => {
-        delta_from => 5.023004,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.022001 => {
-        delta_from => 5.022,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023006 => {
-        delta_from => 5.023005,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023007 => {
-        delta_from => 5.023006,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023008 => {
-        delta_from => 5.023007,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.023009 => {
-        delta_from => 5.023008,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.022002 => {
-        delta_from => 5.022001,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.024000 => {
-        delta_from => 5.023009,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025000 => {
-        delta_from => 5.024000,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025001 => {
-        delta_from => 5.025000,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025002 => {
-        delta_from => 5.025001,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025003 => {
-        delta_from => 5.025002,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025004 => {
-        delta_from => 5.025003,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025005 => {
-        delta_from => 5.025004,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025006 => {
-        delta_from => 5.025005,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025007 => {
-        delta_from => 5.025006,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.025008 => {
-        delta_from => 5.025007,
-        changed => {
-        },
-        removed => {
-        }
-    },
-    5.022003 => {
-        delta_from => 5.022002,
-        changed => {
-        },
-        removed => {
-        }
-    },
 );
 
 for my $version (sort { $a <=> $b } keys %delta) {
@@ -1266,11 +1105,8 @@ Module::CoreList::Utils - what utilities shipped with versions of perl
 
  print $Module::CoreList::Utils::utilities{5.009003}{ptar}; # prints 1
 
- print Module::CoreList::Utils->first_release('corelist');
- # prints 5.008009
-
- print Module::CoreList::Utils->first_release_by_date('corelist');
- # prints 5.009002
+ print Module::CoreList::Utils->first_release('corelist');           # prints 5.008009
+ print Module::CoreList::Utils->first_release_by_date('corelist');   # prints 5.009002
 
 =head1 DESCRIPTION
 
index 4adbbe9..c129584 100644 (file)
@@ -1,7 +1,7 @@
 #!perl -w
 use strict;
 use Module::CoreList;
-use Test::More tests => 34;
+use Test::More tests => 29;
 
 BEGIN { require_ok('Module::CoreList'); }
 
@@ -105,19 +105,4 @@ is(Module::CoreList::removed_from('CPANPLUS::inc'), 5.010001,
 
     cmp_ok($warnings_count, '==', 0,
            "an undefined version does not produce warnings rt#123556");
-
-    ok(keys %{$Module::CoreList::version{5.023002}} > 0,
-       "have recent enough data to test for deep recursion warnings");
-
-    cmp_ok($warnings_count, '==', 0,
-           "no deep recursion warnings for newer perl versions");
 }
-
-ok(! defined(Module::CoreList->find_version()),
-    "Lacking an argument, Module::CoreList->find_version() returns undef");
-my $v = 5.022;
-is(ref(Module::CoreList->find_version($v)), 'HASH',
-    "With argument, Module::CoreList->find_version() returns hashref");
-$v = 5.022000;
-is(ref(Module::CoreList->find_version($v)), 'HASH',
-    "With argument, Module::CoreList->find_version() returns hashref");
index 1ddc260..cc06a21 100644 (file)
@@ -1,7 +1,7 @@
 #!perl -w
 use strict;
 use Module::CoreList;
-use Test::More tests => 43;
+use Test::More tests => 38;
 
 BEGIN { require_ok('Module::CoreList'); }
 
@@ -28,13 +28,6 @@ ok(Module::CoreList::is_core('attributes', undef, '5.006001') == 1, "attributes
 ok(Module::CoreList::is_core('Pod::Plainer', undef, '5.012001') == 1, "Pod::Plainer was core in 5.12.1");
 ok(Module::CoreList::is_core('Pod::Plainer', undef, '5.016003') == 0, "Pod::Plainer was removed in 5.13.1");
 
-ok(!Module::CoreList::is_core('File::Temp', 0, '5.006'), 'File::Temp is not in 5.006000');
-ok(Module::CoreList::is_core('File::Temp', 0, '5.006001'), 'File::Temp is in 5.006001');
-ok(!Module::CoreList::is_core('File::Temp', '0.12', '5.006'), 'File::Temp 0.12 is not in 5.006000');
-ok(Module::CoreList::is_core('File::Temp', '0.12', '5.006001'), 'File::Temp 0.12 is in 5.006001');
-ok(Module::CoreList::is_core('File::Temp', '0.12', '5.006002'), 'File::Temp 0.12 is in 5.006002');
-
-
 # history of module 'encoding' in core
 #   version 1.00 included in 5.007003
 #   version 1.35 included in 5.008
index 86b0dfd..2766c9e 100644 (file)
@@ -17,7 +17,7 @@ use Time::HiRes;
 
 @ISA = qw(Exporter);
 @EXPORT = qw(pingecho);
-$VERSION = "2.43_01";
+$VERSION = "2.43";
 
 # Constants
 
@@ -410,11 +410,7 @@ sub ping_external {
       $timeout            # Seconds after which ping times out
      ) = @_;
 
-  eval {
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
-    require Net::Ping::External;
-  }
+  eval { require Net::Ping::External; }
     or croak('Protocol "external" not supported on your system: Net::Ping::External not found');
   return Net::Ping::External::ping(ip => $ip, timeout => $timeout);
 }
index 6164f1a..49cc4c1 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 use Exporter;
 use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 my $xs_version = $VERSION;
 $VERSION =~ tr/_//;
 
@@ -40,10 +40,7 @@ if ($^O eq 'os2') {
 my $use_vms_feature;
 BEGIN {
     if ($^O eq 'VMS') {
-        if (eval { local $SIG{__DIE__};
-                   local @INC = @INC;
-                   pop @INC if $INC[-1] eq '.';
-                   require VMS::Feature; }) {
+        if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
             $use_vms_feature = 1;
         }
     }
index 3d018dc..9d4dcf0 100644 (file)
@@ -535,7 +535,6 @@ THX_unix_canonpath(pTHX_ SV *path)
     *o = 0;
     SvPOK_on(retval);
     SvCUR_set(retval, o - SvPVX(retval));
-    SvTAINT(retval);
     return retval;
 }
 
index 4e05e35..8c77c98 100644 (file)
@@ -3,7 +3,7 @@ package File::Spec;
 use strict;
 use vars qw(@ISA $VERSION);
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 $VERSION =~ tr/_//;
 
 my %module = (MacOS   => 'Mac',
index 5ab8953..1b77e6a 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
@@ -137,11 +137,7 @@ sub case_tolerant {
   if ($mntopts and ($mntopts =~ /,managed/)) {
     return 0;
   }
-  eval {
-      local @INC = @INC;
-      pop @INC if $INC[-1] eq '.';
-      require Win32API::File;
-  } or return 1;
+  eval { require Win32API::File; } or return 1;
   my $osFsType = "\0"x256;
   my $osVolName = "\0"x256;
   my $ouFsFlags = 0;
index 3004774..7bc3867 100644 (file)
@@ -3,7 +3,7 @@ package File::Spec::Epoc;
 use strict;
 use vars qw($VERSION @ISA);
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 $VERSION =~ tr/_//;
 
 require File::Spec::Unix;
index 0aed504..8eafe24 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 
 use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 $VERSION =~ tr/_//;
 
 require Exporter;
index 426c151..02cae14 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
index 9ad4c86..fb8f101 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
index 11367ea..f76b29e 100644 (file)
@@ -3,7 +3,7 @@ package File::Spec::Unix;
 use strict;
 use vars qw($VERSION);
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 my $xs_version = $VERSION;
 $VERSION =~ tr/_//;
 
index b0a1f2f..254f524 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
@@ -39,10 +39,7 @@ via the C<DECC$FILENAME_UNIX_REPORT> CRTL feature.
 
 my $use_feature;
 BEGIN {
-    if (eval { local $SIG{__DIE__};
-               local @INC = @INC;
-               pop @INC if $INC[-1] eq '.';
-               require VMS::Feature; }) {
+    if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
         $use_feature = 1;
     }
 }
index 48ab9eb..53f3854 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.56_02';
+$VERSION = '3.56';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
@@ -90,11 +90,7 @@ Default: 1
 =cut
 
 sub case_tolerant {
-  eval {
-    local @INC = @INC;
-    pop @INC if $INC[-1] eq '.';
-    require Win32API::File;
-  } or return 1;
+  eval { require Win32API::File; } or return 1;
   my $drive = shift || "C:";
   my $osFsType = "\0"x256;
   my $osVolName = "\0"x256;
index 48f8c5b..309b3e5 100644 (file)
@@ -12,7 +12,7 @@ use Test::More;
 BEGIN {
     plan(
         ${^TAINT}
-        ? (tests => 21)
+        ? (tests => 17)
         : (skip_all => "A perl without taint support")
     );
 }
@@ -34,20 +34,3 @@ foreach my $func (@Functions) {
 
 # Previous versions of Cwd tainted $^O
 is !tainted($^O), 1, "\$^O should not be tainted";
-
-{
-    # [perl #126862] canonpath() loses taint
-    my $tainted = substr($ENV{PATH}, 0, 0);
-    # yes, getcwd()'s result should be tainted, and is tested above
-    # but be sure
-    ok tainted(File::Spec->canonpath($tainted . Cwd::getcwd)),
-        "canonpath() keeps taint on non-empty string";
-    ok tainted(File::Spec->canonpath($tainted)),
-        "canonpath() keeps taint on empty string";
-
-    (Cwd::getcwd() =~ /^(.*)/);
-    my $untainted = $1;
-    ok !tainted($untainted), "make sure our untainted value is untainted";
-    ok !tainted(File::Spec->canonpath($untainted)),
-        "canonpath() doesn't add taint to untainted string";
-}
index c8cbbcb..9d8b621 100644 (file)
@@ -22,16 +22,10 @@ package Storable; @ISA = qw(Exporter);
 
 use vars qw($canonical $forgive_me $VERSION);
 
-$VERSION = '2.53_02';
+$VERSION = '2.53';
 
 BEGIN {
-    if (eval {
-        local $SIG{__DIE__};
-        local @INC = @INC;
-        pop @INC if $INC[-1] eq '.';
-        require Log::Agent;
-        1;
-    }) {
+    if (eval { local $SIG{__DIE__}; require Log::Agent; 1 }) {
         Log::Agent->import;
     }
     #
index d518117..39f3565 100644 (file)
@@ -6668,7 +6668,6 @@ SV *      obj
  ALIAS:
   net_mstore = 1
  CODE:
-  RETVAL = &PL_sv_undef;
   if (!do_store(aTHX_ (PerlIO*) 0, obj, 0, ix, &RETVAL))
     RETVAL = &PL_sv_undef;
  OUTPUT:
index d4ed2c7..414eaf2 100644 (file)
@@ -10,7 +10,7 @@ print OUT <<'EOT';
 
 package XSLoader;
 
-$VERSION = "0.20_01";
+$VERSION = "0.20";
 
 #use strict;
 
@@ -92,43 +92,6 @@ print OUT <<'EOT';
     $modlibname =~ s,[\\/][^\\/]+$,, while $c--;    # Q&D basename
 EOT
 
-my $to_print = <<'EOT';
-    # Does this look like a relative path?
-    if ($modlibname !~ m{regexp}) {
-EOT
-
-$to_print =~ s~regexp~
-    $^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'cygwin' || $^O eq 'amigaos'
-        ? '^(?:[A-Za-z]:)?[\\\/]' # Optional drive letter
-        : '^/'
-~e;
-
-print OUT $to_print, <<'EOT';
-        # Someone may have a #line directive that changes the file name, or
-        # may be calling XSLoader::load from inside a string eval.  We cer-
-        # tainly do not want to go loading some code that is not in @INC,
-        # as it could be untrusted.
-        #
-        # We could just fall back to DynaLoader here, but then the rest of
-        # this function would go untested in the perl core, since all @INC
-        # paths are relative during testing.  That would be a time bomb
-        # waiting to happen, since bugs could be introduced into the code.
-        #
-        # So look through @INC to see if $modlibname is in it.  A rela-
-        # tive $modlibname is not a common occurrence, so this block is
-        # not hot code.
-        FOUND: {
-            for (@INC) {
-                if ($_ eq $modlibname) {
-                    last FOUND;
-                }
-            }
-            # Not found.  Fall back to DynaLoader.
-            goto \&XSLoader::bootstrap_inherit;
-        }
-    }
-EOT
-
 my $dl_dlext = quotemeta($Config::Config{'dlext'});
 
 print OUT <<"EOT";
@@ -245,7 +208,7 @@ XSLoader - Dynamically load C libraries into Perl code
 
 =head1 VERSION
 
-Version 0.20_01
+Version 0.17
 
 =head1 SYNOPSIS
 
index 1e86faa..2ff11fe 100644 (file)
@@ -33,7 +33,7 @@ my %modules = (
     'Time::HiRes'=> q| ::can_ok( 'Time::HiRes' => 'usleep'  ) |,  # 5.7.3
 );
 
-plan tests => keys(%modules) * 3 + 10;
+plan tests => keys(%modules) * 3 + 9;
 
 # Try to load the module
 use_ok( 'XSLoader' );
@@ -125,28 +125,3 @@ XSLoader::load("Devel::Peek");
 EOS
     or ::diag $@;
 }
-
-SKIP: {
-  skip "File::Path not available", 1
-    unless eval { require File::Path };
-  my $name = "phooo$$";
-  File::Path::make_path("$name/auto/Foo/Bar");
-  open my $fh,
-    ">$name/auto/Foo/Bar/Bar.$Config::Config{'dlext'}";
-  close $fh;
-  my $fell_back;
-  local *XSLoader::bootstrap_inherit = sub {
-    $fell_back++;
-    # Break out of the calling subs
-    goto the_test;
-  };
-  eval <<END;
-#line 1 $name
-package Foo::Bar;
-XSLoader::load("Foo::Bar");
-END
- the_test:
-  ok $fell_back,
-    'XSLoader will not load relative paths based on (caller)[1]';
-  File::Path::remove_tree($name);
-}
index 7aff4da..3bcf15a 100644 (file)
@@ -1,7 +1,7 @@
 package bigint;
 use 5.006;
 
-$VERSION = '0.39_01';
+$VERSION = '0.39';
 use Exporter;
 @ISA           = qw( Exporter );
 @EXPORT_OK     = qw( PI e bpi bexp hex oct );
@@ -248,8 +248,6 @@ sub import
     # see if we can find Math::BigInt::Lite
     if (!defined $a && !defined $p)            # rounding won't work to well
       {
-      local @INC = @INC;
-      pop @INC if $INC[-1] eq '.';
       if (eval { require Math::BigInt::Lite; 1 })
         {
         @import = ( );                         # :constant in Lite, not MBI
index 91f7030..67b9ede 100644 (file)
@@ -1,7 +1,7 @@
 package bignum;
 use 5.006;
 
-$VERSION = '0.39_01';
+$VERSION = '0.39';
 use Exporter;
 @ISA           = qw( bigint );
 @EXPORT_OK     = qw( PI e bexp bpi hex oct ); 
@@ -155,8 +155,6 @@ sub import
     # see if we can find Math::BigInt::Lite
     if (!defined $a && !defined $p)            # rounding won't work to well
       {
-      local @INC = @INC;
-      pop @INC if $INC[-1] eq '.';
       if (eval { require Math::BigInt::Lite; 1 })
         {
         @import = ( );                         # :constant in Lite, not MBI
index 72b7c57..b02831b 100644 (file)
@@ -1,7 +1,7 @@
 package bigrat;
 use 5.006;
 
-$VERSION = '0.39_01';
+$VERSION = '0.39';
 require Exporter;
 @ISA           = qw( bigint );
 @EXPORT_OK     = qw( PI e bpi bexp hex oct );
@@ -148,8 +148,6 @@ sub import
     # see if we can find Math::BigInt::Lite
     if (!defined $a && !defined $p)             # rounding won't work to well
       {
-      local @INC = @INC;
-      pop @INC if $INC[-1] eq '.';
       if (eval { require Math::BigInt::Lite; 1 })
         {
         @import = ( );                          # :constant in Lite, not MBI
index 7d7ea3d..9854f4d 100644 (file)
@@ -5,7 +5,7 @@ use 5.008;
 use strict;
 use warnings;
 
-our $VERSION = '2.01';
+our $VERSION = '2.02';
 my $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -134,7 +134,7 @@ threads - Perl interpreter-based threads
 
 =head1 VERSION
 
-This document describes threads version 2.01
+This document describes threads version 2.02
 
 =head1 WARNING
 
index 96973b7..908f52c 100644 (file)
@@ -48,7 +48,7 @@ my $rc = $thr->join();
 ok(! defined($rc), 'Exited: threads->exit()');
 
 
-run_perl(prog => 'use threads 2.01;' .
+run_perl(prog => 'use threads 2.02;' .
                  'threads->exit(86);' .
                  'exit(99);',
          nolib => ($ENV{PERL_CORE}) ? 0 : 1,
@@ -98,7 +98,7 @@ $rc = $thr->join();
 ok(! defined($rc), 'Exited: $thr->set_thread_exit_only');
 
 
-run_perl(prog => 'use threads 2.01 qw(exit thread_only);' .
+run_perl(prog => 'use threads 2.02 qw(exit thread_only);' .
                  'threads->create(sub { exit(99); })->join();' .
                  'exit(86);',
          nolib => ($ENV{PERL_CORE}) ? 0 : 1,
@@ -108,7 +108,7 @@ run_perl(prog => 'use threads 2.01 qw(exit thread_only);' .
     is($?>>8, 86, "'use threads 'exit' => 'thread_only'");
 }
 
-my $out = run_perl(prog => 'use threads 2.01;' .
+my $out = run_perl(prog => 'use threads 2.02;' .
                            'threads->create(sub {' .
                            '    exit(99);' .
                            '});' .
@@ -124,7 +124,7 @@ my $out = run_perl(prog => 'use threads 2.01;' .
 like($out, qr/1 finished and unjoined/, "exit(status) in thread");
 
 
-$out = run_perl(prog => 'use threads 2.01 qw(exit thread_only);' .
+$out = run_perl(prog => 'use threads 2.02 qw(exit thread_only);' .
                         'threads->create(sub {' .
                         '   threads->set_thread_exit_only(0);' .
                         '   exit(99);' .
@@ -141,7 +141,7 @@ $out = run_perl(prog => 'use threads 2.01 qw(exit thread_only);' .
 like($out, qr/1 finished and unjoined/, "set_thread_exit_only(0)");
 
 
-run_perl(prog => 'use threads 2.01;' .
+run_perl(prog => 'use threads 2.02;' .
                  'threads->create(sub {' .
                  '   $SIG{__WARN__} = sub { exit(99); };' .
                  '   die();' .
index a0e6296..56087f3 100644 (file)
@@ -161,7 +161,7 @@ package main;
 
 # bugid #24165
 
-run_perl(prog => 'use threads 2.01;' .
+run_perl(prog => 'use threads 2.02;' .
                  'sub a{threads->create(shift)} $t = a sub{};' .
                  '$t->tid; $t->join; $t->tid',
          nolib => ($ENV{PERL_CORE}) ? 0 : 1,
diff --git a/doio.c b/doio.c
index 5f29a6b..79ab20c 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -438,8 +438,11 @@ Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len,
                            else if (IoTYPE(thatio) == IoTYPE_SOCKET)
                                IoTYPE(io) = IoTYPE_SOCKET;
                        }
-                       else
-                           wanted_fd = -1;
+                        else {
+                            SETERRNO(EBADF, RMS_IFI);
+                            fp = NULL;
+                            goto say_false;
+                        }
                    }
                    if (!num_svs)
                        type = NULL;
@@ -1103,12 +1106,13 @@ Perl_io_close(pTHX_ IO *io, GV *gv, bool not_implicit, bool warn_on_fail)
                Perl_ck_warner_d(aTHX_ packWARN(WARN_IO),
                                "Warning: unable to close filehandle %"
                                 HEKf" properly: %"SVf,
-                                GvNAME_HEK(gv), get_sv("!",GV_ADD));
+                                HEKfARG(GvNAME_HEK(gv)),
+                                 SVfARG(get_sv("!",GV_ADD)));
            else
                Perl_ck_warner_d(aTHX_ packWARN(WARN_IO),
                                "Warning: unable to close filehandle "
                                "properly: %"SVf,
-                                get_sv("!",GV_ADD));
+                                SVfARG(get_sv("!",GV_ADD)));
        }
     }
     else if (not_implicit) {
diff --git a/dump.c b/dump.c
index 802dddf..d501cef 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -1415,7 +1415,6 @@ const struct flag_to_name regexp_core_intflags_names[] = {
     {PREGf_CUTGROUP_SEEN,   "CUTGROUP_SEEN,"},
     {PREGf_USE_RE_EVAL,     "USE_RE_EVAL,"},
     {PREGf_NOSCAN,          "NOSCAN,"},
-    {PREGf_CANY_SEEN,       "CANY_SEEN,"},
     {PREGf_GPOS_SEEN,       "GPOS_SEEN,"},
     {PREGf_GPOS_FLOAT,      "GPOS_FLOAT,"},
     {PREGf_ANCH_MBOL,       "ANCH_MBOL,"},
@@ -2318,7 +2317,7 @@ S_append_gv_name(pTHX_ GV *gv, SV *out)
     }
     sv = newSV(0);
     gv_fullname4(sv, gv, NULL, FALSE);
-    Perl_sv_catpvf(aTHX_ out, "%c%-p", '$', sv);
+    Perl_sv_catpvf(aTHX_ out, "$%"SVf, SVfARG(sv));
     SvREFCNT_dec_NN(sv);
 }
 
@@ -2525,8 +2524,8 @@ Perl_debop(pTHX_ const OP *o)
         break;
 
     case OP_MULTIDEREF:
-        PerlIO_printf(Perl_debug_log, "(%-p)",
-            multideref_stringify(o, deb_curcv(cxstack_ix)));
+        PerlIO_printf(Perl_debug_log, "(%"SVf")",
+            SVfARG(multideref_stringify(o, deb_curcv(cxstack_ix))));
         break;
 
     default:
index b26ba18..5302779 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -230,9 +230,7 @@ Apd |void   |av_push        |NN AV *av|NN SV *val
 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
@@ -655,9 +653,7 @@ 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
@@ -1453,9 +1449,7 @@ Apd       |void   |sv_magic       |NN SV *const sv|NULLOK SV *const obj|const int how \
 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
@@ -1699,10 +1693,8 @@ 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
@@ -2500,12 +2492,6 @@ sn       |void   |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \
 #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
@@ -2525,9 +2511,7 @@ sRM       |U8*    |swash_scan_list_line|NN U8* l|NN U8* const lend|NN UV* min \
                |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 \
diff --git a/embed.h b/embed.h
index e09ffee..687819c 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -32,6 +32,7 @@
 #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)
 #define _is_utf8_FOO(a,b)      Perl__is_utf8_FOO(aTHX_ a,b)
+#define _is_utf8_char_slow     S__is_utf8_char_slow
 #define _is_utf8_idcont(a)     Perl__is_utf8_idcont(aTHX_ a)
 #define _is_utf8_idstart(a)    Perl__is_utf8_idstart(aTHX_ a)
 #define _is_utf8_mark(a)       Perl__is_utf8_mark(aTHX_ a)
@@ -46,6 +47,7 @@
 #define _to_utf8_upper_flags(a,b,c,d)  Perl__to_utf8_upper_flags(aTHX_ a,b,c,d)
 #define amagic_call(a,b,c,d)   Perl_amagic_call(aTHX_ a,b,c,d)
 #define amagic_deref_call(a,b) Perl_amagic_deref_call(aTHX_ a,b)
+#define append_utf8_from_native_byte   S_append_utf8_from_native_byte
 #define apply_attrs_string(a,b,c,d)    Perl_apply_attrs_string(aTHX_ a,b,c,d)
 #define atfork_lock            Perl_atfork_lock
 #define atfork_unlock          Perl_atfork_unlock
@@ -61,6 +63,7 @@
 #define av_push(a,b)           Perl_av_push(aTHX_ a,b)
 #define av_shift(a)            Perl_av_shift(aTHX_ a)
 #define av_store(a,b,c)                Perl_av_store(aTHX_ a,b,c)
+#define av_top_index(a)                S_av_top_index(aTHX_ a)
 #define av_undef(a)            Perl_av_undef(aTHX_ a)
 #define av_unshift(a,b)                Perl_av_unshift(aTHX_ a,b)
 #define block_end(a,b)         Perl_block_end(aTHX_ a,b)
 #define isIDFIRST_lazy(a)      Perl_isIDFIRST_lazy(aTHX_ a)
 #define is_invariant_string    Perl_is_invariant_string
 #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_uni_alnum(a)                Perl_is_uni_alnum(aTHX_ a)
 #define is_uni_alnum_lc(a)     Perl_is_uni_alnum_lc(aTHX_ a)
 #define is_uni_alnumc(a)       Perl_is_uni_alnumc(aTHX_ a)
 #define my_pclose(a)           Perl_my_pclose(aTHX_ a)
 #define my_popen(a,b)          Perl_my_popen(aTHX_ a,b)
 #endif
-#if !defined(PERL_NO_INLINE_FUNCTIONS)
-#define _is_utf8_char_slow     S__is_utf8_char_slow
-#define append_utf8_from_native_byte   S_append_utf8_from_native_byte
-#define av_top_index(a)                S_av_top_index(aTHX_ a)
-#define is_safe_syscall(a,b,c,d)       S_is_safe_syscall(aTHX_ a,b,c,d)
-#endif
 #if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
 #define my_bcopy               Perl_my_bcopy
 #endif
 #define reg_temp_copy(a,b)     Perl_reg_temp_copy(aTHX_ a,b)
 #define report_uninit(a)       Perl_report_uninit(aTHX_ a)
 #define sv_magicext_mglob(a)   Perl_sv_magicext_mglob(aTHX_ a)
+#define sv_only_taint_gmagic   S_sv_only_taint_gmagic
 #define validate_proto(a,b,c)  Perl_validate_proto(aTHX_ a,b,c)
 #define vivify_defelem(a)      Perl_vivify_defelem(aTHX_ a)
 #define yylex()                        Perl_yylex(aTHX)
 #define invlist_trim           S_invlist_trim
 #    endif
 #  endif
-#  if !defined(PERL_NO_INLINE_FUNCTIONS)
-#define sv_only_taint_gmagic   S_sv_only_taint_gmagic
-#  endif
 #  if defined(DEBUGGING)
 #    if defined(PERL_IN_REGCOMP_C)
 #define dump_trie(a,b,c,d)     S_dump_trie(aTHX_ a,b,c,d)
 #define mem_log_common         S_mem_log_common
 #    endif
 #  endif
-#  if defined(PERL_MEM_LOG)
-#define mem_log_alloc          Perl_mem_log_alloc
-#define mem_log_free           Perl_mem_log_free
-#define mem_log_realloc                Perl_mem_log_realloc
-#  endif
 #  if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
 #define pidgone(a,b)           S_pidgone(aTHX_ a,b)
 #  endif
index 43fad83..670d8ec 100644 (file)
 #  define c99_ilogb    ilogbq
 #  define c99_lgamma   lgammaq
 #  define c99_log1p    log1pq
-#  define c99_llrint   llrintq
 #  define c99_log2     log2q
 /* no logbq */
-#  define c99_lround   llroundq
-#  define c99_lrint    lrintq
-#  define c99_lround   lroundq
+#  if defined(USE_64_BIT_INT) && QUADKIND == QUAD_IS_LONG_LONG
+#    define c99_lrint  llrintq
+#    define c99_lround llroundq
+#  else
+#    define c99_lrint  lrintq
+#    define c99_lround lroundq
+#  endif
 #  define c99_nan      nanq
 #  define c99_nearbyint        nearbyintq
 #  define c99_nextafter        nextafterq
@@ -1115,6 +1118,167 @@ static NV my_trunc(NV x)
 #  define c99_trunc my_trunc
 #endif
 
+#undef NV_PAYLOAD_DEBUG
+
+/* NOTE: the NaN payload API implementation is hand-rolled, since the
+ * APIs are only proposed ones as of June 2015, so very few, if any,
+ * platforms have implementations yet, so HAS_SETPAYLOAD and such are
+ * unlikely to be helpful.
+ *
+ * XXX - if the core numification wants to actually generate
+ * the nan payload in "nan(123)", and maybe "nans(456)", for
+ * signaling payload", this needs to be moved to e.g. numeric.c
+ * (look for grok_infnan)
+ *
+ * Conversely, if the core stringification wants the nan payload
+ * and/or the nan quiet/signaling distinction, S_getpayload()
+ * from this file needs to be moved, to e.g. sv.c (look for S_infnan_2pv),
+ * and the (trivial) functionality of issignaling() copied
+ * (for generating "NaNS", or maybe even "NaNQ") -- or maybe there
+ * are too many formatting parameters for simple stringification?
+ */
+
+/* While it might make sense for the payload to be UV or IV,
+ * to avoid conversion loss, the proposed ISO interfaces use
+ * a floating point input, which is then truncated to integer,
+ * and only the integer part being used.  This is workable,
+ * except for: (1) the conversion loss (2) suboptimal for
+ * 32-bit integer platforms.  A workaround API for (2) and
+ * in general for bit-honesty would be an array of integers
+ * as the payload... but the proposed C API does nothing of
+ * the kind. */
+#if NVSIZE == UVSIZE
+#  define NV_PAYLOAD_TYPE UV
+#else
+#  define NV_PAYLOAD_TYPE NV
+#endif
+
+#ifdef LONGDOUBLE_DOUBLEDOUBLE
+#  define NV_PAYLOAD_SIZEOF_ASSERT(a) assert(sizeof(a) == NVSIZE / 2)
+#else
+#  define NV_PAYLOAD_SIZEOF_ASSERT(a) assert(sizeof(a) == NVSIZE)
+#endif
+
+static void S_setpayload(NV* nvp, NV_PAYLOAD_TYPE payload, bool signaling)
+{
+  dTHX;
+  static const U8 m[] = { NV_NAN_PAYLOAD_MASK };
+  static const U8 p[] = { NV_NAN_PAYLOAD_PERM };
+  UV a[(NVSIZE + UVSIZE - 1) / UVSIZE] = { 0 };
+  int i;
+  NV_PAYLOAD_SIZEOF_ASSERT(m);
+  NV_PAYLOAD_SIZEOF_ASSERT(p);
+  *nvp = NV_NAN;
+  /* Divide the input into the array in "base unsigned integer" in
+   * little-endian order.  Note that the integer might be smaller than
+   * an NV (if UV is U32, for example). */
+#if NVSIZE == UVSIZE
+  a[0] = payload;  /* The trivial case. */
+#else
+  {
+    NV t1 = c99_trunc(payload); /* towards zero (drop fractional) */
+#ifdef NV_PAYLOAD_DEBUG
+    Perl_warn(aTHX_ "t1 = %"NVgf" (payload %"NVgf")\n", t1, payload);
+#endif
+    if (t1 <= UV_MAX) {
+      a[0] = (UV)t1;  /* Fast path, also avoids rounding errors (right?) */
+    } else {
+      /* UVSIZE < NVSIZE or payload > UV_MAX.
+       *
+       * This may happen for example if:
+       * (1) UVSIZE == 32 and common 64-bit double NV
+       *     (32-bit system not using -Duse64bitint)
+       * (2) UVSIZE == 64 and the x86-style 80-bit long double NV
+       *     (note that here the room for payload is actually the 64 bits)
+       * (3) UVSIZE == 64 and the 128-bit IEEE 764 quadruple NV
+       *     (112 bits in mantissa, 111 bits room for payload)
+       *
+       * NOTE: this is very sensitive to correctly functioning
+       * fmod()/fmodl(), and correct casting of big-unsigned-integer to NV.
+       * If these don't work right, especially the low order bits
+       * are in danger.  For example Solaris and AIX seem to have issues
+       * here, especially if using 32-bit UVs. */
+      NV t2;
+      for (i = 0, t2 = t1; i < (int)C_ARRAY_LENGTH(a); i++) {
+        a[i] = (UV)Perl_fmod(t2, (NV)UV_MAX);
+        t2 = Perl_floor(t2 / (NV)UV_MAX);
+      }
+    }
+  }
+#endif
+#ifdef NV_PAYLOAD_DEBUG
+  for (i = 0; i < (int)C_ARRAY_LENGTH(a); i++) {
+    Perl_warn(aTHX_ "a[%d] = 0x%"UVxf"\n", i, a[i]);
+  }
+#endif
+  for (i = 0; i < (int)sizeof(p); i++) {
+    if (m[i] && p[i] < sizeof(p)) {
+      U8 s = (p[i] % UVSIZE) << 3;
+      UV u = a[p[i] / UVSIZE] & ((UV)0xFF << s);
+      U8 b = (U8)((u >> s) & m[i]);
+      ((U8 *)(nvp))[i] &= ~m[i]; /* For NaNs with non-zero payload bits. */
+      ((U8 *)(nvp))[i] |= b;
+#ifdef NV_PAYLOAD_DEBUG
+      Perl_warn(aTHX_ "set p[%2d] = %02x (i = %d, m = %02x, s = %2d, b = %02x, u = %08"UVxf")\n", i, ((U8 *)(nvp))[i], i, m[i], s, b, u);
+#endif
+      a[p[i] / UVSIZE] &= ~u;
+    }
+  }
+  if (signaling) {
+    NV_NAN_SET_SIGNALING(nvp);
+  }
+#ifdef USE_LONG_DOUBLE
+# if LONG_DOUBLEKIND == 3 || LONG_DOUBLEKIND == 4
+  memset((char *)nvp + 10, '\0', LONG_DOUBLESIZE - 10); /* x86 long double */
+# endif
+#endif
+  for (i = 0; i < (int)C_ARRAY_LENGTH(a); i++) {
+    if (a[i]) {
+      Perl_warn(aTHX_ "payload lost bits (%"UVxf")", a[i]);
+      break;
+    }
+  }
+#ifdef NV_PAYLOAD_DEBUG
+  for (i = 0; i < NVSIZE; i++) {
+    PerlIO_printf(Perl_debug_log, "%02x ", ((U8 *)(nvp))[i]);
+  }
+  PerlIO_printf(Perl_debug_log, "\n");
+#endif
+}
+
+static NV_PAYLOAD_TYPE S_getpayload(NV nv)
+{
+  dTHX;
+  static const U8 m[] = { NV_NAN_PAYLOAD_MASK };
+  static const U8 p[] = { NV_NAN_PAYLOAD_PERM };
+  UV a[(NVSIZE + UVSIZE - 1) / UVSIZE] = { 0 };
+  int i;
+  NV payload;
+  NV_PAYLOAD_SIZEOF_ASSERT(m);
+  NV_PAYLOAD_SIZEOF_ASSERT(p);
+  payload = 0;
+  for (i = 0; i < (int)sizeof(p); i++) {
+    if (m[i] && p[i] < NVSIZE) {
+      U8 s = (p[i] % UVSIZE) << 3;
+      a[p[i] / UVSIZE] |= (UV)(((U8 *)(&nv))[i] & m[i]) << s;
+    }
+  }
+  for (i = (int)C_ARRAY_LENGTH(a) - 1; i >= 0; i--) {
+#ifdef NV_PAYLOAD_DEBUG
+    Perl_warn(aTHX_ "a[%d] = %"UVxf"\n", i, a[i]);
+#endif
+    payload *= UV_MAX;
+    payload += a[i];
+  }
+#ifdef NV_PAYLOAD_DEBUG
+  for (i = 0; i < NVSIZE; i++) {
+    PerlIO_printf(Perl_debug_log, "%02x ", ((U8 *)(&nv))[i]);
+  }
+  PerlIO_printf(Perl_debug_log, "\n");
+#endif
+  return payload;
+}
+
 /* XXX This comment is just to make I_TERMIO and I_SGTTY visible to
    metaconfig for future extension writers.  We don't use them in POSIX.
    (This is really sneaky :-)  --AD
@@ -1660,7 +1824,6 @@ MODULE = POSIX            PACKAGE = POSIX
 BOOT:
 {
     CV *cv;
-    const char *file = __FILE__;
 
 
     /* silence compiler warning about not_here() defined but not used */
@@ -1669,37 +1832,37 @@ BOOT:
     /* Ensure we get the function, not a macro implementation. Like the C89
        standard says we can...  */
 #undef isalnum
-    cv = newXS("POSIX::isalnum", is_common, file);
+    cv = newXS_deffile("POSIX::isalnum", is_common);
     XSANY.any_dptr = (any_dptr_t) &isalnum;
 #undef isalpha
-    cv = newXS("POSIX::isalpha", is_common, file);
+    cv = newXS_deffile("POSIX::isalpha", is_common);
     XSANY.any_dptr = (any_dptr_t) &isalpha;
 #undef iscntrl
-    cv = newXS("POSIX::iscntrl", is_common, file);
+    cv = newXS_deffile("POSIX::iscntrl", is_common);
     XSANY.any_dptr = (any_dptr_t) &iscntrl;
 #undef isdigit
-    cv = newXS("POSIX::isdigit", is_common, file);
+    cv = newXS_deffile("POSIX::isdigit", is_common);
     XSANY.any_dptr = (any_dptr_t) &isdigit;
 #undef isgraph
-    cv = newXS("POSIX::isgraph", is_common, file);
+    cv = newXS_deffile("POSIX::isgraph", is_common);
     XSANY.any_dptr = (any_dptr_t) &isgraph;
 #undef islower
-    cv = newXS("POSIX::islower", is_common, file);
+    cv = newXS_deffile("POSIX::islower", is_common);
     XSANY.any_dptr = (any_dptr_t) &islower;
 #undef isprint
-    cv = newXS("POSIX::isprint", is_common, file);
+    cv = newXS_deffile("POSIX::isprint", is_common);
     XSANY.any_dptr = (any_dptr_t) &isprint;
 #undef ispunct
-    cv = newXS("POSIX::ispunct", is_common, file);
+    cv = newXS_deffile("POSIX::ispunct", is_common);
     XSANY.any_dptr = (any_dptr_t) &ispunct;
 #undef isspace
-    cv = newXS("POSIX::isspace", is_common, file);
+    cv = newXS_deffile("POSIX::isspace", is_common);
     XSANY.any_dptr = (any_dptr_t) &isspace;
 #undef isupper
-    cv = newXS("POSIX::isupper", is_common, file);
+    cv = newXS_deffile("POSIX::isupper", is_common);
     XSANY.any_dptr = (any_dptr_t) &isupper;
 #undef isxdigit
-    cv = newXS("POSIX::isxdigit", is_common, file);
+    cv = newXS_deffile("POSIX::isxdigit", is_common);
     XSANY.any_dptr = (any_dptr_t) &isxdigit;
 }
 
@@ -1974,7 +2137,7 @@ WEXITSTATUS(status)
 #endif
            break;
        default:
-           Perl_croak(aTHX_ "Illegal alias %d for POSIX::W*", (int)ix);
+           croak("Illegal alias %d for POSIX::W*", (int)ix);
        }
     OUTPUT:
        RETVAL
@@ -2506,6 +2669,41 @@ fpclassify(x)
        RETVAL
 
 NV
+getpayload(nv)
+       NV nv
+    CODE:
+       RETVAL = S_getpayload(nv);
+    OUTPUT:
+       RETVAL
+
+void
+setpayload(nv, payload)
+       NV nv
+       NV payload
+    CODE:
+       S_setpayload(&nv, payload, FALSE);
+    OUTPUT:
+       nv
+
+void
+setpayloadsig(nv, payload)
+       NV nv
+       NV payload
+    CODE:
+       nv = NV_NAN;
+       S_setpayload(&nv, payload, TRUE);
+    OUTPUT:
+       nv
+
+int
+issignaling(nv)
+       NV nv
+    CODE:
+       RETVAL = Perl_isnan(nv) && NV_NAN_IS_SIGNALING(&nv);
+    OUTPUT:
+       RETVAL
+
+NV
 copysign(x,y)
        NV              x
        NV              y
@@ -2705,51 +2903,27 @@ fma(x,y,z)
        RETVAL
 
 NV
-nan(s = 0)
-       char*   s;
+nan(payload = 0)
+       NV payload
     CODE:
-       PERL_UNUSED_VAR(s);
-#ifdef c99_nan
-       RETVAL = c99_nan(s ? s : "");
-#elif defined(NV_NAN)
-       /* XXX if s != NULL, warn about unused argument,
-         * or implement the nan payload setting. */
-        /* NVSIZE == 8: the NaN "header" (the exponent) is 0x7FF (the 0x800
-         * is the sign bit, which should be irrelevant for NaN, so really
-         * also 0xFFF), leaving 64 - 12 = 52 bits for the NaN payload
-         * (6.5 bytes, note about infinities below).
-         *
-         * (USE_LONG_DOUBLE and)
-         * LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN:
-         * the NaN "header" is still 0x7FF, leaving 80 - 12 = 68 bits
-         * for the payload (8.5 bytes, note about infinities below).
-         *
-         * doubledouble? aargh. Maybe like doubles, 52 + 52 = 104 bits?
-         *
-         * NVSIZE == 16:
-         * the NaN "header" is still 0x7FF, leaving 128 - 12 = 116 bits
-         * for the payload (14.5 bytes, note about infinities below)
-         *
-         * Which ones of the NaNs are 'signaling' and which are 'quiet',
-         * depends.  In the IEEE-754 1985, nothing was specified.  But the
-         * majority of companies decided that the MSB of the mantissa was
-         * the bit for 'quiet'.  (Only PA-RISC and MIPS were different,
-         * using the MSB as 'signaling'.)  The IEEE-754 2008 *recommended*
-         * (but did not dictate) the MSB as the 'quiet' bit.
-         *
-         * In other words, on most platforms, and for 64-bit doubles:
-         * [7FF8000000000000, 7FFFFFFFFFFFFFFF] quiet
-         * [FFF8000000000000, FFFFFFFFFFFFFFFF] quiet
-         * [7FF0000000000001, 7FF7FFFFFFFFFFFF] signaling
-         * [FFF0000000000001, FFF7FFFFFFFFFFFF] signaling
-         *
-         * The C99 nan() is supposed to generate *quiet* NaNs.
-         *
-         * Note the asymmetry:
-         * The 7FF0000000000000 is positive infinity,
-         * the FFF0000000000000 is negative infinity.
-         */
-       RETVAL = NV_NAN;
+#ifdef NV_NAN
+        /* If no payload given, just return the default NaN.
+         * This makes a difference in platforms where the default
+         * NaN is not all zeros. */
+       if (items == 0) {
+          RETVAL = NV_NAN;
+       } else {
+          S_setpayload(&RETVAL, payload, FALSE);
+        }
+#elif defined(c99_nan)
+       {
+         STRLEN elen = my_snprintf(PL_efloatbuf, PL_efloatsize, "%g", nv);
+          if ((IV)elen == -1) {
+           RETVAL = NV_NAN;
+          } else {
+            RETVAL = c99_nan(PL_efloatbuf);
+          }
+        }
 #else
        not_here("nan");
 #endif
index 6fc0e75..215b1f5 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 
 our ($AUTOLOAD, %SIGRT);
 
-our $VERSION = '1.53_01';
+our $VERSION = '1.54';
 
 require XSLoader;
 
@@ -151,7 +151,7 @@ my %reimpl = (
     exit      => 'status => CORE::exit($_[0])',
     getenv    => 'name => $ENV{$_[0]}',
     system    => 'command => CORE::system($_[0])',
-    strerror  => 'errno => BEGIN { local $!; require locale; locale->import} my $e = $_[0] + 0; local $!; $! = $e; "$!"',
+    strerror  => 'errno => BEGIN { local $!; require locale; locale->import} local $! = $_[0]; "$!"',
     strstr    => 'big, little => CORE::index($_[0], $_[1])',
     chmod     => 'mode, filename => CORE::chmod($_[0], $_[1])',
     fstat     => 'fd => CORE::open my $dup, "<&", $_[0]; CORE::stat($dup)', # Gross.
@@ -403,6 +403,8 @@ my %other_export_tags = (
     )],
 
     stdlib_h_c99 => [ @{$default_export_tags{stdlib_h}}, 'strtold' ],
+
+    nan_payload => [ qw(getpayload setpayload setpayloadsig issignaling) ],
 );
 
 {
index 0ca7bb7..3e6f78d 100644 (file)
@@ -444,7 +444,7 @@ C<FE_TONEAREST> is like L</round>, C<FE_TOWARDZERO> is like L</trunc> [C99].
 
 =item C<fesetround>
 
-Sets the floating point rounding mode, see L</fegetround> [C99].
+Sets the floating point rounding mode, see L</fegetround>.
 
 =item C<fma>
 
@@ -504,10 +504,7 @@ Returns one of
 
   FP_NORMAL FP_ZERO FP_SUBNORMAL FP_INFINITE FP_NAN
 
-telling the class of the argument [C99].  C<FP_INFINITE> is positive
-or negative infinity, C<FP_NAN> is not-a-number.  C<FP_SUBNORMAL>
-means subnormal numbers (also known as denormals), very small numbers
-with low precision. C<FP_ZERO> is zero.  C<FP_NORMAL> is all the rest.
+telling the class of the argument [C99].
 
 =item C<fprintf>
 
@@ -629,6 +626,17 @@ This is identical to Perl's builtin C<getlogin()> function for
 returning the user name associated with the current session, see
 L<perlfunc/getlogin>.
 
+=item C<getpayload>
+
+       use POSIX ':nan_payload';
+       getpayload($var)
+
+Returns the C<NaN> payload.
+
+Note the API instability warning in L</setpayload>.
+
+See L</nan> for more discussion about C<NaN>.
+
 =item C<getpgrp>
 
 This is identical to Perl's builtin C<getpgrp()> function for
@@ -690,16 +698,6 @@ For example C<ilogb(20)> is 4, as an integer.
 
 See also L</logb>.
 
-=item C<Inf>
-
-The infinity as a constant:
-
-   use POSIX qw(Inf);
-   my $pos_inf = +Inf;  # Or just Inf.
-   my $neg_inf = -Inf;
-
-See also L</isinf>, and L</fpclassify>.
-
 =item C<isalnum>
 
 Deprecated function whose use raises a warning, and which is slated to
@@ -809,7 +807,7 @@ Floating point comparisons which handle the C<NaN> [C99].
 
 Returns true if the argument is an infinity (positive or negative) [C99].
 
-See also L</Inf>, L</isnan>, L</isfinite>, and L</fpclassify>.
+See also L</isnan>, L</isfinite>, and L</fpclassify>.
 
 =item C<islower>
 
@@ -839,7 +837,7 @@ Note that you cannot test for "C<NaN>-ness" with
 
 since the C<NaN> is not equivalent to anything, B<including itself>.
 
-See also L</nan>, L</NaN>, L</isinf>, and L</fpclassify>.
+See also L</nan>, L</isinf>, and L</fpclassify>.
 
 =item C<isnormal>
 
@@ -880,6 +878,17 @@ modifier is in effect?>).
 The function returns C<TRUE> if the input string is empty, or if the
 corresponding C function returns C<TRUE> for every byte in the string.
 
+=item C<issignaling>
+
+       use POSIX ':nan_payload';
+       issignaling($var, $payload)
+
+Return true if the argument is a I<signaling> NaN.
+
+Note the API instability warning in L</setpayload>.
+
+See L</nan> for more discussion about C<NaN>.
+
 =item C<isspace>
 
 Deprecated function whose use raises a warning, and which is slated to
@@ -1204,20 +1213,40 @@ Return the integral and fractional parts of a floating-point number.
 
 See also L</round>.
 
-=item C<NaN>
+=item C<nan>
 
-The not-a-number as a constant:
+   my $nan = nan();
 
-   use POSIX qw(NaN);
-   my $nan = NaN;
+Returns C<NaN>, not-a-number [C99].
 
-See also L</nan>, C</isnan>, and L</fpclassify>.
+The returned NaN is always a I<quiet> NaN, as opposed to I<signaling>.
 
-=item C<nan>
+With an argument, can be used to generate a NaN with I<payload>.
+The argument is first interpreted as a floating point number,
+but then any fractional parts are truncated (towards zero),
+and the value is interpreted as an unsigned integer.
+The bits of this integer are stored in the unused bits of the NaN.
 
-Returns not-a-number [C99].
+The result has a dual nature: it is a NaN, but it also carries
+the integer inside it.  The integer can be retrieved with L</getpayload>.
+Note, though, that the payload is not propagated, not even on copies,
+and definitely not in arithmetic operations.
 
-See also L</isnan> and L</NaN>.
+How many bits fit in the NaN depends on what kind of floating points
+are being used, but on the most common platforms (64-bit IEEE 754,
+or the x86 80-bit long doubles) there are 51 and 61 bits available,
+respectively.  (There would be 52 and 62, but the quiet/signaling
+bit of NaNs takes away one.)  However, because of the floating-point-to-
+integer-and-back conversions, please test carefully whether you get back
+what you put in.  If your integers are only 32 bits wide, you probably
+should not rely on more than 32 bits of payload.
+
+Whether a "signaling" NaN is in any way different from a "quiet" NaN,
+depends on the platform.  Also note that the payload of the default
+NaN (no argument to nan()) is not necessarily zero, use C<setpayload>
+to explicitly set the payload.
+
+See also L</isnan>, L</setpayload> and L</issignaling>.
 
 =item C<nearbyint>
 
@@ -1511,6 +1540,38 @@ out which locales are available in your system.
 
        $loc = setlocale( LC_COLLATE, "es_AR.ISO8859-1" );
 
+=item C<setpayload>
+
+       use POSIX ':nan_payload';
+       setpayload($var, $payload);
+
+Sets the C<NaN> payload of var.
+
+NOTE: the NaN payload APIs are based on the latest (as of June 2015)
+proposed ISO C interfaces, but they are not yet a standard.  Things
+may change.
+
+See L</nan> for more discussion about C<NaN>.
+
+See also L</setpayloadsig>, L</isnan>, L</getpayload>, and L</issignaling>.
+
+=item C<setpayloadsig>
+
+       use POSIX ':nan_payload';
+       setpayloadsig($var, $payload);
+
+Like L</setpayload> but also makes the NaN I<signaling>.
+
+Depending on the platform the NaN may or may not behave differently.
+
+Note the API instability warning in L</setpayload>.
+
+Note that because how the floating point formats work out, on the most
+common platforms signaling payload of zero is best avoided,
+since it might end up being identical to C<+Inf>.
+
+See also L</nan>, L</isnan>, L</getpayload>, and L</issignaling>.
+
 =item C<setpgid>
 
 This is similar to the C function C<setpgid()> for
index 91593e0..553a8a9 100644 (file)
@@ -138,6 +138,10 @@ my %expect = (
             nearbyint nextafter nexttoward remainder remquo rint round scalbn
             signbit tgamma trunc y0 y1 yn strtold
         ),
+        # this stuff was added in 5.23
+        qw(
+            getpayload issignaling setpayload setpayloadsig
+        ),
     ],
 );
 
index 7e70753..2618865 100644 (file)
@@ -3,6 +3,7 @@
 use strict;
 
 use POSIX ':math_h_c99';
+use POSIX ':nan_payload';
 use Test::More;
 
 use Config;
@@ -69,13 +70,11 @@ sub near {
 }
 
 SKIP: {
-    my $C99_SKIP = 59;
-
     unless ($Config{d_acosh}) {
-        skip "no acosh, suspecting no C99 math", $C99_SKIP;
+        skip "no acosh, suspecting no C99 math";
     }
     if ($^O =~ /Win32|VMS/) {
-        skip "running in $^O, C99 math support uneven", $C99_SKIP;
+        skip "running in $^O, C99 math support uneven";
     }
     near(M_SQRT2, 1.4142135623731, "M_SQRT2", 1e-9);
     near(M_E, 2.71828182845905, "M_E", 1e-9);
@@ -132,13 +131,96 @@ SKIP: {
     ok(isgreater(2, 1), "isgreater 2 1");
     ok(islessequal(1, 1), "islessequal 1 1");
     ok(isunordered(1, NaN), "isunordered 1 NaN");
+
+    near(erf(0.5), 0.520499877813047, "erf 0.5", 1.5e-7);
     near(erf(1), 0.842700792949715, "erf 1", 1.5e-7);
+    near(erf(9), 1, "erf 9", 1.5e-7);
+    near(erfc(0.5), 0.479500122186953, "erfc 0.5", 1.5e-7);
     near(erfc(1), 0.157299207050285, "erfc 1", 1.5e-7);
+    near(erfc(9), 0, "erfc 9", 1.5e-7);
+
+    # tgamma(n) = (n - 1)!
+    # lgamma(n) = log(tgamma(n))
+    near(tgamma(5), 24, "tgamma 5", 1.5e-7);
+    near(tgamma(5.5), 52.3427777845535, "tgamma 5.5", 1.5e-7);
     near(tgamma(9), 40320, "tgamma 9", 1.5e-7);
+    near(lgamma(5), 3.17805383034795, "lgamma 4", 1.5e-7);
+    near(lgamma(5.5), 3.95781396761872, "lgamma 5.5", 1.5e-7);
     near(lgamma(9), 10.6046029027452, "lgamma 9", 1.5e-7);
 
-    # If adding more tests here, update also the $C99_SKIP
-    # at the beginning of this SKIP block.
+    # These don't work on old mips/hppa platforms because == Inf (or == -Inf).
+    # ok(isnan(setpayload(0)), "setpayload zero");
+    # is(getpayload(setpayload(0)), 0, "setpayload + getpayload (zero)");
+    #
+    # These don't work on most platforms because == Inf (or == -Inf).
+    # ok(isnan(setpayloadsig(0)), "setpayload zero");
+    # is(getpayload(setpayloadsig(0)), 0, "setpayload + getpayload (zero)");
+
+    # Verify that the payload set be setpayload()
+    # (1) still is a nan
+    # (2) but the payload can be retrieved
+    # (3) but is not signaling
+    my $x = 0;
+    setpayload($x, 0x12345);
+    ok(isnan($x), "setpayload + isnan");
+    is(getpayload($x), 0x12345, "setpayload + getpayload");
+    ok(!issignaling($x), "setpayload + issignaling");
+
+    # Verify that the signaling payload set be setpayloadsig()
+    # (1) still is a nan
+    # (2) but the payload can be retrieved
+    # (3) and is signaling
+    setpayloadsig($x, 0x12345);
+    ok(isnan($x), "setpayloadsig + isnan");
+    is(getpayload($x), 0x12345, "setpayload + getpayload");
+    ok(issignaling($x), "setpayloadsig + issignaling");
+
+    # Try a payload more than one byte.
+    is(getpayload(nan(0x12345)), 0x12345, "nan + getpayload");
+
+    # Try payloads of 2^k, most importantly at and beyond 2^32.  These
+    # tests will fail if NV is just 32-bit float, but that Should Not
+    # Happen (tm).
+    is(getpayload(nan(2**31)), 2**31, "nan + getpayload 2**31");
+    is(getpayload(nan(2**32)), 2**32, "nan + getpayload 2**32");
+    is(getpayload(nan(2**33)), 2**33, "nan + getpayload 2**33");
+
+    # Payloads just lower than 2^k.
+    is(getpayload(nan(2**31-1)), 2**31-1, "nan + getpayload 2**31-1");
+    is(getpayload(nan(2**32-1)), 2**32-1, "nan + getpayload 2**32-1");
+
+    # Payloads not divisible by two (and larger than 2**32).
+
+    SKIP: {
+        # solaris gets 10460353202 from getpayload() when it should
+        # get 10460353203 (the 3**21). Things go wrong already in
+        # the nan() payload setting: [0x2, 0x6f7c52b4] (ivsize=4)
+        # instead [0x2, 0x6f7c52b3].  Then at getpayload() things
+        # go wrong again, now in other direction: with the (wrong)
+        # [0x2, 0x6f7c52b4] encoded in the nan we should decode into
+        # 10460353204, but we get 10460353202.  It doesn't seem to
+        # help even if we use 'unsigned long long' instead of UV/U32
+        # in the POSIX.xs:S_setpayload/S_getpayload.
+        #
+        # casting bug?  fmod() bug?  Though also broken with
+        # -Duselongdouble + fmodl(), so maybe Solaris cc bug
+        # in general?
+        #
+        # Ironically, the large prime seems to work even in Solaris,
+        # probably just by blind luck.
+        skip($^O, 1) if $^O eq 'solaris';
+        is(getpayload(nan(3**21)), 3**21, "nan + getpayload 3**21");
+    }
+    is(getpayload(nan(4294967311)), 4294967311, "nan + getpayload prime");
+
+    # Truncates towards zero.
+    is(getpayload(nan(1234.567)), 1234, "nan (trunc) + getpayload");
+
+    # Not signaling.
+    ok(!issignaling(0), "issignaling zero");
+    ok(!issignaling(+Inf), "issignaling +Inf");
+    ok(!issignaling(-Inf), "issignaling -Inf");
+    ok(!issignaling(NaN), "issignaling NaN");
 } # SKIP
 
 done_testing();
index ec25d3a..0bafb8f 100644 (file)
@@ -6,6 +6,7 @@ BEGIN {
        print "1..0\n";
        exit 0;
     }
+    unshift @INC, "../../t";
     require 'loc_tools.pl';
 }
 
index df691f1..4807a8d 100644 (file)
@@ -14,11 +14,4 @@ $! = 1;
 POSIX::strerror(1);
 is (0+$!, 1, 'strerror doesn\'t destroy $!');
 
-# [perl #126229] POSIX::strerror() clears $!
-{
-    local $! = 29;
-    my $e = POSIX::strerror($!);
-    is (0+$!, 29);
-}
-
 done_testing();
index 9fefb6a..e10a921 100644 (file)
@@ -10,6 +10,7 @@ plan(skip_all => "POSIX is unavailable")
 require POSIX;
 require Symbol;
 require File::Temp;
+unshift @INC, "../../t";
 require 'loc_tools.pl';
 
 use constant NOT_HERE => 'this-file-should-not-exist';
index e6a82dc..32cd17b 100644 (file)
@@ -17,13 +17,15 @@ POSIX::SigAction    T_HVREF
 
 INPUT
 T_OPAQUEPTROBJ
-       if (SvROK($arg) && sv_derived_from($arg, \"${ntype}\")) {
-           $var = ($type)SvPV_nolen(SvRV($arg));
+       {
+           SV * sv = $arg;
+           if (SvROK(sv) && sv_derived_from(sv, \"${ntype}\"))
+               $var = ($type)SvPV_nolen(SvRV(sv));
+           else
+               croak(\"%s: %s is not of type %s\",
+                           ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+                       \"$var\", \"$ntype\");
        }
-       else
-           Perl_croak(aTHX_ \"%s: %s is not of type %s\",
-                       ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
-                       \"$var\", \"$ntype\")
 
 OUTPUT
 T_OPAQUEPTROBJ
index 5d2049b..89ee946 100644 (file)
@@ -1,5 +1,5 @@
 package PerlIO::scalar;
-our $VERSION = '0.23';
+our $VERSION = '0.22';
 require XSLoader;
 XSLoader::load();
 1;
index 49bbff1..eec2de9 100644 (file)
@@ -215,7 +215,7 @@ PerlIOScalar_write(pTHX_ PerlIO * f, const void *vbuf, Size_t count)
             /* ensure we don't try to create ridiculously large
              * SVs on small platforms
              */
-#if Size_t_size < Off_t_size
+#if SSize_t_size < Off_t_size
             if (s->posn > SSize_t_MAX) {
 #ifdef EFBIG
                 SETERRNO(EFBIG, SS_BUFFEROVF);
index 7d1d232..b022859 100644 (file)
@@ -216,7 +216,6 @@ This program is distributed under the Artistic License.
 
 =cut
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use Pod::Html;
 
 pod2html @ARGV;
index 060ad41..34729a9 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 require Exporter;
 
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION = 1.22_01;
+$VERSION = 1.22;
 @ISA = qw(Exporter);
 @EXPORT = qw(pod2html htmlify);
 @EXPORT_OK = qw(anchorify);
index c4f38ca..28d6bec 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use warnings;
 use Carp;
 
-our $VERSION = '0.72_01';
+our $VERSION = '0.73';
 
 require XSLoader;
 
index 5cc63c8..aef0572 100644 (file)
@@ -3353,6 +3353,71 @@ CODE:
     XSRETURN_UNDEF;
 }
 
+=pod
+
+multicall_return(): call the passed sub once in the specificed context
+and return whatever it returns
+
+=cut
+
+void
+multicall_return(block, context)
+    SV *block
+    I32 context
+PROTOTYPE: &$
+CODE:
+{
+    dSP;
+    dMULTICALL;
+    GV *gv;
+    HV *stash;
+    I32 gimme = context;
+    CV *cv;
+    AV *av;
+    SV **p;
+    Size_t i, size;
+
+    cv = sv_2cv(block, &stash, &gv, 0);
+    if (cv == Nullcv) {
+       croak("multicall_return not a subroutine reference");
+    }
+    PUSH_MULTICALL(cv);
+
+    MULTICALL;
+
+    /* copy returned values into an array so they're not freed during
+     * POP_MULTICALL */
+
+    av = newAV();
+    SPAGAIN;
+
+    switch (context) {
+    case G_VOID:
+        break;
+
+    case G_SCALAR:
+        av_push(av, SvREFCNT_inc(TOPs));
+        break;
+
+    case G_ARRAY:
+        for (p = PL_stack_base + 1; p <= SP; p++)
+            av_push(av, SvREFCNT_inc(*p));
+        break;
+    }
+
+    POP_MULTICALL;
+
+    PERL_UNUSED_VAR(newsp);
+
+    size = AvFILLp(av) + 1;
+    EXTEND(SP, size);
+    for (i = 0; i < size; i++)
+        ST(i) = *av_fetch(av, i, FALSE);
+    sv_2mortal((SV*)av);
+    XSRETURN(size);
+}
+
+
 #ifdef USE_ITHREADS
 
 void
@@ -5067,12 +5132,3 @@ has_backrefs(SV *sv)
     OUTPUT:
         RETVAL
 
-#if defined(WIN32) && defined(PERL_IMPLICIT_SYS)
-
-const char *
-PerlDir_mapA(const char *path)
-
-const WCHAR *
-PerlDir_mapW(const WCHAR *wpath)
-
-#endif
index 9ab633d..df98b1a 100644 (file)
@@ -11,7 +11,7 @@ use strict;
 
 BEGIN {
     require '../../t/test.pl';
-    plan(437);
+    plan(455);
     use_ok('XS::APItest')
 };
 
@@ -213,35 +213,45 @@ is($@, "its_dead_jim\n", "eval { eval_pv('d()', 1) } - \$@");
 
 sub f99 { 99 };
 
+my @bodies = (
+    # [ code, is_fn_name, expect_success, has_inner_die, expected_err ]
 
-for my $fn_type (0..2) { #   0:eval_pv   1:eval_sv   2:call_sv
+    # ok
+    [ 'f99',                         1, 1, 0, qr/^$/,           ],
+    # compile-time err
+    [ '$x=',                         0, 0, 0, qr/syntax error/, ],
+    # compile-time exception
+    [ 'BEGIN { die "die in BEGIN"}', 0, 0, 1, qr/die in BEGIN/, ],
+    # run-time exception
+    [ 'd',                           1, 0, 0, qr/its_dead_jim/, ],
+    # success with caught exception
+    [ 'eval { die "blah" }; 99',     0, 1, 1, qr/^$/,           ],
+);
+
+
+for my $fn_type (qw(eval_pv eval_sv call_sv)) {
 
     my $warn_msg;
     local $SIG{__WARN__} = sub { $warn_msg .= $_[0] };
 
-    for my $code_type (0..3) {
+    for my $body (@bodies) {
+        my ($code, $is_fn_name, $expect_success,
+                $has_inner_die, $expected_err_qr)  = @$body;
 
        # call_sv can only handle function names, not code snippets
-       next if $fn_type == 2 and ($code_type == 1 or $code_type == 2);
-
-       my $code = (
-           'f99',                          # ok
-           '$x=',                          # compile-time err
-           'BEGIN { die "die in BEGIN"}',  # compile-time exception
-           'd',                            # run-time exception
-       )[$code_type];
+       next if $fn_type eq 'call_sv' and !$is_fn_name;
 
        for my $keep (0, G_KEEPERR) {
            my $keep_desc = $keep ? 'G_KEEPERR' : '0';
 
            my $desc;
-           my $expect = ($code_type == 0) ? 1 : 0;
+           my $expect = $expect_success;
 
            undef $warn_msg;
            $@ = 'pre-err';
 
            my @ret;
-           if ($fn_type == 0) { # eval_pv
+           if ($fn_type eq 'eval_pv') {
                # eval_pv returns its result rather than a 'succeed' boolean
                $expect = $expect ? '99' : undef;
 
@@ -258,21 +268,21 @@ for my $fn_type (0..2) { #   0:eval_pv   1:eval_sv   2:call_sv
                    @ret = eval_pv($code, 0);
                }
            }
-           elsif ($fn_type == 1) { # eval_sv
+           elsif ($fn_type eq 'eval_sv') {
                $desc = "eval_sv('$code', G_ARRAY|$keep_desc)";
                @ret = eval_sv($code, G_ARRAY|$keep);
            }
-           elsif ($fn_type == 2) { # call_sv
+           elsif ($fn_type eq 'call_sv') {
                $desc = "call_sv('$code', G_EVAL|G_ARRAY|$keep_desc)";
                @ret = call_sv($code, G_EVAL|G_ARRAY|$keep);
            }
-           is(scalar @ret, ($code_type == 0 && $fn_type != 0) ? 2 : 1,
+           is(scalar @ret, ($expect_success && $fn_type ne 'eval_pv') ? 2 : 1,
                            "$desc - number of returned args");
            is($ret[-1], $expect, "$desc - return value");
 
-           if ($keep && $fn_type != 0) {
+           if ($keep && $fn_type  ne 'eval_pv') {
                # G_KEEPERR doesn't propagate into inner evals, requires etc
-               unless ($keep && $code_type == 2) {
+               unless ($keep && $has_inner_die) {
                    is($@, 'pre-err', "$desc - \$@ unmodified");
                }
                $@ = $warn_msg;
@@ -281,14 +291,7 @@ for my $fn_type (0..2) { #   0:eval_pv   1:eval_sv   2:call_sv
                is($warn_msg, undef, "$desc - __WARN__ not called");
                unlike($@, qr/pre-err/, "$desc - \$@ modified");
            }
-           like($@,
-               (
-                   qr/^$/,
-                   qr/syntax error/,
-                   qr/die in BEGIN/,
-                   qr/its_dead_jim/,
-               )[$code_type],
-               "$desc - the correct error message");
+           like($@, $expected_err_qr, "$desc - the correct error message");
        }
     }
 }
index 74e1e20..22446b6 100644 (file)
@@ -10,7 +10,7 @@ use strict;
 use XS::APItest;
 *callregexec = *XS::APItest::callregexec;
 
-use Test::More tests => 50;
+use Test::More tests => 48;
 
 # Test that the regex engine can handle strings without terminating \0
 # XXX This is by no means comprehensive; it doesn't test all ops, nor all
@@ -42,10 +42,6 @@ sub try {
     try "ax",          qr/a$/m,           1, 'MEOL';
     try "ax",          qr/a$/s,           1, 'SEOL';
     try "abx",         qr/^(ab|X)./s,     0, 'SANY';
-    {
-        no warnings 'deprecated';
-        try "abx",         qr/^(ab|X)\C/,     0, 'CANY';
-    }
     try "abx",         qr/^(ab|X)./,      0, 'REG_ANY';
     try "abx",         qr/^ab(c|d|e|x)/,  0, 'TRIE/TRIEC';
     try "abx",         qr/^abx/,          0, 'EXACT';
index 85d993d..6c033b7 100644 (file)
@@ -7,7 +7,7 @@
 use warnings;
 use strict;
 
-use Test::More tests => 7;
+use Test::More tests => 79;
 use XS::APItest;
 
 
@@ -52,8 +52,8 @@ use XS::APItest;
 # [perl #115602]
 # deep recursion realloced the CX stack, but the dMULTICALL local var
 # 'cx' still pointed to the old one.
-# Thius doesn;t actually test the failure (I couldn't think of a way to
-# get the failure to show at the perl level) but it allows valgribnd or
+# This doesn't actually test the failure (I couldn't think of a way to
+# get the failure to show at the perl level) but it allows valgrind or
 # similar to spot any errors.
 
 {
@@ -61,3 +61,104 @@ use XS::APItest;
     my @r = XS::APItest::multicall_each { rec(90) } 1,2,3;
     pass("recursion");
 }
+
+
+
+# Confirm that MULTICALL handles arg return correctly in the various
+# contexts. Also check that lvalue subs are handled the same way, as
+# these take different code paths.
+# Whenever an explicit 'return' is used, it is followed by '1;' to avoid
+# the return being optimised into a leavesub.
+# Adding a 'for' loop pushes extra junk on the stack, which we we want to
+# avoid being interpreted as a return arg.
+
+{
+    package Ret;
+
+    use XS::APItest qw(multicall_return G_VOID G_SCALAR G_ARRAY);
+
+    # Helper function for the block that follows:
+    # check that @$got matches what would be expected if a function returned
+    # the items in @$args in $gimme context.
+
+    sub gimme_check {
+        my ($gimme, $got, $args, $desc) = @_;
+
+        if ($gimme == G_VOID) {
+            ::is (scalar @$got, 0, "G_VOID:   $desc");
+        }
+        elsif ($gimme == G_SCALAR) {
+            ::is (scalar @$got, 1, "G_SCALAR: $desc: expect 1 arg");
+            ::is ($got->[0], (@$args ? $args->[-1] : undef),
+                        "G_SCALAR: $desc: correct arg");
+        }
+        else {
+            ::is (join('-',@$got), join('-', @$args), "G_ARRAY:  $desc");
+        }
+    }
+
+    for my $gimme (G_VOID, G_SCALAR, G_ARRAY) {
+        my @a;
+
+        # zero args
+
+        @a = multicall_return {()} $gimme;
+        gimme_check($gimme, \@a, [], "()");
+        sub f1 :lvalue { () }
+        @a = multicall_return \&f1, $gimme;
+        gimme_check($gimme, \@a, [], "() lval");
+
+        @a = multicall_return { return; 1 } $gimme;
+        gimme_check($gimme, \@a, [], "return");
+        sub f2 :lvalue { return; 1 }
+        @a = multicall_return \&f2, $gimme;
+        gimme_check($gimme, \@a, [], "return lval");
+
+
+        @a = multicall_return { for (1,2) { return; 1 } } $gimme;
+        gimme_check($gimme, \@a, [], "for-return");
+        sub f3 :lvalue { for (1,2) { return; 1 } }
+        @a = multicall_return \&f3, $gimme;
+        gimme_check($gimme, \@a, [], "for-return lval");
+
+        # one arg
+
+        @a = multicall_return {"one"} $gimme;
+        gimme_check($gimme, \@a, ["one"], "one arg");
+        sub f4 :lvalue { "one" }
+        @a = multicall_return \&f4, $gimme;
+        gimme_check($gimme, \@a, ["one"], "one arg lval");
+
+        @a = multicall_return { return "one"; 1} $gimme;
+        gimme_check($gimme, \@a, ["one"], "return one arg");
+        sub f5 :lvalue { return "one"; 1 }
+        @a = multicall_return \&f5, $gimme;
+        gimme_check($gimme, \@a, ["one"], "return one arg lval");
+
+        @a = multicall_return { for (1,2) { return "one"; 1} } $gimme;
+        gimme_check($gimme, \@a, ["one"], "for-return one arg");
+        sub f6 :lvalue { for (1,2) { return "one"; 1 } }
+        @a = multicall_return \&f6, $gimme;
+        gimme_check($gimme, \@a, ["one"], "for-return one arg lval");
+
+        # two args
+
+        @a = multicall_return {"one", "two" } $gimme;
+        gimme_check($gimme, \@a, ["one", "two"], "two args");
+        sub f7 :lvalue { "one", "two" }
+        @a = multicall_return \&f7, $gimme;
+        gimme_check($gimme, \@a, ["one", "two"], "two args lval");
+
+        @a = multicall_return { return "one", "two"; 1} $gimme;
+        gimme_check($gimme, \@a, ["one", "two"], "return two args");
+        sub f8 :lvalue { return "one", "two"; 1 }
+        @a = multicall_return \&f8, $gimme;
+        gimme_check($gimme, \@a, ["one", "two"], "return two args lval");
+
+        @a = multicall_return { for (1,2) { return "one", "two"; 1} } $gimme;
+        gimme_check($gimme, \@a, ["one", "two"], "for-return two args");
+        sub f9 :lvalue { for (1,2) { return "one", "two"; 1 } }
+        @a = multicall_return \&f9, $gimme;
+        gimme_check($gimme, \@a, ["one", "two"], "for-return two args lval");
+    }
+}
diff --git a/ext/XS-APItest/t/win32.t b/ext/XS-APItest/t/win32.t
deleted file mode 100644 (file)
index a8905c2..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#!perl -w
-use strict;
-use Test::More;
-use XS::APItest;
-use Config;
-
-plan skip_all => "Tests only apply on MSWin32"
-  unless $^O eq "MSWin32";
-
-SKIP:
-{
-    # [perl #126755] previous the bad drive tests would crash
-    $Config{ccflags} =~ /(?:\A|\s)-DPERL_IMPLICIT_SYS\b/
-      or skip "need implicit_sys for this test", 1;
-    eval "use Encode; 1"
-      or skip "Can't load Encode", 1;
-    for my $letter ("A" .. "Z", "a" .. "z") {
-        my $good_drive = $letter . ":";
-        my $result = PerlDir_mapA($good_drive);
-        like($result, qr/^$letter:\\/i, "check good drive $letter");
-
-        my $wgood_drive = encode("UTF-16LE", $good_drive . "\0");
-        $result = PerlDir_mapW($wgood_drive);
-        like(decode("UTF16-LE", $result), qr/^$letter:\\/i,
-             "check a good drive (wide)");
-    }
-    for my $bad ('@', '[', '!', '~', '`', '{') {
-        my $bad_drive = "$bad:";
-        my $result = PerlDir_mapA($bad_drive);
-        is($result, $bad_drive, "check bad drive $bad:");
-
-        my $wbad_drive = encode("UTF-16LE", $bad_drive . "\0");
-        $result = PerlDir_mapW($wbad_drive);
-        is(decode("UTF16-LE", $result), "$bad_drive\0",
-           "check bad drive $bad: (wide)");
-    }
-}
-
-done_testing();
index ed86a37..035f882 100644 (file)
@@ -1,13 +1 @@
 XS::APItest::PtrTable          T_PTROBJ
-
-const WCHAR *                  WPV
-
-INPUT
-
-WPV
-        $var = ($type)SvPV_nolen($arg);
-
-OUTPUT
-
-WPV
-        sv_setpvn($arg, (const char *)($var), sizeof(WCHAR) * (1+wcslen($var)));
index 87059e2..1183d67 100644 (file)
@@ -15,6 +15,7 @@ PL_fold_locale
 PL_freq
 PL_global_struct_size
 PL_hexdigit
+PL_inf
 PL_interp_size
 PL_interp_size_5_18_0
 PL_keyword_plugin
@@ -24,6 +25,7 @@ PL_magic_vtable_names
 PL_magic_vtables
 PL_memory_wrap
 PL_mod_latin1_uc
+PL_nan
 PL_no_aelem
 PL_no_dir_func
 PL_no_func
diff --git a/gv.c b/gv.c
index 0d66e9b..242ea87 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -1411,7 +1411,7 @@ S_gv_stashpvn_internal(pTHX_ const char *name, U32 namelen, I32 flags)
     tmpgv = gv_fetchpvn_flags(tmpbuf, tmplen, flags, SVt_PVHV);
     if (tmpbuf != smallbuf)
        Safefree(tmpbuf);
-    if (!tmpgv || !isGV_with_GP(tmpgv))
+    if (!tmpgv)
        return NULL;
     stash = GvHV(tmpgv);
     if (!(flags & ~GV_NOADD_MASK) && !stash) return NULL;
diff --git a/handy.h b/handy.h
index dfd6429..2f0c50c 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -1976,6 +1976,12 @@ PoisonWith(0xEF) for catching access to freed memory.
  * - lots of ENV reads
  */
 
+PERL_CALLCONV Malloc_t Perl_mem_log_alloc(const UV n, const UV typesize, const char *type_name, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname);
+
+PERL_CALLCONV Malloc_t Perl_mem_log_realloc(const UV n, const UV typesize, const char *type_name, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname);
+
+PERL_CALLCONV Malloc_t Perl_mem_log_free(Malloc_t oldalloc, const char *filename, const int linenumber, const char *funcname);
+
 # ifdef PERL_CORE
 #  ifndef PERL_MEM_LOG_NOIMPL
 enum mem_log_type {
index a55fce6..3c606c6 100644 (file)
@@ -649,4 +649,50 @@ EOF
   ;;
 esac
 
+# Some releases of AIX cc/xlc a broken fmodl(), but -q64 seems to help.
+case "$gccversion" in
+'') case "$uselongdouble" in
+   define)
+     case "$ccflags" in
+     *-q64*) ;;
+     *) echo "Checking if your fmodl() is broken..." >&4
+        cat > fmodl$$.c <<EOF
+#include <math.h>
+#include <stdio.h>
+int main() {
+  printf("%ld\n", (long)fmodl(powl(2, 31), (long double)4294967295));
+}
+EOF
+        $cc -qlongdouble -o fmodl$$ fmodl$$.c -lm
+        case `./fmodl$$` in
+        2147483648) echo "Your fmodl() is working correctly." >&4 ;;
+        *) echo "Your fmodl() is broken, will try with -q64..." >&4
+           $cc -q64 -qlongdouble -o fmodl$$ fmodl$$.c -lm
+           case `./fmodl$$` in
+           2147483648)
+             echo "The -q64 did the trick, will use it." >& 4
+             ccflags="`echo $ccflags | sed -e 's@-q32@@g'`"
+             ldflags="`echo $ldflags | sed -e 's@-q32@@g'`"
+             ccflags="$ccflags -q64"
+             ldflags="$ldflags -q64"
+             ;;
+           *) echo "Not even the -q64 worked.  I'm disabling long doubles." >&4
+              echo "And you should have stern talk with your IBM rep." >&4
+              uselongdouble="$undef"
+              ccflags=`echo " $ccflags " | sed -e 's/ -qlongdouble / /'`
+              libswanted=`echo " $libswanted " | sed -e 's/ c128/ /'`
+              lddlflags=`echo " $lddlflags " | sed -e 's/ -lc128 / /'`
+              ;;
+           esac  # second fmodl$$
+           ;;
+        esac # first fmodl$$
+        ;;
+     esac # Checking if ...
+     ;;
+  esac # uselongdouble
+  rm -f fmodl$$.c fmodl$$
+  ;;
+esac # not gcc
+
+
 # EOF
index e296110..b67ea46 100644 (file)
 # 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.22.3
+# mkdir -p /opt/perl-catamount/lib/perl5/5.23.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.22.3
+# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.23.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
index 73acae1..fec05fd 100644 (file)
@@ -352,13 +352,3 @@ esac
 # makefile in the same place.  Since Darwin uses GNU make, this dodges
 # the problem.
 firstmakefile=GNUmakefile;
-
-# Parts of the system call setenv(), in particular in an atfork handler.
-# This causes problems when the child tries to clean up environ[], so
-# let libc manage environ[].
-cat >> config.over <<'EOOVER'
-if test "$d_unsetenv" = "$define" -a \
-    `expr "$ccflags" : '.*-DPERL_USE_SAFE_PUTENV'` -eq 0; then
-        ccflags="$ccflags -DPERL_USE_SAFE_PUTENV"
-fi
-EOOVER
index 832fde2..fc315a5 100644 (file)
@@ -683,6 +683,3 @@ usemymalloc=${usemymalloc:-false}
 # instead; in IRIX this is not true because the prototype of fcntl()
 # requires explicit include of <fcntl.h>
 i_fcntl=define
-
-# There is <prctl.h> but it's not the Linux one that Configure expects.
-d_prctl="$undef"
diff --git a/hv.c b/hv.c
index 3e3710e..e5bf629 100644 (file)
--- a/hv.c
+++ b/hv.c
@@ -1595,8 +1595,8 @@ Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry)
 Frees the all the elements of a hash, leaving it empty.
 The XS equivalent of C<%hash = ()>.  See also L</hv_undef>.
 
-See L</av_clear> for a note about the hash possibly being invalid on
-return.
+If any destructors are triggered as a result, the hv itself may
+be freed.
 
 =cut
 */
@@ -1829,8 +1829,10 @@ Undefines the hash.  The XS equivalent of C<undef(%hash)>.
 As well as freeing all the elements of the hash (like hv_clear()), this
 also frees any auxiliary data and storage associated with the hash.
 
-See L</av_clear> for a note about the hash possibly being invalid on
-return.
+If any destructors are triggered as a result, the hv itself may
+be freed.
+
+See also L</hv_clear>.
 
 =cut
 */
index 49a677e..708c6c7 100644 (file)
--- a/hv_func.h
+++ b/hv_func.h
 #   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")
+#       define PERL_HASH_SEED "PeRl"
 #   elif PERL_HASH_SEED_BYTES == 16
-#       define PERL_HASH_SEED ((const U8 *)"PeRlHaShhAcKpErl")
+#       define PERL_HASH_SEED "PeRlHaShhAcKpErl"
 #   else
 #       error "No PERL_HASH_SEED definition for " PERL_HASH_FUNC
 #   endif
  * 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
+ * UNALIGNED_SAFE   Defined if READ_UINT32 works on non-word boundaries
  * ROTL32(x,r)      Rotate x left by r bits
  */
 
                       +((const U8 *)(d))[0])
 #endif
 
+
+/* Now find best way we can to READ_UINT32 */
 #if (BYTEORDER == 0x1234 || BYTEORDER == 0x12345678) && U32SIZE == 4
   /* CPU endian matches murmurhash algorithm, so read 32-bit word directly */
   #define U8TO32_LE(ptr)   (*((U32*)(ptr)))
@@ -570,7 +570,7 @@ S_perl_hash_old_one_at_a_time(const unsigned char * const seed, const unsigned c
    return a 32 bit hash.
 
    Note uses unaligned 64 bit loads - will NOT work on machines with
-   strict alignment requirements.
+   strict alginment requirements.
 
    Also this code may not be suitable for big-endian machines.
 */
@@ -628,7 +628,7 @@ S_perl_hash_murmur_hash_64a (const unsigned char * const seed, const unsigned ch
    a 32 bit value
 
    Note uses unaligned 32 bit loads - will NOT work on machines with
-   strict alignment requirements.
+   strict alginment requirements.
 
    Also this code may not be suitable for big-endian machines.
 */
index 0dabd28..bf2576f 100644 (file)
@@ -179,7 +179,7 @@ PERLVAR(I, statgv,  GV *)
 PERLVARI(I, statname,  SV *,   NULL)
 
 #ifdef HAS_TIMES
-/* Will be removed soon after v5.22.3. See RT #121351 */
+/* Will be removed soon after v5.23.0. See RT #121351 */
 PERLVAR(I, timesbuf,   struct tms)
 #endif
 
@@ -753,7 +753,7 @@ PERLVARI(I, globhook,       globhook_t, NULL)
 
 PERLVARI(I, padlist_generation, U32, 1)        /* id to identify padlist clones */
 
-/* The last unconditional member of the interpreter structure when 5.22.3 was
+/* The last unconditional member of the interpreter structure when 5.23.0 was
    released. The offset of the end of this is baked into a global variable in 
    any shared perl library which will allow a sanity test in future perl
    releases.  */
index 1e64b26..8981720 100644 (file)
@@ -118,7 +118,7 @@ package B::Op_private;
 our %bits;
 
 
-our $VERSION = "5.022003";
+our $VERSION = "5.023000";
 
 $bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv);
 $bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv);
index 2f16cb5..12800fb 100644 (file)
@@ -1,6 +1,6 @@
 package UNIVERSAL;
 
-our $VERSION = '1.12';
+our $VERSION = '1.13';
 
 # UNIVERSAL should not contain any extra subs/methods beyond those
 # that it exists to define. The existence of import() below is a historical
@@ -186,10 +186,8 @@ None.
 Previous versions of this documentation suggested using C<isa> as
 a function to determine the type of a reference:
 
-  use UNIVERSAL 'isa';
-
-  $yes = isa $h, "HASH";
-  $yes = isa "Foo", "Bar";
+  $yes = UNIVERSAL::isa($h, "HASH");
+  $yes = UNIVERSAL::isa("Foo", "Bar");
 
 The problem is that this code would I<never> call an overridden C<isa> method in
 any class.  Instead, use C<reftype> from L<Scalar::Util> for the first case:
index 8eadfee..a799dd0 100644 (file)
@@ -551,7 +551,7 @@ $ranges = charscript('Cherokee');
 ok(!charinrange($ranges, "139f"), 'Cherokee charscript');
 ok( charinrange($ranges, "13a0"));
 ok( charinrange($ranges, "13f4"));
-ok(!charinrange($ranges, "13f5"));
+ok(!charinrange($ranges, "13ff"));
 
 use Unicode::UCD qw(general_categories);
 
@@ -571,7 +571,7 @@ is($bt->{AL}, 'Right-to-Left Arabic', 'AL is Right-to-Left Arabic');
 
 # If this fails, then maybe one should look at the Unicode changes to see
 # what else might need to be updated.
-is(Unicode::UCD::UnicodeVersion, '7.0.0', 'UnicodeVersion');
+is(Unicode::UCD::UnicodeVersion, '8.0.0', 'UnicodeVersion');
 
 use Unicode::UCD qw(compexcl);
 
@@ -703,7 +703,7 @@ is(Unicode::UCD::_getcode('U+123x'),  undef, "_getcode(x123)");
     my $r1 = charscript('Latin');
     if (ok(defined $r1, "Found Latin script")) {
         my $n1 = @$r1;
-        is($n1, 33, "number of ranges in Latin script (Unicode 7.0.0)") if $::IS_ASCII;
+        is($n1, 31, "number of ranges in Latin script (Unicode 7.0.0)") if $::IS_ASCII;
         shift @$r1 while @$r1;
         my $r2 = charscript('Latin');
         is(@$r2, $n1, "modifying results should not mess up internal caches");
index 70d8ada..4cf11a7 100644 (file)
@@ -5,7 +5,7 @@
 
 package feature;
 
-our $VERSION = '1.40';
+our $VERSION = '1.41';
 
 our %feature = (
     fc              => 'feature_fc',
@@ -43,6 +43,8 @@ $feature_bundle{"5.19"} = $feature_bundle{"5.15"};
 $feature_bundle{"5.20"} = $feature_bundle{"5.15"};
 $feature_bundle{"5.21"} = $feature_bundle{"5.15"};
 $feature_bundle{"5.22"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.23"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.24"} = $feature_bundle{"5.15"};
 $feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
 
 our $hint_shift   = 26;
@@ -370,6 +372,9 @@ The following feature bundles are available:
   :5.22     say state switch unicode_strings
             unicode_eval evalbytes current_sub fc
 
+  :5.24     say state switch unicode_strings
+            unicode_eval evalbytes current_sub fc
+
 The C<:default> bundle represents the feature set that is enabled before
 any C<use feature> or C<no feature> declaration.
 
@@ -424,7 +429,7 @@ bundle is automatically loaded instead.
 =cut
 
 sub import {
-    my $class = shift;
+    shift;
 
     if (!@_) {
         croak("No features specified");
@@ -434,7 +439,7 @@ sub import {
 }
 
 sub unimport {
-    my $class = shift;
+    shift;
 
     # A bare C<no feature> should reset to the default bundle
     if (!@_) {
index b2d2b96..0d240ae 100644 (file)
@@ -528,7 +528,7 @@ BEGIN {
 # Debugger for Perl 5.00x; perl5db.pl patch level:
 use vars qw($VERSION $header);
 
-$VERSION = '1.49_001';
+$VERSION = '1.49_01';
 
 $header = "perl5db.pl version $VERSION";
 
@@ -1938,10 +1938,7 @@ sub _DB__handle_y_command {
         = $obj->cmd_args =~ /\A(?:(\d*)\s*(.*))?\z/) {
 
         # See if we've got the necessary support.
-        if (!eval {
-            local @INC = @INC;
-            pop @INC if $INC[-1] eq '.';
-            require PadWalker; PadWalker->VERSION(0.08) }) {
+        if (!eval { require PadWalker; PadWalker->VERSION(0.08) }) {
             my $Err = $@;
             _db_warn(
                 $Err =~ /locate/
@@ -3322,6 +3319,9 @@ B<h q>, B<h R> or B<h o> to get additional info.
 EOP
 
         # Set the DB::eval context appropriately.
+        # At program termination disable any user actions.
+        $DB::action = undef;
+
         $DB::package     = 'main';
         $DB::usercontext = DB::_calc_usercontext($DB::package);
     } ## end elsif ($package eq 'DB::fake')
@@ -9423,10 +9423,7 @@ if PadWalker could be loaded.
 
 =cut
 
-        if (not $text =~ /::/ and eval {
-            local @INC = @INC;
-            pop @INC if $INC[-1] eq '.';
-            require PadWalker } ) {
+        if (not $text =~ /::/ and eval { require PadWalker } ) {
             my $level = 1;
             while (1) {
                 my @info = caller($level);
index e93aee0..98a3686 100644 (file)
@@ -29,7 +29,7 @@ BEGIN {
     $ENV{PERL_RL} = 'Perl'; # Suppress system Term::ReadLine::Gnu
 }
 
-plan(120);
+plan(121);
 
 my $rc_filename = '.perldb';
 
@@ -2774,6 +2774,31 @@ SKIP:
     );
 }
 
+# [perl #71678] debugger bug in evaluation of user actions ('a' command)
+# Still evaluated after the script finishes.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                q#a 9 print " \$arg = $arg\n"#,
+                'c 9',
+                's',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-a-statement-2',
+            switches => [ '-dw', ],
+            stderr => 1,
+        }
+    );
+
+    $wrapper->contents_unlike(qr/
+        Use\ of\ uninitialized\ value\ \$arg\ in\ concatenation\ [\S ]+\ or\ string\ at
+        /msx,
+        'Test that the a command does not emit warnings on program exit.',
+    );
+}
+
 END {
     1 while unlink ($rc_filename, $out_fn);
 }
diff --git a/lib/perl5db/t/test-a-statement-2 b/lib/perl5db/t/test-a-statement-2
new file mode 100644 (file)
index 0000000..0a3d304
--- /dev/null
@@ -0,0 +1,10 @@
+use strict; use warnings;
+
+greet('Hello');
+
+sub greet
+{
+    my $arg = shift;
+    print "$arg\n";
+    return;
+}
index 9c67231..b0e5b5b 100644 (file)
@@ -1,5 +1,5 @@
-# ArabicShaping-7.0.0.txt
-# Date: 2014-02-14, 21:00:00 GMT [RP, KW, LI]
+# ArabicShaping-8.0.0.txt
+# Date: 2015-02-17, 23:33:00 GMT [RP]
 #
 # This file is a normative contributory data file in the
 # Unicode Character Database.
@@ -7,16 +7,17 @@
 # Copyright (c) 1991-2014 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
-# This file defines the Joining_Type and Joining_Group property values for
-# Arabic, Syriac, N'Ko, Mandaic, Manichaean, and Psalter Pahlavi positional
-# shaping, repeating in machine readable form the information exemplified in
-# Tables 9-3, 9-8, 9-9, 9-10, 9-14, 9-15, 9-16, 9-19, 9-20, 10-XX, 19-5 of The
-# Unicode Standard, Version 7.0. This file also defines Joining_Type values
-# for Mongolian and Phags-pa positional shaping, which are not listed in
-# tables in the standard.
+# This file defines the Joining_Type and Joining_Group property
+# values for Arabic, Syriac, N'Ko, Mandaic, and Manichaean positional
+# shaping, repeating in machine readable form the information
+# exemplified in Tables 9-3, 9-8, 9-9, 9-10, 9-14, 9-15, 9-16, 9-19,
+# 9-20, 10-4, 10-5, 10-6, 10-7, and 19-5 of The Unicode Standard core
+# specification. This file also defines Joining_Type values for
+# Mongolian, Phags-pa, and Psalter Pahlavi positional shaping, which
+# are not listed in tables in the standard.
 #
 # See Sections 9.2, 9.3, 9.5, 10.5, 10.6, 13.4, 14.3, 19.4 of
-# The Unicode Standard, Version 7.0 for more information.
+# The Unicode Standard core specification for more information.
 #
 # Each line contains four fields, separated by a semicolon.
 #
 #   no longer applies to its namesake character, U+06C2.
 #   See PropertyValueAliases.txt.
 #
-# When other cursive scripts are added to the Unicode Standard in
-# the future, the joining group value of all its letters will default
-# to jg=No_Joining_Group in this data file. Other, more specific
+# When other cursive scripts are added to the Unicode Standard in the
+# future, the joining group value of all its letters will default to
+# jg=No_Joining_Group in this data file. Other, more specific
 # joining group values will be defined only if an explicit proposal
 # to define those values exactly has been approved by the UTC. This
 # is the convention exemplified by the N'Ko, Mandaic, Mongolian,
-# and Phags-pa scripts. Only the Arabic and Syriac scripts
-# currently have explicit joining group values defined.
+# Phags-pa, and Psalter Pahlavi scripts. Only the Arabic,
+# Manichaean, and Syriac scripts currently have explicit joining
+# group values defined.
 #
 # Note: Code points that are not explicitly listed in this file are
 # either of joining type T or U:
 08B0; KEHEH WITH STROKE BELOW; D; GAF
 08B1; STRAIGHT WAW; R; STRAIGHT WAW
 08B2; REH WITH DOT AND INVERTED V ABOVE; R; REH
+08B3; AIN WITH 3 DOTS BELOW; D; AIN
+08B4; KAF WITH DOT BELOW; D; KAF
 
 # Mongolian Characters
 
index 2a0cc0c..bfd83cd 100644 (file)
@@ -1,12 +1,12 @@
-# BidiBrackets-7.0.0.txt
-# Date: 2014-01-21, 02:30:00 GMT [AG, LI, KW]
+# BidiBrackets-8.0.0.txt
+# Date: 2015-01-20, 19:00:00 GMT [AG, LI, KW]
 #
 # Bidi_Paired_Bracket and Bidi_Paired_Bracket_Type Properties
 # 
 # This file is a normative contributory data file in the Unicode
 # Character Database.
 #
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Bidi_Paired_Bracket is a normative property of type Miscellaneous,
index b1f7386..fbc60f1 100644 (file)
@@ -1,19 +1,19 @@
-# BidiMirroring-7.0.0.txt
-# Date: 2013-12-17, 00:00:00 GMT [KW, LI]
+# BidiMirroring-8.0.0.txt
+# Date: 2015-01-20, 18:30:00 GMT [KW, LI]
 #
 # Bidi_Mirroring_Glyph Property
 # 
 # This file is an informative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # This data file lists characters that have the Bidi_Mirrored=Yes property
 # 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 7.0.0.
+# The repertoire covered by the file is Unicode 8.0.0.
 # 
 # The file contains a list of lines with mappings from one code point
 # to another one for character-based mirroring.
@@ -42,7 +42,7 @@
 # 
 # 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 Unicode 6.1, 6.2, 6.3, and 7.0 by Ken Whistler and Laurentiu Iancu.
+# and for subsequent versions by Ken Whistler and Laurentiu Iancu.
 # 
 # ############################################################
 #
index 3653af7..0a4a580 100644 (file)
@@ -1,14 +1,11 @@
-# Blocks-7.0.0.txt
-# Date: 2014-04-03, 23:23:00 GMT [RP, KW]
+# Blocks-8.0.0.txt
+# Date: 2014-11-10, 23:04:00 GMT [KW]
 #
 # Unicode Character Database
 # Copyright (c) 1991-2014 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
-# Note:   The casing of block names is not normative.
-#         For example, "Basic Latin" and "BASIC LATIN" are equivalent.
-#
 # Format:
 # Start Code..End Code; Block Name
 
 #         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 
+#  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
+#  never involves splitting columns in the charts.
+#
 #  All code points not explicitly listed for Block
 #  have the value No_Block.
 
@@ -168,6 +173,7 @@ AA80..AADF; Tai Viet
 AAE0..AAFF; Meetei Mayek Extensions
 AB00..AB2F; Ethiopic Extended-A
 AB30..AB6F; Latin Extended-E
+AB70..ABBF; Cherokee Supplement
 ABC0..ABFF; Meetei Mayek
 AC00..D7AF; Hangul Syllables
 D7B0..D7FF; Hangul Jamo Extended-B
@@ -210,6 +216,7 @@ FFF0..FFFF; Specials
 10840..1085F; Imperial Aramaic
 10860..1087F; Palmyrene
 10880..108AF; Nabataean
+108E0..108FF; Hatran
 10900..1091F; Phoenician
 10920..1093F; Lydian
 10980..1099F; Meroitic Hieroglyphs
@@ -223,6 +230,7 @@ FFF0..FFFF; Specials
 10B60..10B7F; Inscriptional Pahlavi
 10B80..10BAF; Psalter Pahlavi
 10C00..10C4F; Old Turkic
+10C80..10CFF; Old Hungarian
 10E60..10E7F; Rumi Numeral Symbols
 11000..1107F; Brahmi
 11080..110CF; Kaithi
@@ -232,17 +240,21 @@ FFF0..FFFF; Specials
 11180..111DF; Sharada
 111E0..111FF; Sinhala Archaic Numbers
 11200..1124F; Khojki
+11280..112AF; Multani
 112B0..112FF; Khudawadi
 11300..1137F; Grantha
 11480..114DF; Tirhuta
 11580..115FF; Siddham
 11600..1165F; Modi
 11680..116CF; Takri
+11700..1173F; Ahom
 118A0..118FF; Warang Citi
 11AC0..11AFF; Pau Cin Hau
 12000..123FF; Cuneiform
 12400..1247F; Cuneiform Numbers and Punctuation
+12480..1254F; Early Dynastic Cuneiform
 13000..1342F; Egyptian Hieroglyphs
+14400..1467F; Anatolian Hieroglyphs
 16800..16A3F; Bamum Supplement
 16A40..16A6F; Mro
 16AD0..16AFF; Bassa Vah
@@ -257,6 +269,7 @@ FFF0..FFFF; Specials
 1D300..1D35F; Tai Xuan Jing Symbols
 1D360..1D37F; Counting Rod Numerals
 1D400..1D7FF; Mathematical Alphanumeric Symbols
+1D800..1DAAF; Sutton SignWriting
 1E800..1E8DF; Mende Kikakui
 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
 1F000..1F02F; Mahjong Tiles
@@ -271,9 +284,11 @@ FFF0..FFFF; Specials
 1F700..1F77F; Alchemical Symbols
 1F780..1F7FF; Geometric Shapes Extended
 1F800..1F8FF; Supplemental Arrows-C
+1F900..1F9FF; Supplemental Symbols and Pictographs
 20000..2A6DF; CJK Unified Ideographs Extension B
 2A700..2B73F; CJK Unified Ideographs Extension C
 2B740..2B81F; CJK Unified Ideographs Extension D
+2B820..2CEAF; CJK Unified Ideographs Extension E
 2F800..2FA1F; CJK Compatibility Ideographs Supplement
 E0000..E007F; Tags
 E0100..E01EF; Variation Selectors Supplement
index 8bc8023..e832657 100644 (file)
@@ -1,8 +1,8 @@
-# CJKRadicals-7.0.0.txt
-# Date: 2013-12-17, 00:00:00 GMT [RC, KW, LI]
+# CJKRadicals-8.0.0.txt
+# Date: 2015-02-19, 00:30:00 GMT [RC, KW, LI]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see UAX #38: Unicode Han Database (Unihan),
 # at http://www.unicode.org/reports/tr38/
 # Mapping from radical numbers to characters.
 #
 # This data file provides a mapping from the radical numbers used
-# in the kRSUnicode property to the corresponding character
-# in the Kangxi Radicals block or the CJK Radicals Supplement block, as
-# well as to a CJK unified ideograph which is formed from that radical
-# only.
+# in the kRSUnicode property to the corresponding character in
+# the Kangxi Radicals block or the CJK Radicals Supplement block,
+# as well as to a CJK unified ideograph which is formed from that
+# radical only.
 #
 # There is one line per radical number. Each line contains three
 # fields, separated by a semicolon (';'). The first field is the
-# radical number. The second field is the CJK radical character. The third
-# field is the CJK unified ideograph.
+# radical number. The second field is the CJK radical character.
+# The third field is the CJK unified ideograph.
 #
 # Radical numbers match the regular expression [1-9][0-9]{0,2}\'?
 # and in particular they can end with a U+0027 ' APOSTROPHE.
 #
 # This file was created for Unicode 5.2 by Richard Cook.
 # Updated for Unicode 6.0 by Richard Cook.
-# Updated for Unicode 6.1 and 6.2 by Ken Whistler.
-# Updated for Unicode 6.3 and 7.0 by Ken Whistler and Laurentiu Iancu.
+# Updated for Unicode 6.1 and 6.2 by Ken Whistler,
+# and for subsequent versions by Ken Whistler and Laurentiu Iancu.
 #
 # ####################################################
 
index 13c10a6..0197a6c 100644 (file)
@@ -1,8 +1,8 @@
-# CaseFolding-7.0.0.txt
-# Date: 2014-04-09, 20:00:56 GMT [MD]
+# CaseFolding-8.0.0.txt
+# Date: 2015-01-13, 18:16:36 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
 10C5; C; 2D25; # GEORGIAN CAPITAL LETTER HOE
 10C7; C; 2D27; # GEORGIAN CAPITAL LETTER YN
 10CD; C; 2D2D; # GEORGIAN CAPITAL LETTER AEN
+13F8; C; 13F0; # CHEROKEE SMALL LETTER YE
+13F9; C; 13F1; # CHEROKEE SMALL LETTER YI
+13FA; C; 13F2; # CHEROKEE SMALL LETTER YO
+13FB; C; 13F3; # CHEROKEE SMALL LETTER YU
+13FC; C; 13F4; # CHEROKEE SMALL LETTER YV
+13FD; C; 13F5; # CHEROKEE SMALL LETTER MV
 1E00; C; 1E01; # LATIN CAPITAL LETTER A WITH RING BELOW
 1E02; C; 1E03; # LATIN CAPITAL LETTER B WITH DOT ABOVE
 1E04; C; 1E05; # LATIN CAPITAL LETTER B WITH DOT BELOW
@@ -1159,6 +1165,90 @@ A7AC; C; 0261; # LATIN CAPITAL LETTER SCRIPT G
 A7AD; C; 026C; # LATIN CAPITAL LETTER L WITH BELT
 A7B0; C; 029E; # LATIN CAPITAL LETTER TURNED K
 A7B1; C; 0287; # LATIN CAPITAL LETTER TURNED T
+A7B2; C; 029D; # LATIN CAPITAL LETTER J WITH CROSSED-TAIL
+A7B3; C; AB53; # LATIN CAPITAL LETTER CHI
+A7B4; C; A7B5; # LATIN CAPITAL LETTER BETA
+A7B6; C; A7B7; # LATIN CAPITAL LETTER OMEGA
+AB70; C; 13A0; # CHEROKEE SMALL LETTER A
+AB71; C; 13A1; # CHEROKEE SMALL LETTER E
+AB72; C; 13A2; # CHEROKEE SMALL LETTER I
+AB73; C; 13A3; # CHEROKEE SMALL LETTER O
+AB74; C; 13A4; # CHEROKEE SMALL LETTER U
+AB75; C; 13A5; # CHEROKEE SMALL LETTER V
+AB76; C; 13A6; # CHEROKEE SMALL LETTER GA
+AB77; C; 13A7; # CHEROKEE SMALL LETTER KA
+AB78; C; 13A8; # CHEROKEE SMALL LETTER GE
+AB79; C; 13A9; # CHEROKEE SMALL LETTER GI
+AB7A; C; 13AA; # CHEROKEE SMALL LETTER GO
+AB7B; C; 13AB; # CHEROKEE SMALL LETTER GU
+AB7C; C; 13AC; # CHEROKEE SMALL LETTER GV
+AB7D; C; 13AD; # CHEROKEE SMALL LETTER HA
+AB7E; C; 13AE; # CHEROKEE SMALL LETTER HE
+AB7F; C; 13AF; # CHEROKEE SMALL LETTER HI
+AB80; C; 13B0; # CHEROKEE SMALL LETTER HO
+AB81; C; 13B1; # CHEROKEE SMALL LETTER HU
+AB82; C; 13B2; # CHEROKEE SMALL LETTER HV
+AB83; C; 13B3; # CHEROKEE SMALL LETTER LA
+AB84; C; 13B4; # CHEROKEE SMALL LETTER LE
+AB85; C; 13B5; # CHEROKEE SMALL LETTER LI
+AB86; C; 13B6; # CHEROKEE SMALL LETTER LO
+AB87; C; 13B7; # CHEROKEE SMALL LETTER LU
+AB88; C; 13B8; # CHEROKEE SMALL LETTER LV
+AB89; C; 13B9; # CHEROKEE SMALL LETTER MA
+AB8A; C; 13BA; # CHEROKEE SMALL LETTER ME
+AB8B; C; 13BB; # CHEROKEE SMALL LETTER MI
+AB8C; C; 13BC; # CHEROKEE SMALL LETTER MO
+AB8D; C; 13BD; # CHEROKEE SMALL LETTER MU
+AB8E; C; 13BE; # CHEROKEE SMALL LETTER NA
+AB8F; C; 13BF; # CHEROKEE SMALL LETTER HNA
+AB90; C; 13C0; # CHEROKEE SMALL LETTER NAH
+AB91; C; 13C1; # CHEROKEE SMALL LETTER NE
+AB92; C; 13C2; # CHEROKEE SMALL LETTER NI
+AB93; C; 13C3; # CHEROKEE SMALL LETTER NO
+AB94; C; 13C4; # CHEROKEE SMALL LETTER NU
+AB95; C; 13C5; # CHEROKEE SMALL LETTER NV
+AB96; C; 13C6; # CHEROKEE SMALL LETTER QUA
+AB97; C; 13C7; # CHEROKEE SMALL LETTER QUE
+AB98; C; 13C8; # CHEROKEE SMALL LETTER QUI
+AB99; C; 13C9; # CHEROKEE SMALL LETTER QUO
+AB9A; C; 13CA; # CHEROKEE SMALL LETTER QUU
+AB9B; C; 13CB; # CHEROKEE SMALL LETTER QUV
+AB9C; C; 13CC; # CHEROKEE SMALL LETTER SA
+AB9D; C; 13CD; # CHEROKEE SMALL LETTER S
+AB9E; C; 13CE; # CHEROKEE SMALL LETTER SE
+AB9F; C; 13CF; # CHEROKEE SMALL LETTER SI
+ABA0; C; 13D0; # CHEROKEE SMALL LETTER SO
+ABA1; C; 13D1; # CHEROKEE SMALL LETTER SU
+ABA2; C; 13D2; # CHEROKEE SMALL LETTER SV
+ABA3; C; 13D3; # CHEROKEE SMALL LETTER DA
+ABA4; C; 13D4; # CHEROKEE SMALL LETTER TA
+ABA5; C; 13D5; # CHEROKEE SMALL LETTER DE
+ABA6; C; 13D6; # CHEROKEE SMALL LETTER TE
+ABA7; C; 13D7; # CHEROKEE SMALL LETTER DI
+ABA8; C; 13D8; # CHEROKEE SMALL LETTER TI
+ABA9; C; 13D9; # CHEROKEE SMALL LETTER DO
+ABAA; C; 13DA; # CHEROKEE SMALL LETTER DU
+ABAB; C; 13DB; # CHEROKEE SMALL LETTER DV
+ABAC; C; 13DC; # CHEROKEE SMALL LETTER DLA
+ABAD; C; 13DD; # CHEROKEE SMALL LETTER TLA
+ABAE; C; 13DE; # CHEROKEE SMALL LETTER TLE
+ABAF; C; 13DF; # CHEROKEE SMALL LETTER TLI
+ABB0; C; 13E0; # CHEROKEE SMALL LETTER TLO
+ABB1; C; 13E1; # CHEROKEE SMALL LETTER TLU
+ABB2; C; 13E2; # CHEROKEE SMALL LETTER TLV
+ABB3; C; 13E3; # CHEROKEE SMALL LETTER TSA
+ABB4; C; 13E4; # CHEROKEE SMALL LETTER TSE
+ABB5; C; 13E5; # CHEROKEE SMALL LETTER TSI
+ABB6; C; 13E6; # CHEROKEE SMALL LETTER TSO
+ABB7; C; 13E7; # CHEROKEE SMALL LETTER TSU
+ABB8; C; 13E8; # CHEROKEE SMALL LETTER TSV
+ABB9; C; 13E9; # CHEROKEE SMALL LETTER WA
+ABBA; C; 13EA; # CHEROKEE SMALL LETTER WE
+ABBB; C; 13EB; # CHEROKEE SMALL LETTER WI
+ABBC; C; 13EC; # CHEROKEE SMALL LETTER WO
+ABBD; C; 13ED; # CHEROKEE SMALL LETTER WU
+ABBE; C; 13EE; # CHEROKEE SMALL LETTER WV
+ABBF; C; 13EF; # CHEROKEE SMALL LETTER YA
 FB00; F; 0066 0066; # LATIN SMALL LIGATURE FF
 FB01; F; 0066 0069; # LATIN SMALL LIGATURE FI
 FB02; F; 0066 006C; # LATIN SMALL LIGATURE FL
@@ -1237,6 +1327,57 @@ FF3A; C; FF5A; # FULLWIDTH LATIN CAPITAL LETTER Z
 10425; C; 1044D; # DESERET CAPITAL LETTER ENG
 10426; C; 1044E; # DESERET CAPITAL LETTER OI
 10427; C; 1044F; # DESERET CAPITAL LETTER EW
+10C80; C; 10CC0; # OLD HUNGARIAN CAPITAL LETTER A
+10C81; C; 10CC1; # OLD HUNGARIAN CAPITAL LETTER AA
+10C82; C; 10CC2; # OLD HUNGARIAN CAPITAL LETTER EB
+10C83; C; 10CC3; # OLD HUNGARIAN CAPITAL LETTER AMB
+10C84; C; 10CC4; # OLD HUNGARIAN CAPITAL LETTER EC
+10C85; C; 10CC5; # OLD HUNGARIAN CAPITAL LETTER ENC
+10C86; C; 10CC6; # OLD HUNGARIAN CAPITAL LETTER ECS
+10C87; C; 10CC7; # OLD HUNGARIAN CAPITAL LETTER ED
+10C88; C; 10CC8; # OLD HUNGARIAN CAPITAL LETTER AND
+10C89; C; 10CC9; # OLD HUNGARIAN CAPITAL LETTER E
+10C8A; C; 10CCA; # OLD HUNGARIAN CAPITAL LETTER CLOSE E
+10C8B; C; 10CCB; # OLD HUNGARIAN CAPITAL LETTER EE
+10C8C; C; 10CCC; # OLD HUNGARIAN CAPITAL LETTER EF
+10C8D; C; 10CCD; # OLD HUNGARIAN CAPITAL LETTER EG
+10C8E; C; 10CCE; # OLD HUNGARIAN CAPITAL LETTER EGY
+10C8F; C; 10CCF; # OLD HUNGARIAN CAPITAL LETTER EH
+10C90; C; 10CD0; # OLD HUNGARIAN CAPITAL LETTER I
+10C91; C; 10CD1; # OLD HUNGARIAN CAPITAL LETTER II
+10C92; C; 10CD2; # OLD HUNGARIAN CAPITAL LETTER EJ
+10C93; C; 10CD3; # OLD HUNGARIAN CAPITAL LETTER EK
+10C94; C; 10CD4; # OLD HUNGARIAN CAPITAL LETTER AK
+10C95; C; 10CD5; # OLD HUNGARIAN CAPITAL LETTER UNK
+10C96; C; 10CD6; # OLD HUNGARIAN CAPITAL LETTER EL
+10C97; C; 10CD7; # OLD HUNGARIAN CAPITAL LETTER ELY
+10C98; C; 10CD8; # OLD HUNGARIAN CAPITAL LETTER EM
+10C99; C; 10CD9; # OLD HUNGARIAN CAPITAL LETTER EN
+10C9A; C; 10CDA; # OLD HUNGARIAN CAPITAL LETTER ENY
+10C9B; C; 10CDB; # OLD HUNGARIAN CAPITAL LETTER O
+10C9C; C; 10CDC; # OLD HUNGARIAN CAPITAL LETTER OO
+10C9D; C; 10CDD; # OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE
+10C9E; C; 10CDE; # OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE
+10C9F; C; 10CDF; # OLD HUNGARIAN CAPITAL LETTER OEE
+10CA0; C; 10CE0; # OLD HUNGARIAN CAPITAL LETTER EP
+10CA1; C; 10CE1; # OLD HUNGARIAN CAPITAL LETTER EMP
+10CA2; C; 10CE2; # OLD HUNGARIAN CAPITAL LETTER ER
+10CA3; C; 10CE3; # OLD HUNGARIAN CAPITAL LETTER SHORT ER
+10CA4; C; 10CE4; # OLD HUNGARIAN CAPITAL LETTER ES
+10CA5; C; 10CE5; # OLD HUNGARIAN CAPITAL LETTER ESZ
+10CA6; C; 10CE6; # OLD HUNGARIAN CAPITAL LETTER ET
+10CA7; C; 10CE7; # OLD HUNGARIAN CAPITAL LETTER ENT
+10CA8; C; 10CE8; # OLD HUNGARIAN CAPITAL LETTER ETY
+10CA9; C; 10CE9; # OLD HUNGARIAN CAPITAL LETTER ECH
+10CAA; C; 10CEA; # OLD HUNGARIAN CAPITAL LETTER U
+10CAB; C; 10CEB; # OLD HUNGARIAN CAPITAL LETTER UU
+10CAC; C; 10CEC; # OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE
+10CAD; C; 10CED; # OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE
+10CAE; C; 10CEE; # OLD HUNGARIAN CAPITAL LETTER EV
+10CAF; C; 10CEF; # OLD HUNGARIAN CAPITAL LETTER EZ
+10CB0; C; 10CF0; # OLD HUNGARIAN CAPITAL LETTER EZS
+10CB1; C; 10CF1; # OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN
+10CB2; C; 10CF2; # OLD HUNGARIAN CAPITAL LETTER US
 118A0; C; 118C0; # WARANG CITI CAPITAL LETTER NGAA
 118A1; C; 118C1; # WARANG CITI CAPITAL LETTER A
 118A2; C; 118C2; # WARANG CITI CAPITAL LETTER WI
index d618e44..a4324b8 100644 (file)
@@ -1,5 +1,5 @@
-# CompositionExclusions-7.0.0.txt
-# Date: 2014-01-24, 15:00:00 GMT [KW, LI]
+# CompositionExclusions-8.0.0.txt
+# Date: 2015-02-19, 00:30:00 GMT [KW, LI]
 #
 # This file lists the characters for the Composition Exclusion Table
 # defined in UAX #15, Unicode Normalization Forms.
@@ -7,7 +7,7 @@
 # This file is a normative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # For more information, see
index 134dbbb..f1b0add 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedAge-7.0.0.txt
-# Date: 2014-05-28, 18:42:04 GMT [MD]
+# DerivedAge-8.0.0.txt
+# Date: 2015-02-13, 13:30:18 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -1467,4 +1467,72 @@ FE27..FE2D    ; 7.0 #   [7] COMBINING LIGATURE LEFT HALF BELOW..COMBINING CONJOI
 
 # Total code points: 2834
 
+# ================================================
+
+# Age=V8_0
+
+# Newly assigned in Unicode 8.0.0 (June, 2015)
+
+08B3..08B4    ; 8.0 #   [2] ARABIC LETTER AIN WITH THREE DOTS BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08E3          ; 8.0 #       ARABIC TURNED DAMMA BELOW
+0AF9          ; 8.0 #       GUJARATI LETTER ZHA
+0C5A          ; 8.0 #       TELUGU LETTER RRRA
+0D5F          ; 8.0 #       MALAYALAM LETTER ARCHAIC II
+13F5          ; 8.0 #       CHEROKEE LETTER MV
+13F8..13FD    ; 8.0 #   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
+20BE          ; 8.0 #       LARI SIGN
+218A..218B    ; 8.0 #   [2] TURNED DIGIT TWO..TURNED DIGIT THREE
+2BEC..2BEF    ; 8.0 #   [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
+9FCD..9FD5    ; 8.0 #   [9] CJK UNIFIED IDEOGRAPH-9FCD..CJK UNIFIED IDEOGRAPH-9FD5
+A69E          ; 8.0 #       COMBINING CYRILLIC LETTER EF
+A78F          ; 8.0 #       LATIN LETTER SINOLOGICAL DOT
+A7B2..A7B7    ; 8.0 #   [6] LATIN CAPITAL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER OMEGA
+A8FC..A8FD    ; 8.0 #   [2] DEVANAGARI SIGN SIDDHAM..DEVANAGARI JAIN OM
+AB60..AB63    ; 8.0 #   [4] LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER UO
+AB70..ABBF    ; 8.0 #  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
+FE2E..FE2F    ; 8.0 #   [2] COMBINING CYRILLIC TITLO LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
+108E0..108F2  ; 8.0 #  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; 8.0 #   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108FB..108FF  ; 8.0 #   [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
+109BC..109BD  ; 8.0 #   [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
+109C0..109CF  ; 8.0 #  [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF  ; 8.0 #  [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
+10C80..10CB2  ; 8.0 #  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; 8.0 #  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CFA..10CFF  ; 8.0 #   [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
+111C9..111CC  ; 8.0 #   [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK
+111DB..111DF  ; 8.0 #   [5] SHARADA SIGN SIDDHAM..SHARADA SECTION MARK-2
+11280..11286  ; 8.0 #   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; 8.0 #       MULTANI LETTER GHA
+1128A..1128D  ; 8.0 #   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; 8.0 #  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A9  ; 8.0 #  [11] MULTANI LETTER BHA..MULTANI SECTION MARK
+11300         ; 8.0 #       GRANTHA SIGN COMBINING ANUSVARA ABOVE
+11350         ; 8.0 #       GRANTHA OM
+115CA..115DD  ; 8.0 #  [20] SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS..SIDDHAM VOWEL SIGN ALTERNATE UU
+11700..11719  ; 8.0 #  [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1172B  ; 8.0 #  [15] AHOM CONSONANT SIGN MEDIAL LA..AHOM SIGN KILLER
+11730..1173F  ; 8.0 #  [16] AHOM DIGIT ZERO..AHOM SYMBOL VI
+12399         ; 8.0 #       CUNEIFORM SIGN U U
+12480..12543  ; 8.0 # [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
+14400..14646  ; 8.0 # [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
+1D1DE..1D1E8  ; 8.0 #  [11] MUSICAL SYMBOL KIEVAN C CLEF..MUSICAL SYMBOL KIEVAN FLAT SIGN
+1D800..1DA8B  ; 8.0 # [652] SIGNWRITING HAND-FIST INDEX..SIGNWRITING PARENTHESIS
+1DA9B..1DA9F  ; 8.0 #   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; 8.0 #  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
+1F32D..1F32F  ; 8.0 #   [3] HOT DOG..BURRITO
+1F37E..1F37F  ; 8.0 #   [2] BOTTLE WITH POPPING CORK..POPCORN
+1F3CF..1F3D3  ; 8.0 #   [5] CRICKET BAT AND BALL..TABLE TENNIS PADDLE AND BALL
+1F3F8..1F3FF  ; 8.0 #   [8] BADMINTON RACQUET AND SHUTTLECOCK..EMOJI MODIFIER FITZPATRICK TYPE-6
+1F4FF         ; 8.0 #       PRAYER BEADS
+1F54B..1F54F  ; 8.0 #   [5] KAABA..BOWL OF HYGIEIA
+1F643..1F644  ; 8.0 #   [2] UPSIDE-DOWN FACE..FACE WITH ROLLING EYES
+1F6D0         ; 8.0 #       PLACE OF WORSHIP
+1F910..1F918  ; 8.0 #   [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984  ; 8.0 #   [5] CRAB..UNICORN FACE
+1F9C0         ; 8.0 #       CHEESE WEDGE
+2B820..2CEA1  ; 8.0 # [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+
+# Total code points: 7716
+
 # EOF
index 225d3d1..35d51e5 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedCoreProperties-7.0.0.txt
-# Date: 2014-02-19, 15:51:15 GMT [MD]
+# DerivedCoreProperties-8.0.0.txt
+# Date: 2015-03-11, 22:29:21 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -339,8 +339,8 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 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
-08A0..08B2    ; Alphabetic # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
-08E4..08E9    ; Alphabetic # Mn   [6] ARABIC CURLY FATHA..ARABIC CURLY KASRATAN
+08A0..08B4    ; Alphabetic # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08E3..08E9    ; Alphabetic # Mn   [7] ARABIC TURNED DAMMA BELOW..ARABIC CURLY KASRATAN
 08F0..0902    ; Alphabetic # Mn  [19] ARABIC OPEN FATHATAN..DEVANAGARI SIGN ANUSVARA
 0903          ; Alphabetic # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; Alphabetic # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -412,6 +412,7 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 0AD0          ; Alphabetic # Lo       GUJARATI OM
 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
 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
@@ -463,7 +464,7 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 0C46..0C48    ; Alphabetic # Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
 0C4A..0C4C    ; Alphabetic # Mn   [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU
 0C55..0C56    ; Alphabetic # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59    ; Alphabetic # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; Alphabetic # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; Alphabetic # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63    ; Alphabetic # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C81          ; Alphabetic # Mn       KANNADA SIGN CANDRABINDU
@@ -498,7 +499,7 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 0D4A..0D4C    ; Alphabetic # Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
 0D4E          ; Alphabetic # Lo       MALAYALAM LETTER DOT REPH
 0D57          ; Alphabetic # Mc       MALAYALAM AU LENGTH MARK
-0D60..0D61    ; Alphabetic # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; Alphabetic # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D62..0D63    ; Alphabetic # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
 0D7A..0D7F    ; Alphabetic # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
 0D82..0D83    ; Alphabetic # Mc   [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
@@ -599,7 +600,8 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 1318..135A    ; Alphabetic # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
 135F          ; Alphabetic # Mn       ETHIOPIC COMBINING GEMINATION MARK
 1380..138F    ; Alphabetic # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4    ; Alphabetic # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; Alphabetic # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; Alphabetic # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1401..166C    ; Alphabetic # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166F..167F    ; Alphabetic # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
 1681..169A    ; Alphabetic # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
@@ -642,9 +644,7 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 1950..196D    ; Alphabetic # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; Alphabetic # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; Alphabetic # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0    ; Alphabetic # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7    ; Alphabetic # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9    ; Alphabetic # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9    ; Alphabetic # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 1A00..1A16    ; Alphabetic # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
 1A17..1A18    ; Alphabetic # Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
 1A19..1A1A    ; Alphabetic # Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
@@ -789,7 +789,7 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 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..9FCC    ; Alphabetic # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; Alphabetic # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -805,7 +805,7 @@ A674..A67B    ; Alphabetic # Mn   [8] COMBINING CYRILLIC LETTER UKRAINIAN IE..CO
 A67F          ; Alphabetic # Lm       CYRILLIC PAYEROK
 A680..A69B    ; Alphabetic # L&  [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O
 A69C..A69D    ; Alphabetic # Lm   [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN
-A69F          ; Alphabetic # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; Alphabetic # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6A0..A6E5    ; Alphabetic # Lo  [70] BAMUM LETTER A..BAMUM LETTER KI
 A6E6..A6EF    ; Alphabetic # Nl  [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
 A717..A71F    ; Alphabetic # Lm   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
@@ -814,8 +814,9 @@ A770          ; Alphabetic # Lm       MODIFIER LETTER US
 A771..A787    ; Alphabetic # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A788          ; Alphabetic # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; Alphabetic # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; Alphabetic # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; Alphabetic # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Alphabetic # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; Alphabetic # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; Alphabetic # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; Alphabetic # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; Alphabetic # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -832,6 +833,7 @@ A882..A8B3    ; Alphabetic # Lo  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
 A8B4..A8C3    ; Alphabetic # Mc  [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
 A8F2..A8F7    ; Alphabetic # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8FB          ; Alphabetic # Lo       DEVANAGARI HEADSTROKE
+A8FD          ; Alphabetic # Lo       DEVANAGARI JAIN OM
 A90A..A925    ; Alphabetic # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A926..A92A    ; Alphabetic # Mn   [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O
 A930..A946    ; Alphabetic # Lo  [23] REJANG LETTER KA..REJANG LETTER A
@@ -892,7 +894,8 @@ AB20..AB26    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE
 AB28..AB2E    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; Alphabetic # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5C..AB5F    ; Alphabetic # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; Alphabetic # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; Alphabetic # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; Alphabetic # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; Alphabetic # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4    ; Alphabetic # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; Alphabetic # Mn       MEETEI MAYEK VOWEL SIGN ANAP
@@ -968,6 +971,8 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 1083F..10855  ; Alphabetic # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10860..10876  ; Alphabetic # Lo  [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW
 10880..1089E  ; Alphabetic # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
+108E0..108F2  ; Alphabetic # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; Alphabetic # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; Alphabetic # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; Alphabetic # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 10980..109B7  ; Alphabetic # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
@@ -988,6 +993,8 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 10B60..10B72  ; Alphabetic # Lo  [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
 10B80..10B91  ; Alphabetic # Lo  [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW
 10C00..10C48  ; Alphabetic # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; Alphabetic # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; Alphabetic # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 11000         ; Alphabetic # Mc       BRAHMI SIGN CANDRABINDU
 11001         ; Alphabetic # Mn       BRAHMI SIGN ANUSVARA
 11002         ; Alphabetic # Mc       BRAHMI SIGN VISARGA
@@ -1014,6 +1021,7 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 111BF         ; Alphabetic # Mc       SHARADA VOWEL SIGN AU
 111C1..111C4  ; Alphabetic # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
 111DA         ; Alphabetic # Lo       SHARADA EKAM
+111DC         ; Alphabetic # Lo       SHARADA HEADSTROKE
 11200..11211  ; Alphabetic # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; Alphabetic # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
 1122C..1122E  ; Alphabetic # Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
@@ -1021,11 +1029,16 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 11232..11233  ; Alphabetic # Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
 11234         ; Alphabetic # Mn       KHOJKI SIGN ANUSVARA
 11237         ; Alphabetic # Mn       KHOJKI SIGN SHADDA
+11280..11286  ; Alphabetic # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; Alphabetic # Lo       MULTANI LETTER GHA
+1128A..1128D  ; Alphabetic # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; Alphabetic # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; Alphabetic # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112B0..112DE  ; Alphabetic # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 112DF         ; Alphabetic # Mn       KHUDAWADI SIGN ANUSVARA
 112E0..112E2  ; Alphabetic # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112E8  ; Alphabetic # Mn   [6] KHUDAWADI VOWEL SIGN U..KHUDAWADI VOWEL SIGN AU
-11301         ; Alphabetic # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Alphabetic # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; Alphabetic # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 11305..1130C  ; Alphabetic # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; Alphabetic # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -1039,6 +1052,7 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 11341..11344  ; Alphabetic # Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348  ; Alphabetic # Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134C  ; Alphabetic # Mc   [2] GRANTHA VOWEL SIGN OO..GRANTHA VOWEL SIGN AU
+11350         ; Alphabetic # Lo       GRANTHA OM
 11357         ; Alphabetic # Mc       GRANTHA AU LENGTH MARK
 1135D..11361  ; Alphabetic # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363  ; Alphabetic # Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
@@ -1058,6 +1072,8 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 115B8..115BB  ; Alphabetic # Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
 115BC..115BD  ; Alphabetic # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; Alphabetic # Mc       SIDDHAM SIGN VISARGA
+115D8..115DB  ; Alphabetic # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
+115DC..115DD  ; Alphabetic # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11600..1162F  ; Alphabetic # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11630..11632  ; Alphabetic # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; Alphabetic # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
@@ -1072,12 +1088,20 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 116AD         ; Alphabetic # Mn       TAKRI VOWEL SIGN AA
 116AE..116AF  ; Alphabetic # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
 116B0..116B5  ; Alphabetic # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+11700..11719  ; Alphabetic # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F  ; Alphabetic # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; Alphabetic # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725  ; Alphabetic # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726         ; Alphabetic # Mc       AHOM VOWEL SIGN E
+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
 11AC0..11AF8  ; Alphabetic # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; Alphabetic # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
 13000..1342E  ; Alphabetic # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; Alphabetic # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; Alphabetic # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; Alphabetic # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16AD0..16AED  ; Alphabetic # Lo  [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I
@@ -1166,9 +1190,10 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 20000..2A6D6  ; Alphabetic # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 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
 2F800..2FA1D  ; Alphabetic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 104077
+# Total code points: 110943
 
 # ================================================
 
@@ -1452,6 +1477,7 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 052D          ; Lowercase # L&       CYRILLIC SMALL LETTER DCHE
 052F          ; Lowercase # L&       CYRILLIC SMALL LETTER EL WITH DESCENDER
 0561..0587    ; Lowercase # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+13F8..13FD    ; Lowercase # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1D00..1D2B    ; Lowercase # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A    ; Lowercase # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D6B..1D77    ; Lowercase # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
@@ -1782,15 +1808,19 @@ A7A3          ; Lowercase # L&       LATIN SMALL LETTER K WITH OBLIQUE STROKE
 A7A5          ; Lowercase # L&       LATIN SMALL LETTER N WITH OBLIQUE STROKE
 A7A7          ; Lowercase # L&       LATIN SMALL LETTER R WITH OBLIQUE STROKE
 A7A9          ; Lowercase # L&       LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7B5          ; Lowercase # L&       LATIN SMALL LETTER BETA
+A7B7          ; Lowercase # L&       LATIN SMALL LETTER OMEGA
 A7F8..A7F9    ; Lowercase # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; Lowercase # L&       LATIN LETTER SMALL CAPITAL TURNED M
 AB30..AB5A    ; Lowercase # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5C..AB5F    ; Lowercase # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; Lowercase # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; Lowercase # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; Lowercase # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 FB00..FB06    ; Lowercase # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Lowercase # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FF41..FF5A    ; Lowercase # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10428..1044F  ; Lowercase # L&  [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
+10CC0..10CF2  ; Lowercase # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 118C0..118DF  ; Lowercase # L&  [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 1D41A..1D433  ; Lowercase # L&  [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z
 1D44E..1D454  ; Lowercase # L&   [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G
@@ -1821,7 +1851,7 @@ FF41..FF5A    ; Lowercase # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L
 1D7C4..1D7C9  ; Lowercase # L&   [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
 1D7CB         ; Lowercase # L&       MATHEMATICAL BOLD SMALL DIGAMMA
 
-# Total code points: 2030
+# Total code points: 2173
 
 # ================================================
 
@@ -2103,6 +2133,7 @@ FF41..FF5A    ; Lowercase # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L
 10A0..10C5    ; Uppercase # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
 10C7          ; Uppercase # L&       GEORGIAN CAPITAL LETTER YN
 10CD          ; Uppercase # L&       GEORGIAN CAPITAL LETTER AEN
+13A0..13F5    ; Uppercase # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
 1E00          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH RING BELOW
 1E02          ; Uppercase # L&       LATIN CAPITAL LETTER B WITH DOT ABOVE
 1E04          ; Uppercase # L&       LATIN CAPITAL LETTER B WITH DOT BELOW
@@ -2417,9 +2448,11 @@ A7A4          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
 A7A6          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
 A7AA..A7AD    ; Uppercase # L&   [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Uppercase # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B4    ; Uppercase # L&   [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA
+A7B6          ; Uppercase # L&       LATIN CAPITAL LETTER OMEGA
 FF21..FF3A    ; Uppercase # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Uppercase # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
+10C80..10CB2  ; Uppercase # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
 118A0..118BF  ; Uppercase # L&  [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO
 1D400..1D419  ; Uppercase # L&  [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
 1D434..1D44D  ; Uppercase # L&  [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z
@@ -2456,7 +2489,7 @@ FF21..FF3A    ; Uppercase # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH
 1F150..1F169  ; Uppercase # So  [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F189  ; Uppercase # So  [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
 
-# Total code points: 1610
+# Total code points: 1751
 
 # ================================================
 
@@ -2496,6 +2529,8 @@ FF21..FF3A    ; Uppercase # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH
 10A0..10C5    ; Cased # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
 10C7          ; Cased # L&       GEORGIAN CAPITAL LETTER YN
 10CD          ; Cased # L&       GEORGIAN CAPITAL LETTER AEN
+13A0..13F5    ; Cased # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; Cased # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1D00..1D2B    ; Cased # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A    ; Cased # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D6B..1D77    ; Cased # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
@@ -2559,17 +2594,20 @@ A770          ; Cased # Lm       MODIFIER LETTER US
 A771..A787    ; Cased # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A78B..A78E    ; Cased # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A790..A7AD    ; Cased # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Cased # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; Cased # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F8..A7F9    ; Cased # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; Cased # L&       LATIN LETTER SMALL CAPITAL TURNED M
 AB30..AB5A    ; Cased # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5C..AB5F    ; Cased # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; Cased # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; Cased # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; Cased # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 FB00..FB06    ; Cased # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Cased # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FF21..FF3A    ; Cased # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 FF41..FF5A    ; Cased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10400..1044F  ; Cased # L&  [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
+10C80..10CB2  ; Cased # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; Cased # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 118A0..118DF  ; Cased # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 1D400..1D454  ; Cased # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
 1D456..1D49C  ; Cased # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
@@ -2605,7 +2643,7 @@ FF41..FF5A    ; Cased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN
 1F150..1F169  ; Cased # So  [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F189  ; Cased # So  [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
 
-# Total code points: 3671
+# Total code points: 3955
 
 # ================================================
 
@@ -2678,7 +2716,7 @@ FF41..FF5A    ; Cased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN
 0828          ; Case_Ignorable # Lm       SAMARITAN MODIFIER LETTER I
 0829..082D    ; Case_Ignorable # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; Case_Ignorable # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
-08E4..0902    ; Case_Ignorable # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08E3..0902    ; Case_Ignorable # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 093A          ; Case_Ignorable # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; Case_Ignorable # Mn       DEVANAGARI SIGN NUKTA
 0941..0948    ; Case_Ignorable # Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
@@ -2868,7 +2906,7 @@ A670..A672    ; Case_Ignorable # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..
 A674..A67D    ; Case_Ignorable # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
 A67F          ; Case_Ignorable # Lm       CYRILLIC PAYEROK
 A69C..A69D    ; Case_Ignorable # Lm   [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN
-A69F          ; Case_Ignorable # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; Case_Ignorable # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; Case_Ignorable # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A700..A716    ; Case_Ignorable # Sk  [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
 A717..A71F    ; Case_Ignorable # Lm   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
@@ -2917,7 +2955,7 @@ FB1E          ; Case_Ignorable # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 FBB2..FBC1    ; Case_Ignorable # Sk  [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW
 FE00..FE0F    ; Case_Ignorable # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
 FE13          ; Case_Ignorable # Po       PRESENTATION FORM FOR VERTICAL COLON
-FE20..FE2D    ; Case_Ignorable # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; Case_Ignorable # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FE52          ; Case_Ignorable # Po       SMALL FULL STOP
 FE55          ; Case_Ignorable # Po       SMALL COLON
 FEFF          ; Case_Ignorable # Cf       ZERO WIDTH NO-BREAK SPACE
@@ -2951,12 +2989,13 @@ FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
 11173         ; Case_Ignorable # Mn       MAHAJANI SIGN NUKTA
 11180..11181  ; Case_Ignorable # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
 111B6..111BE  ; Case_Ignorable # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111CA..111CC  ; Case_Ignorable # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 1122F..11231  ; Case_Ignorable # Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11234         ; Case_Ignorable # Mn       KHOJKI SIGN ANUSVARA
 11236..11237  ; Case_Ignorable # Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
 112DF         ; Case_Ignorable # Mn       KHUDAWADI SIGN ANUSVARA
 112E3..112EA  ; Case_Ignorable # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
-11301         ; Case_Ignorable # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Case_Ignorable # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 1133C         ; Case_Ignorable # Mn       GRANTHA SIGN NUKTA
 11340         ; Case_Ignorable # Mn       GRANTHA VOWEL SIGN II
 11366..1136C  ; Case_Ignorable # Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
@@ -2968,6 +3007,7 @@ FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
 115B2..115B5  ; Case_Ignorable # Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
 115BC..115BD  ; Case_Ignorable # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BF..115C0  ; Case_Ignorable # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; Case_Ignorable # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11633..1163A  ; Case_Ignorable # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163D         ; Case_Ignorable # Mn       MODI SIGN ANUSVARA
 1163F..11640  ; Case_Ignorable # Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
@@ -2975,6 +3015,9 @@ FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
 116AD         ; Case_Ignorable # Mn       TAKRI VOWEL SIGN AA
 116B0..116B5  ; Case_Ignorable # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116B7         ; Case_Ignorable # Mn       TAKRI SIGN NUKTA
+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
 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
@@ -2988,12 +3031,19 @@ FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
 1D185..1D18B  ; Case_Ignorable # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; Case_Ignorable # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; Case_Ignorable # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1DA00..1DA36  ; Case_Ignorable # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; Case_Ignorable # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; Case_Ignorable # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; Case_Ignorable # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; Case_Ignorable # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; Case_Ignorable # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E8D0..1E8D6  ; Case_Ignorable # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
+1F3FB..1F3FF  ; Case_Ignorable # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
 E0001         ; Case_Ignorable # Cf       LANGUAGE TAG
 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: 1961
+# Total code points: 2115
 
 # ================================================
 
@@ -3276,6 +3326,7 @@ E0100..E01EF  ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELEC
 10A0..10C5    ; Changes_When_Lowercased # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
 10C7          ; Changes_When_Lowercased # L&       GEORGIAN CAPITAL LETTER YN
 10CD          ; Changes_When_Lowercased # L&       GEORGIAN CAPITAL LETTER AEN
+13A0..13F5    ; Changes_When_Lowercased # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
 1E00          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH RING BELOW
 1E02          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER B WITH DOT ABOVE
 1E04          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER B WITH DOT BELOW
@@ -3583,12 +3634,14 @@ A7A4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH O
 A7A6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
 A7AA..A7AD    ; Changes_When_Lowercased # L&   [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B4    ; Changes_When_Lowercased # L&   [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA
+A7B6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER OMEGA
 FF21..FF3A    ; Changes_When_Lowercased # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Changes_When_Lowercased # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
+10C80..10CB2  ; Changes_When_Lowercased # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
 118A0..118BF  ; Changes_When_Lowercased # L&  [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO
 
-# Total code points: 1092
+# Total code points: 1233
 
 # ================================================
 
@@ -3757,7 +3810,7 @@ FF21..FF3A    ; Changes_When_Lowercased # L&  [26] FULLWIDTH LATIN CAPITAL LETTE
 0283          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER ESH
 0287..028C    ; Changes_When_Uppercased # L&   [6] LATIN SMALL LETTER TURNED T..LATIN SMALL LETTER TURNED V
 0292          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER EZH
-029E          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TURNED K
+029D..029E    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER TURNED K
 0345          ; Changes_When_Uppercased # Mn       COMBINING GREEK YPOGEGRAMMENI
 0371          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER HETA
 0373          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER ARCHAIC SAMPI
@@ -3883,6 +3936,7 @@ FF21..FF3A    ; Changes_When_Lowercased # L&  [26] FULLWIDTH LATIN CAPITAL LETTE
 052D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER DCHE
 052F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER EL WITH DESCENDER
 0561..0587    ; Changes_When_Uppercased # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+13F8..13FD    ; Changes_When_Uppercased # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1D79          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER INSULAR G
 1D7D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER P WITH STROKE
 1E01          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH RING BELOW
@@ -4191,13 +4245,18 @@ A7A3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH OBL
 A7A5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH OBLIQUE STROKE
 A7A7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH OBLIQUE STROKE
 A7A9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7B5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER BETA
+A7B7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER OMEGA
+AB53          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER CHI
+AB70..ABBF    ; Changes_When_Uppercased # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 FB00..FB06    ; Changes_When_Uppercased # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Changes_When_Uppercased # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FF41..FF5A    ; Changes_When_Uppercased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10428..1044F  ; Changes_When_Uppercased # L&  [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
+10CC0..10CF2  ; Changes_When_Uppercased # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 118C0..118DF  ; Changes_When_Uppercased # L&  [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 
-# Total code points: 1175
+# Total code points: 1316
 
 # ================================================
 
@@ -4367,7 +4426,7 @@ FF41..FF5A    ; Changes_When_Uppercased # L&  [26] FULLWIDTH LATIN SMALL LETTER
 0283          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER ESH
 0287..028C    ; Changes_When_Titlecased # L&   [6] LATIN SMALL LETTER TURNED T..LATIN SMALL LETTER TURNED V
 0292          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER EZH
-029E          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER TURNED K
+029D..029E    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER TURNED K
 0345          ; Changes_When_Titlecased # Mn       COMBINING GREEK YPOGEGRAMMENI
 0371          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER HETA
 0373          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER ARCHAIC SAMPI
@@ -4493,6 +4552,7 @@ FF41..FF5A    ; Changes_When_Uppercased # L&  [26] FULLWIDTH LATIN SMALL LETTER
 052D          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER DCHE
 052F          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER EL WITH DESCENDER
 0561..0587    ; Changes_When_Titlecased # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+13F8..13FD    ; Changes_When_Titlecased # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1D79          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER INSULAR G
 1D7D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER P WITH STROKE
 1E01          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH RING BELOW
@@ -4801,13 +4861,18 @@ A7A3          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER K WITH OBL
 A7A5          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH OBLIQUE STROKE
 A7A7          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH OBLIQUE STROKE
 A7A9          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7B5          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER BETA
+A7B7          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER OMEGA
+AB53          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER CHI
+AB70..ABBF    ; Changes_When_Titlecased # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 FB00..FB06    ; Changes_When_Titlecased # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Changes_When_Titlecased # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FF41..FF5A    ; Changes_When_Titlecased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10428..1044F  ; Changes_When_Titlecased # L&  [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
+10CC0..10CF2  ; Changes_When_Titlecased # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 118C0..118DF  ; Changes_When_Titlecased # L&  [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 
-# Total code points: 1148
+# Total code points: 1289
 
 # ================================================
 
@@ -5097,6 +5162,7 @@ FF41..FF5A    ; Changes_When_Titlecased # L&  [26] FULLWIDTH LATIN SMALL LETTER
 10A0..10C5    ; Changes_When_Casefolded # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
 10C7          ; Changes_When_Casefolded # L&       GEORGIAN CAPITAL LETTER YN
 10CD          ; Changes_When_Casefolded # L&       GEORGIAN CAPITAL LETTER AEN
+13F8..13FD    ; Changes_When_Casefolded # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1E00          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER A WITH RING BELOW
 1E02          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER B WITH DOT ABOVE
 1E04          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER B WITH DOT BELOW
@@ -5406,14 +5472,17 @@ A7A4          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER N WITH O
 A7A6          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
 A7AA..A7AD    ; Changes_When_Casefolded # L&   [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Changes_When_Casefolded # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B4    ; Changes_When_Casefolded # L&   [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA
+A7B6          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER OMEGA
+AB70..ABBF    ; Changes_When_Casefolded # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 FB00..FB06    ; Changes_When_Casefolded # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Changes_When_Casefolded # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FF21..FF3A    ; Changes_When_Casefolded # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Changes_When_Casefolded # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
+10C80..10CB2  ; Changes_When_Casefolded # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
 118A0..118BF  ; Changes_When_Casefolded # L&  [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO
 
-# Total code points: 1156
+# Total code points: 1297
 
 # ================================================
 
@@ -5453,7 +5522,7 @@ FF21..FF3A    ; Changes_When_Casefolded # L&  [26] FULLWIDTH LATIN CAPITAL LETTE
 0283          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER ESH
 0287..028C    ; Changes_When_Casemapped # L&   [6] LATIN SMALL LETTER TURNED T..LATIN SMALL LETTER TURNED V
 0292          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER EZH
-029E          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER TURNED K
+029D..029E    ; Changes_When_Casemapped # L&   [2] LATIN SMALL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER TURNED K
 0345          ; Changes_When_Casemapped # Mn       COMBINING GREEK YPOGEGRAMMENI
 0370..0373    ; Changes_When_Casemapped # L&   [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
 0376..0377    ; Changes_When_Casemapped # L&   [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
@@ -5473,6 +5542,8 @@ FF21..FF3A    ; Changes_When_Casefolded # L&  [26] FULLWIDTH LATIN CAPITAL LETTE
 10A0..10C5    ; Changes_When_Casemapped # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
 10C7          ; Changes_When_Casemapped # L&       GEORGIAN CAPITAL LETTER YN
 10CD          ; Changes_When_Casemapped # L&       GEORGIAN CAPITAL LETTER AEN
+13A0..13F5    ; Changes_When_Casemapped # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; Changes_When_Casemapped # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1D79          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER INSULAR G
 1D7D          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER P WITH STROKE
 1E00..1E9B    ; Changes_When_Casemapped # L& [156] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE
@@ -5522,15 +5593,19 @@ A779..A787    ; Changes_When_Casemapped # L&  [15] LATIN CAPITAL LETTER INSULAR
 A78B..A78D    ; Changes_When_Casemapped # L&   [3] LATIN CAPITAL LETTER SALTILLO..LATIN CAPITAL LETTER TURNED H
 A790..A793    ; Changes_When_Casemapped # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
 A796..A7AD    ; Changes_When_Casemapped # L&  [24] LATIN CAPITAL LETTER B WITH FLOURISH..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Changes_When_Casemapped # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; Changes_When_Casemapped # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
+AB53          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER CHI
+AB70..ABBF    ; Changes_When_Casemapped # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 FB00..FB06    ; Changes_When_Casemapped # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Changes_When_Casemapped # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FF21..FF3A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10400..1044F  ; Changes_When_Casemapped # L&  [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
+10C80..10CB2  ; Changes_When_Casemapped # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; Changes_When_Casemapped # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 118A0..118DF  ; Changes_When_Casemapped # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 
-# Total code points: 2236
+# Total code points: 2518
 
 # ================================================
 
@@ -5602,7 +5677,7 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 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
-08A0..08B2    ; ID_Start # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+08A0..08B4    ; ID_Start # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 0904..0939    ; ID_Start # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093D          ; ID_Start # Lo       DEVANAGARI SIGN AVAGRAHA
 0950          ; ID_Start # Lo       DEVANAGARI OM
@@ -5639,6 +5714,7 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 0ABD          ; ID_Start # Lo       GUJARATI SIGN AVAGRAHA
 0AD0          ; ID_Start # Lo       GUJARATI OM
 0AE0..0AE1    ; ID_Start # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
+0AF9          ; ID_Start # Lo       GUJARATI LETTER ZHA
 0B05..0B0C    ; ID_Start # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
 0B0F..0B10    ; ID_Start # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
 0B13..0B28    ; ID_Start # Lo  [22] ORIYA LETTER O..ORIYA LETTER NA
@@ -5665,7 +5741,7 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 0C12..0C28    ; ID_Start # Lo  [23] TELUGU LETTER O..TELUGU LETTER NA
 0C2A..0C39    ; ID_Start # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; ID_Start # Lo       TELUGU SIGN AVAGRAHA
-0C58..0C59    ; ID_Start # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; ID_Start # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; ID_Start # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C85..0C8C    ; ID_Start # Lo   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
 0C8E..0C90    ; ID_Start # Lo   [3] KANNADA LETTER E..KANNADA LETTER AI
@@ -5681,7 +5757,7 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 0D12..0D3A    ; ID_Start # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
 0D3D          ; ID_Start # Lo       MALAYALAM SIGN AVAGRAHA
 0D4E          ; ID_Start # Lo       MALAYALAM LETTER DOT REPH
-0D60..0D61    ; ID_Start # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; ID_Start # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D7A..0D7F    ; ID_Start # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
 0D85..0D96    ; ID_Start # Lo  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
 0D9A..0DB1    ; ID_Start # Lo  [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
@@ -5744,7 +5820,8 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 1312..1315    ; ID_Start # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; ID_Start # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
 1380..138F    ; ID_Start # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4    ; ID_Start # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; ID_Start # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; ID_Start # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1401..166C    ; ID_Start # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166F..167F    ; ID_Start # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
 1681..169A    ; ID_Start # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
@@ -5770,7 +5847,7 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 1950..196D    ; ID_Start # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; ID_Start # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; ID_Start # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19C1..19C7    ; ID_Start # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
+19B0..19C9    ; ID_Start # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 1A00..1A16    ; ID_Start # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
 1A20..1A54    ; ID_Start # Lo  [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
 1AA7          ; ID_Start # Lm       TAI THAM SIGN MAI YAMOK
@@ -5875,7 +5952,7 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 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..9FCC    ; ID_Start # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; ID_Start # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -5898,8 +5975,9 @@ A770          ; ID_Start # Lm       MODIFIER LETTER US
 A771..A787    ; ID_Start # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A788          ; ID_Start # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; ID_Start # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; ID_Start # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; ID_Start # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; ID_Start # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; ID_Start # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; ID_Start # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; ID_Start # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; ID_Start # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -5911,6 +5989,7 @@ A840..A873    ; ID_Start # Lo  [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABI
 A882..A8B3    ; ID_Start # Lo  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
 A8F2..A8F7    ; ID_Start # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8FB          ; ID_Start # Lo       DEVANAGARI HEADSTROKE
+A8FD          ; ID_Start # Lo       DEVANAGARI JAIN OM
 A90A..A925    ; ID_Start # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A930..A946    ; ID_Start # Lo  [23] REJANG LETTER KA..REJANG LETTER A
 A960..A97C    ; ID_Start # Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
@@ -5945,7 +6024,8 @@ AB20..AB26    ; ID_Start # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE C
 AB28..AB2E    ; ID_Start # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; ID_Start # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5C..AB5F    ; ID_Start # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; ID_Start # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; ID_Start # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; ID_Start # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; ID_Start # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 AC00..D7A3    ; ID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; ID_Start # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
@@ -6014,6 +6094,8 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 1083F..10855  ; ID_Start # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10860..10876  ; ID_Start # Lo  [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW
 10880..1089E  ; ID_Start # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
+108E0..108F2  ; ID_Start # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; ID_Start # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; ID_Start # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; ID_Start # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 10980..109B7  ; ID_Start # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
@@ -6031,6 +6113,8 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 10B60..10B72  ; ID_Start # Lo  [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
 10B80..10B91  ; ID_Start # Lo  [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW
 10C00..10C48  ; ID_Start # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; ID_Start # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; ID_Start # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 11003..11037  ; ID_Start # Lo  [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
 11083..110AF  ; ID_Start # Lo  [45] KAITHI LETTER A..KAITHI LETTER HA
 110D0..110E8  ; ID_Start # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
@@ -6040,8 +6124,14 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 11183..111B2  ; ID_Start # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
 111C1..111C4  ; ID_Start # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
 111DA         ; ID_Start # Lo       SHARADA EKAM
+111DC         ; ID_Start # Lo       SHARADA HEADSTROKE
 11200..11211  ; ID_Start # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; ID_Start # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
+11280..11286  ; ID_Start # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; ID_Start # Lo       MULTANI LETTER GHA
+1128A..1128D  ; ID_Start # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; ID_Start # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; ID_Start # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112B0..112DE  ; ID_Start # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 11305..1130C  ; ID_Start # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; ID_Start # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -6050,20 +6140,25 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 11332..11333  ; ID_Start # Lo   [2] GRANTHA LETTER LA..GRANTHA LETTER LLA
 11335..11339  ; ID_Start # Lo   [5] GRANTHA LETTER VA..GRANTHA LETTER HA
 1133D         ; ID_Start # Lo       GRANTHA SIGN AVAGRAHA
+11350         ; ID_Start # Lo       GRANTHA OM
 1135D..11361  ; ID_Start # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11480..114AF  ; ID_Start # Lo  [48] TIRHUTA ANJI..TIRHUTA LETTER HA
 114C4..114C5  ; ID_Start # Lo   [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG
 114C7         ; ID_Start # Lo       TIRHUTA OM
 11580..115AE  ; ID_Start # Lo  [47] SIDDHAM LETTER A..SIDDHAM LETTER HA
+115D8..115DB  ; ID_Start # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
 11600..1162F  ; ID_Start # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11644         ; ID_Start # Lo       MODI SIGN HUVA
 11680..116AA  ; ID_Start # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+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
 11AC0..11AF8  ; ID_Start # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; ID_Start # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
 13000..1342E  ; ID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; ID_Start # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; ID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; ID_Start # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16AD0..16AED  ; ID_Start # Lo  [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I
@@ -6146,9 +6241,10 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 20000..2A6D6  ; ID_Start # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 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
 2F800..2FA1D  ; ID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 102964
+# Total code points: 109830
 
 # ================================================
 
@@ -6251,8 +6347,8 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 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
-08A0..08B2    ; ID_Continue # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
-08E4..0902    ; ID_Continue # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08A0..08B4    ; ID_Continue # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08E3..0902    ; ID_Continue # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 0903          ; ID_Continue # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; ID_Continue # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093A          ; ID_Continue # Mn       DEVANAGARI VOWEL SIGN OE
@@ -6334,6 +6430,7 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 0AE0..0AE1    ; ID_Continue # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 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
 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
@@ -6390,7 +6487,7 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 0C46..0C48    ; ID_Continue # Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
 0C4A..0C4D    ; ID_Continue # Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
 0C55..0C56    ; ID_Continue # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59    ; ID_Continue # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; ID_Continue # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; ID_Continue # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63    ; ID_Continue # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C66..0C6F    ; ID_Continue # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
@@ -6429,7 +6526,7 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 0D4D          ; ID_Continue # Mn       MALAYALAM SIGN VIRAMA
 0D4E          ; ID_Continue # Lo       MALAYALAM LETTER DOT REPH
 0D57          ; ID_Continue # Mc       MALAYALAM AU LENGTH MARK
-0D60..0D61    ; ID_Continue # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; ID_Continue # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D62..0D63    ; ID_Continue # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
 0D66..0D6F    ; ID_Continue # Nd  [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
 0D7A..0D7F    ; ID_Continue # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
@@ -6550,7 +6647,8 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 135D..135F    ; ID_Continue # Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
 1369..1371    ; ID_Continue # No   [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE
 1380..138F    ; ID_Continue # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4    ; ID_Continue # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; ID_Continue # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; ID_Continue # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1401..166C    ; ID_Continue # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166F..167F    ; ID_Continue # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
 1681..169A    ; ID_Continue # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
@@ -6601,9 +6699,7 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 1950..196D    ; ID_Continue # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; ID_Continue # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; ID_Continue # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0    ; ID_Continue # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7    ; ID_Continue # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9    ; ID_Continue # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9    ; ID_Continue # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19D0..19D9    ; ID_Continue # Nd  [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
 19DA          ; ID_Continue # No       NEW TAI LUE THAM DIGIT ONE
 1A00..1A16    ; ID_Continue # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
@@ -6784,7 +6880,7 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 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..9FCC    ; ID_Continue # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; ID_Continue # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -6802,7 +6898,7 @@ A674..A67D    ; ID_Continue # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..C
 A67F          ; ID_Continue # Lm       CYRILLIC PAYEROK
 A680..A69B    ; ID_Continue # L&  [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O
 A69C..A69D    ; ID_Continue # Lm   [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN
-A69F          ; ID_Continue # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; ID_Continue # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6A0..A6E5    ; ID_Continue # Lo  [70] BAMUM LETTER A..BAMUM LETTER KI
 A6E6..A6EF    ; ID_Continue # Nl  [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
 A6F0..A6F1    ; ID_Continue # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
@@ -6812,8 +6908,9 @@ A770          ; ID_Continue # Lm       MODIFIER LETTER US
 A771..A787    ; ID_Continue # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A788          ; ID_Continue # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; ID_Continue # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; ID_Continue # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; ID_Continue # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; ID_Continue # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; ID_Continue # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; ID_Continue # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; ID_Continue # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; ID_Continue # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -6836,6 +6933,7 @@ A8D0..A8D9    ; ID_Continue # Nd  [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT N
 A8E0..A8F1    ; ID_Continue # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
 A8F2..A8F7    ; ID_Continue # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8FB          ; ID_Continue # Lo       DEVANAGARI HEADSTROKE
+A8FD          ; ID_Continue # Lo       DEVANAGARI JAIN OM
 A900..A909    ; ID_Continue # Nd  [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
 A90A..A925    ; ID_Continue # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A926..A92D    ; ID_Continue # Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
@@ -6907,7 +7005,8 @@ AB20..AB26    ; ID_Continue # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABL
 AB28..AB2E    ; ID_Continue # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; ID_Continue # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5C..AB5F    ; ID_Continue # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; ID_Continue # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; ID_Continue # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; ID_Continue # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; ID_Continue # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4    ; ID_Continue # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; ID_Continue # Mn       MEETEI MAYEK VOWEL SIGN ANAP
@@ -6938,7 +7037,7 @@ FD50..FD8F    ; ID_Continue # Lo  [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM I
 FD92..FDC7    ; ID_Continue # Lo  [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
 FDF0..FDFB    ; ID_Continue # Lo  [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
 FE00..FE0F    ; ID_Continue # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; ID_Continue # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; ID_Continue # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FE33..FE34    ; ID_Continue # Pc   [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
 FE4D..FE4F    ; ID_Continue # Pc   [3] DASHED LOW LINE..WAVY LOW LINE
 FE70..FE74    ; ID_Continue # Lo   [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
@@ -6995,6 +7094,8 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 1083F..10855  ; ID_Continue # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10860..10876  ; ID_Continue # Lo  [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW
 10880..1089E  ; ID_Continue # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
+108E0..108F2  ; ID_Continue # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; ID_Continue # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; ID_Continue # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; ID_Continue # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 10980..109B7  ; ID_Continue # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
@@ -7018,6 +7119,8 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 10B60..10B72  ; ID_Continue # Lo  [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
 10B80..10B91  ; ID_Continue # Lo  [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW
 10C00..10C48  ; ID_Continue # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; ID_Continue # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; ID_Continue # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 11000         ; ID_Continue # Mc       BRAHMI SIGN CANDRABINDU
 11001         ; ID_Continue # Mn       BRAHMI SIGN ANUSVARA
 11002         ; ID_Continue # Mc       BRAHMI SIGN VISARGA
@@ -7049,8 +7152,10 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 111B6..111BE  ; ID_Continue # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF..111C0  ; ID_Continue # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
 111C1..111C4  ; ID_Continue # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+111CA..111CC  ; ID_Continue # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 111D0..111D9  ; ID_Continue # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
 111DA         ; ID_Continue # Lo       SHARADA EKAM
+111DC         ; ID_Continue # Lo       SHARADA HEADSTROKE
 11200..11211  ; ID_Continue # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; ID_Continue # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
 1122C..1122E  ; ID_Continue # Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
@@ -7059,12 +7164,17 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 11234         ; ID_Continue # Mn       KHOJKI SIGN ANUSVARA
 11235         ; ID_Continue # Mc       KHOJKI SIGN VIRAMA
 11236..11237  ; ID_Continue # Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
+11280..11286  ; ID_Continue # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; ID_Continue # Lo       MULTANI LETTER GHA
+1128A..1128D  ; ID_Continue # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; ID_Continue # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; ID_Continue # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112B0..112DE  ; ID_Continue # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 112DF         ; ID_Continue # Mn       KHUDAWADI SIGN ANUSVARA
 112E0..112E2  ; ID_Continue # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112EA  ; ID_Continue # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
 112F0..112F9  ; ID_Continue # Nd  [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE
-11301         ; ID_Continue # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; ID_Continue # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; ID_Continue # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 11305..1130C  ; ID_Continue # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; ID_Continue # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -7079,6 +7189,7 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 11341..11344  ; ID_Continue # Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348  ; ID_Continue # Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134D  ; ID_Continue # Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
+11350         ; ID_Continue # Lo       GRANTHA OM
 11357         ; ID_Continue # Mc       GRANTHA AU LENGTH MARK
 1135D..11361  ; ID_Continue # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363  ; ID_Continue # Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
@@ -7103,6 +7214,8 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 115BC..115BD  ; ID_Continue # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; ID_Continue # Mc       SIDDHAM SIGN VISARGA
 115BF..115C0  ; ID_Continue # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115D8..115DB  ; ID_Continue # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
+115DC..115DD  ; ID_Continue # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11600..1162F  ; ID_Continue # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11630..11632  ; ID_Continue # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; ID_Continue # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
@@ -7121,13 +7234,22 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 116B6         ; ID_Continue # Mc       TAKRI SIGN VIRAMA
 116B7         ; ID_Continue # Mn       TAKRI SIGN NUKTA
 116C0..116C9  ; ID_Continue # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11700..11719  ; ID_Continue # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F  ; ID_Continue # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; ID_Continue # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725  ; ID_Continue # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726         ; ID_Continue # Mc       AHOM VOWEL SIGN E
+11727..1172B  ; ID_Continue # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11730..11739  ; ID_Continue # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 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
 11AC0..11AF8  ; ID_Continue # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; ID_Continue # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
 13000..1342E  ; ID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; ID_Continue # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; ID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; ID_Continue # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16A60..16A69  ; ID_Continue # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
@@ -7188,6 +7310,12 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 1D7AA..1D7C2  ; ID_Continue # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C4..1D7CB  ; ID_Continue # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; ID_Continue # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1DA00..1DA36  ; ID_Continue # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; ID_Continue # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; ID_Continue # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; ID_Continue # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; ID_Continue # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; ID_Continue # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E800..1E8C4  ; ID_Continue # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
 1E8D0..1E8D6  ; ID_Continue # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 1EE00..1EE03  ; ID_Continue # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
@@ -7226,10 +7354,11 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 20000..2A6D6  ; ID_Continue # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 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
 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: 105343
+# Total code points: 112352
 
 # ================================================
 
@@ -7298,7 +7427,7 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 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
-08A0..08B2    ; XID_Start # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+08A0..08B4    ; XID_Start # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 0904..0939    ; XID_Start # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093D          ; XID_Start # Lo       DEVANAGARI SIGN AVAGRAHA
 0950          ; XID_Start # Lo       DEVANAGARI OM
@@ -7335,6 +7464,7 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 0ABD          ; XID_Start # Lo       GUJARATI SIGN AVAGRAHA
 0AD0          ; XID_Start # Lo       GUJARATI OM
 0AE0..0AE1    ; XID_Start # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
+0AF9          ; XID_Start # Lo       GUJARATI LETTER ZHA
 0B05..0B0C    ; XID_Start # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
 0B0F..0B10    ; XID_Start # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
 0B13..0B28    ; XID_Start # Lo  [22] ORIYA LETTER O..ORIYA LETTER NA
@@ -7361,7 +7491,7 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 0C12..0C28    ; XID_Start # Lo  [23] TELUGU LETTER O..TELUGU LETTER NA
 0C2A..0C39    ; XID_Start # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; XID_Start # Lo       TELUGU SIGN AVAGRAHA
-0C58..0C59    ; XID_Start # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; XID_Start # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; XID_Start # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C85..0C8C    ; XID_Start # Lo   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
 0C8E..0C90    ; XID_Start # Lo   [3] KANNADA LETTER E..KANNADA LETTER AI
@@ -7377,7 +7507,7 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 0D12..0D3A    ; XID_Start # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
 0D3D          ; XID_Start # Lo       MALAYALAM SIGN AVAGRAHA
 0D4E          ; XID_Start # Lo       MALAYALAM LETTER DOT REPH
-0D60..0D61    ; XID_Start # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; XID_Start # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D7A..0D7F    ; XID_Start # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
 0D85..0D96    ; XID_Start # Lo  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
 0D9A..0DB1    ; XID_Start # Lo  [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
@@ -7440,7 +7570,8 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 1312..1315    ; XID_Start # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; XID_Start # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
 1380..138F    ; XID_Start # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4    ; XID_Start # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; XID_Start # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; XID_Start # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1401..166C    ; XID_Start # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166F..167F    ; XID_Start # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
 1681..169A    ; XID_Start # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
@@ -7466,7 +7597,7 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 1950..196D    ; XID_Start # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; XID_Start # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; XID_Start # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19C1..19C7    ; XID_Start # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
+19B0..19C9    ; XID_Start # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 1A00..1A16    ; XID_Start # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
 1A20..1A54    ; XID_Start # Lo  [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
 1AA7          ; XID_Start # Lm       TAI THAM SIGN MAI YAMOK
@@ -7570,7 +7701,7 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 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..9FCC    ; XID_Start # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; XID_Start # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -7593,8 +7724,9 @@ A770          ; XID_Start # Lm       MODIFIER LETTER US
 A771..A787    ; XID_Start # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A788          ; XID_Start # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; XID_Start # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; XID_Start # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; XID_Start # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; XID_Start # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; XID_Start # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; XID_Start # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; XID_Start # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; XID_Start # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -7606,6 +7738,7 @@ A840..A873    ; XID_Start # Lo  [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRAB
 A882..A8B3    ; XID_Start # Lo  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
 A8F2..A8F7    ; XID_Start # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8FB          ; XID_Start # Lo       DEVANAGARI HEADSTROKE
+A8FD          ; XID_Start # Lo       DEVANAGARI JAIN OM
 A90A..A925    ; XID_Start # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A930..A946    ; XID_Start # Lo  [23] REJANG LETTER KA..REJANG LETTER A
 A960..A97C    ; XID_Start # Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
@@ -7640,7 +7773,8 @@ AB20..AB26    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE
 AB28..AB2E    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; XID_Start # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5C..AB5F    ; XID_Start # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; XID_Start # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; XID_Start # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; XID_Start # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; XID_Start # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 AC00..D7A3    ; XID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; XID_Start # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
@@ -7714,6 +7848,8 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 1083F..10855  ; XID_Start # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10860..10876  ; XID_Start # Lo  [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW
 10880..1089E  ; XID_Start # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
+108E0..108F2  ; XID_Start # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; XID_Start # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; XID_Start # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; XID_Start # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 10980..109B7  ; XID_Start # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
@@ -7731,6 +7867,8 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 10B60..10B72  ; XID_Start # Lo  [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
 10B80..10B91  ; XID_Start # Lo  [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW
 10C00..10C48  ; XID_Start # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; XID_Start # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; XID_Start # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 11003..11037  ; XID_Start # Lo  [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
 11083..110AF  ; XID_Start # Lo  [45] KAITHI LETTER A..KAITHI LETTER HA
 110D0..110E8  ; XID_Start # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
@@ -7740,8 +7878,14 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 11183..111B2  ; XID_Start # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
 111C1..111C4  ; XID_Start # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
 111DA         ; XID_Start # Lo       SHARADA EKAM
+111DC         ; XID_Start # Lo       SHARADA HEADSTROKE
 11200..11211  ; XID_Start # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; XID_Start # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
+11280..11286  ; XID_Start # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; XID_Start # Lo       MULTANI LETTER GHA
+1128A..1128D  ; XID_Start # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; XID_Start # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; XID_Start # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112B0..112DE  ; XID_Start # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 11305..1130C  ; XID_Start # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; XID_Start # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -7750,20 +7894,25 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 11332..11333  ; XID_Start # Lo   [2] GRANTHA LETTER LA..GRANTHA LETTER LLA
 11335..11339  ; XID_Start # Lo   [5] GRANTHA LETTER VA..GRANTHA LETTER HA
 1133D         ; XID_Start # Lo       GRANTHA SIGN AVAGRAHA
+11350         ; XID_Start # Lo       GRANTHA OM
 1135D..11361  ; XID_Start # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11480..114AF  ; XID_Start # Lo  [48] TIRHUTA ANJI..TIRHUTA LETTER HA
 114C4..114C5  ; XID_Start # Lo   [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG
 114C7         ; XID_Start # Lo       TIRHUTA OM
 11580..115AE  ; XID_Start # Lo  [47] SIDDHAM LETTER A..SIDDHAM LETTER HA
+115D8..115DB  ; XID_Start # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
 11600..1162F  ; XID_Start # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11644         ; XID_Start # Lo       MODI SIGN HUVA
 11680..116AA  ; XID_Start # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+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
 11AC0..11AF8  ; XID_Start # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; XID_Start # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
 13000..1342E  ; XID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; XID_Start # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; XID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; XID_Start # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16AD0..16AED  ; XID_Start # Lo  [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I
@@ -7846,9 +7995,10 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 20000..2A6D6  ; XID_Start # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 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
 2F800..2FA1D  ; XID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 102941
+# Total code points: 109807
 
 # ================================================
 
@@ -7947,8 +8097,8 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 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
-08A0..08B2    ; XID_Continue # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
-08E4..0902    ; XID_Continue # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08A0..08B4    ; XID_Continue # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08E3..0902    ; XID_Continue # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 0903          ; XID_Continue # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; XID_Continue # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093A          ; XID_Continue # Mn       DEVANAGARI VOWEL SIGN OE
@@ -8030,6 +8180,7 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 0AE0..0AE1    ; XID_Continue # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 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
 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
@@ -8086,7 +8237,7 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 0C46..0C48    ; XID_Continue # Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
 0C4A..0C4D    ; XID_Continue # Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
 0C55..0C56    ; XID_Continue # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59    ; XID_Continue # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; XID_Continue # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; XID_Continue # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63    ; XID_Continue # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C66..0C6F    ; XID_Continue # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
@@ -8125,7 +8276,7 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 0D4D          ; XID_Continue # Mn       MALAYALAM SIGN VIRAMA
 0D4E          ; XID_Continue # Lo       MALAYALAM LETTER DOT REPH
 0D57          ; XID_Continue # Mc       MALAYALAM AU LENGTH MARK
-0D60..0D61    ; XID_Continue # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; XID_Continue # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D62..0D63    ; XID_Continue # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
 0D66..0D6F    ; XID_Continue # Nd  [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
 0D7A..0D7F    ; XID_Continue # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
@@ -8246,7 +8397,8 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 135D..135F    ; XID_Continue # Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
 1369..1371    ; XID_Continue # No   [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE
 1380..138F    ; XID_Continue # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4    ; XID_Continue # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; XID_Continue # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; XID_Continue # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1401..166C    ; XID_Continue # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166F..167F    ; XID_Continue # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
 1681..169A    ; XID_Continue # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
@@ -8297,9 +8449,7 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 1950..196D    ; XID_Continue # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; XID_Continue # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; XID_Continue # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0    ; XID_Continue # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7    ; XID_Continue # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9    ; XID_Continue # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9    ; XID_Continue # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19D0..19D9    ; XID_Continue # Nd  [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
 19DA          ; XID_Continue # No       NEW TAI LUE THAM DIGIT ONE
 1A00..1A16    ; XID_Continue # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
@@ -8479,7 +8629,7 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 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..9FCC    ; XID_Continue # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; XID_Continue # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -8497,7 +8647,7 @@ A674..A67D    ; XID_Continue # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..
 A67F          ; XID_Continue # Lm       CYRILLIC PAYEROK
 A680..A69B    ; XID_Continue # L&  [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O
 A69C..A69D    ; XID_Continue # Lm   [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN
-A69F          ; XID_Continue # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; XID_Continue # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6A0..A6E5    ; XID_Continue # Lo  [70] BAMUM LETTER A..BAMUM LETTER KI
 A6E6..A6EF    ; XID_Continue # Nl  [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
 A6F0..A6F1    ; XID_Continue # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
@@ -8507,8 +8657,9 @@ A770          ; XID_Continue # Lm       MODIFIER LETTER US
 A771..A787    ; XID_Continue # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A788          ; XID_Continue # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; XID_Continue # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; XID_Continue # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; XID_Continue # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; XID_Continue # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; XID_Continue # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; XID_Continue # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; XID_Continue # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; XID_Continue # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -8531,6 +8682,7 @@ A8D0..A8D9    ; XID_Continue # Nd  [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT
 A8E0..A8F1    ; XID_Continue # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
 A8F2..A8F7    ; XID_Continue # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8FB          ; XID_Continue # Lo       DEVANAGARI HEADSTROKE
+A8FD          ; XID_Continue # Lo       DEVANAGARI JAIN OM
 A900..A909    ; XID_Continue # Nd  [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
 A90A..A925    ; XID_Continue # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A926..A92D    ; XID_Continue # Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
@@ -8602,7 +8754,8 @@ AB20..AB26    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLAB
 AB28..AB2E    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; XID_Continue # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5C..AB5F    ; XID_Continue # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; XID_Continue # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; XID_Continue # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; XID_Continue # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; XID_Continue # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4    ; XID_Continue # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; XID_Continue # Mn       MEETEI MAYEK VOWEL SIGN ANAP
@@ -8634,7 +8787,7 @@ FD50..FD8F    ; XID_Continue # Lo  [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM
 FD92..FDC7    ; XID_Continue # Lo  [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
 FDF0..FDF9    ; XID_Continue # Lo  [10] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE SALLA ISOLATED FORM
 FE00..FE0F    ; XID_Continue # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; XID_Continue # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; XID_Continue # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FE33..FE34    ; XID_Continue # Pc   [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
 FE4D..FE4F    ; XID_Continue # Pc   [3] DASHED LOW LINE..WAVY LOW LINE
 FE71          ; XID_Continue # Lo       ARABIC TATWEEL WITH FATHATAN ABOVE
@@ -8696,6 +8849,8 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 1083F..10855  ; XID_Continue # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10860..10876  ; XID_Continue # Lo  [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW
 10880..1089E  ; XID_Continue # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
+108E0..108F2  ; XID_Continue # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; XID_Continue # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; XID_Continue # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; XID_Continue # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 10980..109B7  ; XID_Continue # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
@@ -8719,6 +8874,8 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 10B60..10B72  ; XID_Continue # Lo  [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
 10B80..10B91  ; XID_Continue # Lo  [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW
 10C00..10C48  ; XID_Continue # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; XID_Continue # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; XID_Continue # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 11000         ; XID_Continue # Mc       BRAHMI SIGN CANDRABINDU
 11001         ; XID_Continue # Mn       BRAHMI SIGN ANUSVARA
 11002         ; XID_Continue # Mc       BRAHMI SIGN VISARGA
@@ -8750,8 +8907,10 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 111B6..111BE  ; XID_Continue # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF..111C0  ; XID_Continue # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
 111C1..111C4  ; XID_Continue # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+111CA..111CC  ; XID_Continue # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 111D0..111D9  ; XID_Continue # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
 111DA         ; XID_Continue # Lo       SHARADA EKAM
+111DC         ; XID_Continue # Lo       SHARADA HEADSTROKE
 11200..11211  ; XID_Continue # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; XID_Continue # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
 1122C..1122E  ; XID_Continue # Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
@@ -8760,12 +8919,17 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 11234         ; XID_Continue # Mn       KHOJKI SIGN ANUSVARA
 11235         ; XID_Continue # Mc       KHOJKI SIGN VIRAMA
 11236..11237  ; XID_Continue # Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
+11280..11286  ; XID_Continue # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; XID_Continue # Lo       MULTANI LETTER GHA
+1128A..1128D  ; XID_Continue # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; XID_Continue # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; XID_Continue # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112B0..112DE  ; XID_Continue # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 112DF         ; XID_Continue # Mn       KHUDAWADI SIGN ANUSVARA
 112E0..112E2  ; XID_Continue # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112EA  ; XID_Continue # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
 112F0..112F9  ; XID_Continue # Nd  [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE
-11301         ; XID_Continue # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; XID_Continue # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; XID_Continue # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 11305..1130C  ; XID_Continue # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; XID_Continue # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -8780,6 +8944,7 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 11341..11344  ; XID_Continue # Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348  ; XID_Continue # Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134D  ; XID_Continue # Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
+11350         ; XID_Continue # Lo       GRANTHA OM
 11357         ; XID_Continue # Mc       GRANTHA AU LENGTH MARK
 1135D..11361  ; XID_Continue # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363  ; XID_Continue # Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
@@ -8804,6 +8969,8 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 115BC..115BD  ; XID_Continue # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; XID_Continue # Mc       SIDDHAM SIGN VISARGA
 115BF..115C0  ; XID_Continue # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115D8..115DB  ; XID_Continue # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
+115DC..115DD  ; XID_Continue # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11600..1162F  ; XID_Continue # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11630..11632  ; XID_Continue # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; XID_Continue # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
@@ -8822,13 +8989,22 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 116B6         ; XID_Continue # Mc       TAKRI SIGN VIRAMA
 116B7         ; XID_Continue # Mn       TAKRI SIGN NUKTA
 116C0..116C9  ; XID_Continue # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11700..11719  ; XID_Continue # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F  ; XID_Continue # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; XID_Continue # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725  ; XID_Continue # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726         ; XID_Continue # Mc       AHOM VOWEL SIGN E
+11727..1172B  ; XID_Continue # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11730..11739  ; XID_Continue # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 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
 11AC0..11AF8  ; XID_Continue # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; XID_Continue # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
 13000..1342E  ; XID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; XID_Continue # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; XID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; XID_Continue # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16A60..16A69  ; XID_Continue # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
@@ -8889,6 +9065,12 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 1D7AA..1D7C2  ; XID_Continue # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C4..1D7CB  ; XID_Continue # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; XID_Continue # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1DA00..1DA36  ; XID_Continue # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; XID_Continue # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; XID_Continue # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; XID_Continue # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; XID_Continue # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; XID_Continue # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E800..1E8C4  ; XID_Continue # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
 1E8D0..1E8D6  ; XID_Continue # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 1EE00..1EE03  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
@@ -8927,10 +9109,11 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 20000..2A6D6  ; XID_Continue # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 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
 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: 105324
+# Total code points: 112333
 
 # ================================================
 
@@ -9003,7 +9186,7 @@ E01F0..E0FFF  ; Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>..<rese
 0825..0827    ; Grapheme_Extend # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; Grapheme_Extend # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; Grapheme_Extend # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
-08E4..0902    ; Grapheme_Extend # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08E3..0902    ; Grapheme_Extend # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 093A          ; Grapheme_Extend # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; Grapheme_Extend # Mn       DEVANAGARI SIGN NUKTA
 0941..0948    ; Grapheme_Extend # Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
@@ -9164,7 +9347,7 @@ E01F0..E0FFF  ; Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>..<rese
 A66F          ; Grapheme_Extend # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Grapheme_Extend # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A674..A67D    ; Grapheme_Extend # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
-A69F          ; Grapheme_Extend # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; Grapheme_Extend # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; Grapheme_Extend # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A802          ; Grapheme_Extend # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; Grapheme_Extend # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -9197,7 +9380,7 @@ ABE8          ; Grapheme_Extend # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; Grapheme_Extend # Mn       MEETEI MAYEK APUN IYEK
 FB1E          ; Grapheme_Extend # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 FE00..FE0F    ; Grapheme_Extend # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; Grapheme_Extend # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; Grapheme_Extend # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FF9E..FF9F    ; Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
 101FD         ; Grapheme_Extend # Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
 102E0         ; Grapheme_Extend # Mn       COPTIC EPACT THOUSANDS MARK
@@ -9219,12 +9402,13 @@ FF9E..FF9F    ; Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
 11173         ; Grapheme_Extend # Mn       MAHAJANI SIGN NUKTA
 11180..11181  ; Grapheme_Extend # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
 111B6..111BE  ; Grapheme_Extend # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111CA..111CC  ; Grapheme_Extend # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 1122F..11231  ; Grapheme_Extend # Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11234         ; Grapheme_Extend # Mn       KHOJKI SIGN ANUSVARA
 11236..11237  ; Grapheme_Extend # Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
 112DF         ; Grapheme_Extend # Mn       KHUDAWADI SIGN ANUSVARA
 112E3..112EA  ; Grapheme_Extend # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
-11301         ; Grapheme_Extend # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Grapheme_Extend # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 1133C         ; Grapheme_Extend # Mn       GRANTHA SIGN NUKTA
 1133E         ; Grapheme_Extend # Mc       GRANTHA VOWEL SIGN AA
 11340         ; Grapheme_Extend # Mn       GRANTHA VOWEL SIGN II
@@ -9241,6 +9425,7 @@ FF9E..FF9F    ; Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
 115B2..115B5  ; Grapheme_Extend # Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
 115BC..115BD  ; Grapheme_Extend # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BF..115C0  ; Grapheme_Extend # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; Grapheme_Extend # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11633..1163A  ; Grapheme_Extend # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163D         ; Grapheme_Extend # Mn       MODI SIGN ANUSVARA
 1163F..11640  ; Grapheme_Extend # Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
@@ -9248,6 +9433,9 @@ FF9E..FF9F    ; Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
 116AD         ; Grapheme_Extend # Mn       TAKRI VOWEL SIGN AA
 116B0..116B5  ; Grapheme_Extend # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116B7         ; Grapheme_Extend # Mn       TAKRI SIGN NUKTA
+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
 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
@@ -9259,10 +9447,16 @@ FF9E..FF9F    ; Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
 1D185..1D18B  ; Grapheme_Extend # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; Grapheme_Extend # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; Grapheme_Extend # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1DA00..1DA36  ; Grapheme_Extend # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; Grapheme_Extend # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; Grapheme_Extend # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; Grapheme_Extend # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; Grapheme_Extend # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; Grapheme_Extend # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E8D0..1E8D6  ; Grapheme_Extend # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1461
+# Total code points: 1610
 
 # ================================================
 
@@ -9419,7 +9613,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 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
-08A0..08B2    ; Grapheme_Base # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+08A0..08B4    ; Grapheme_Base # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 0903          ; Grapheme_Base # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; Grapheme_Base # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093B          ; Grapheme_Base # Mc       DEVANAGARI VOWEL SIGN OOE
@@ -9483,6 +9677,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 0AE6..0AEF    ; Grapheme_Base # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
 0AF0          ; Grapheme_Base # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; Grapheme_Base # Sc       GUJARATI RUPEE SIGN
+0AF9          ; Grapheme_Base # Lo       GUJARATI LETTER ZHA
 0B02..0B03    ; Grapheme_Base # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C    ; Grapheme_Base # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
 0B0F..0B10    ; Grapheme_Base # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
@@ -9527,7 +9722,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 0C2A..0C39    ; Grapheme_Base # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; Grapheme_Base # Lo       TELUGU SIGN AVAGRAHA
 0C41..0C44    ; Grapheme_Base # Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C58..0C59    ; Grapheme_Base # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; Grapheme_Base # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; Grapheme_Base # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C66..0C6F    ; Grapheme_Base # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
 0C78..0C7E    ; Grapheme_Base # No   [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
@@ -9557,7 +9752,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 0D46..0D48    ; Grapheme_Base # Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
 0D4A..0D4C    ; Grapheme_Base # Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
 0D4E          ; Grapheme_Base # Lo       MALAYALAM LETTER DOT REPH
-0D60..0D61    ; Grapheme_Base # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; Grapheme_Base # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D66..0D6F    ; Grapheme_Base # Nd  [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
 0D70..0D75    ; Grapheme_Base # No   [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
 0D79          ; Grapheme_Base # So       MALAYALAM DATE MARK
@@ -9677,7 +9872,8 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 1369..137C    ; Grapheme_Base # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; Grapheme_Base # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399    ; Grapheme_Base # So  [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4    ; Grapheme_Base # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; Grapheme_Base # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; Grapheme_Base # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1400          ; Grapheme_Base # Pd       CANADIAN SYLLABICS HYPHEN
 1401..166C    ; Grapheme_Base # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166D..166E    ; Grapheme_Base # Po   [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
@@ -9729,9 +9925,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 1950..196D    ; Grapheme_Base # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; Grapheme_Base # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; Grapheme_Base # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0    ; Grapheme_Base # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7    ; Grapheme_Base # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9    ; Grapheme_Base # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9    ; Grapheme_Base # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19D0..19D9    ; Grapheme_Base # Nd  [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
 19DA          ; Grapheme_Base # No       NEW TAI LUE THAM DIGIT ONE
 19DE..19FF    ; Grapheme_Base # So  [34] NEW TAI LUE SIGN LAE..KHMER SYMBOL DAP-PRAM ROC
@@ -9860,7 +10054,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 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..20BD    ; Grapheme_Base # Sc  [30] EURO-CURRENCY SIGN..RUBLE SIGN
+20A0..20BE    ; Grapheme_Base # Sc  [31] EURO-CURRENCY SIGN..LARI 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
@@ -9898,6 +10092,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 2183..2184    ; Grapheme_Base # L&   [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
 2185..2188    ; Grapheme_Base # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
 2189          ; Grapheme_Base # No       VULGAR FRACTION ZERO THIRDS
+218A..218B    ; Grapheme_Base # So   [2] TURNED DIGIT TWO..TURNED DIGIT THREE
 2190..2194    ; Grapheme_Base # Sm   [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
 2195..2199    ; Grapheme_Base # So   [5] UP DOWN ARROW..SOUTH WEST ARROW
 219A..219B    ; Grapheme_Base # Sm   [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
@@ -10021,6 +10216,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 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
+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
 2C60..2C7B    ; Grapheme_Base # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
@@ -10157,7 +10353,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 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..9FCC    ; Grapheme_Base # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; Grapheme_Base # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -10190,8 +10386,9 @@ A771..A787    ; Grapheme_Base # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LET
 A788          ; Grapheme_Base # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A    ; Grapheme_Base # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E    ; Grapheme_Base # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; Grapheme_Base # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; Grapheme_Base # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Grapheme_Base # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; Grapheme_Base # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; Grapheme_Base # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; Grapheme_Base # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; Grapheme_Base # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -10216,6 +10413,8 @@ A8D0..A8D9    ; Grapheme_Base # Nd  [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT
 A8F2..A8F7    ; Grapheme_Base # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8F8..A8FA    ; Grapheme_Base # Po   [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
 A8FB          ; Grapheme_Base # Lo       DEVANAGARI HEADSTROKE
+A8FC          ; Grapheme_Base # Po       DEVANAGARI SIGN SIDDHAM
+A8FD          ; Grapheme_Base # Lo       DEVANAGARI JAIN OM
 A900..A909    ; Grapheme_Base # Nd  [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
 A90A..A925    ; Grapheme_Base # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A92E..A92F    ; Grapheme_Base # Po   [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
@@ -10276,7 +10475,8 @@ AB28..AB2E    ; Grapheme_Base # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABL
 AB30..AB5A    ; Grapheme_Base # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5B          ; Grapheme_Base # Sk       MODIFIER BREVE WITH INVERTED BREVE
 AB5C..AB5F    ; Grapheme_Base # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; Grapheme_Base # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; Grapheme_Base # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; Grapheme_Base # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; Grapheme_Base # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4    ; Grapheme_Base # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE6..ABE7    ; Grapheme_Base # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
@@ -10460,13 +10660,19 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 10879..1087F  ; Grapheme_Base # No   [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY
 10880..1089E  ; Grapheme_Base # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
 108A7..108AF  ; Grapheme_Base # No   [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
+108E0..108F2  ; Grapheme_Base # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; Grapheme_Base # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108FB..108FF  ; Grapheme_Base # No   [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
 10900..10915  ; Grapheme_Base # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10916..1091B  ; Grapheme_Base # No   [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
 1091F         ; Grapheme_Base # Po       PHOENICIAN WORD SEPARATOR
 10920..10939  ; Grapheme_Base # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 1093F         ; Grapheme_Base # Po       LYDIAN TRIANGULAR MARK
 10980..109B7  ; Grapheme_Base # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BC..109BD  ; Grapheme_Base # No   [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
 109BE..109BF  ; Grapheme_Base # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+109C0..109CF  ; Grapheme_Base # No  [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF  ; Grapheme_Base # No  [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 10A00         ; Grapheme_Base # Lo       KHAROSHTHI LETTER A
 10A10..10A13  ; Grapheme_Base # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
 10A15..10A17  ; Grapheme_Base # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
@@ -10493,6 +10699,9 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 10B99..10B9C  ; Grapheme_Base # Po   [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT
 10BA9..10BAF  ; Grapheme_Base # No   [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
 10C00..10C48  ; Grapheme_Base # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; Grapheme_Base # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; Grapheme_Base # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CFA..10CFF  ; Grapheme_Base # No   [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
 10E60..10E7E  ; Grapheme_Base # No  [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
 11000         ; Grapheme_Base # Mc       BRAHMI SIGN CANDRABINDU
 11002         ; Grapheme_Base # Mc       BRAHMI SIGN VISARGA
@@ -10520,10 +10729,13 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 111B3..111B5  ; Grapheme_Base # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
 111BF..111C0  ; Grapheme_Base # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
 111C1..111C4  ; Grapheme_Base # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
-111C5..111C8  ; Grapheme_Base # Po   [4] SHARADA DANDA..SHARADA SEPARATOR
+111C5..111C9  ; Grapheme_Base # Po   [5] SHARADA DANDA..SHARADA SANDHI MARK
 111CD         ; Grapheme_Base # Po       SHARADA SUTRA MARK
 111D0..111D9  ; Grapheme_Base # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
 111DA         ; Grapheme_Base # Lo       SHARADA EKAM
+111DB         ; Grapheme_Base # Po       SHARADA SIGN SIDDHAM
+111DC         ; Grapheme_Base # Lo       SHARADA HEADSTROKE
+111DD..111DF  ; Grapheme_Base # Po   [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
 111E1..111F4  ; Grapheme_Base # No  [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
 11200..11211  ; Grapheme_Base # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; Grapheme_Base # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
@@ -10531,6 +10743,12 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 11232..11233  ; Grapheme_Base # Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
 11235         ; Grapheme_Base # Mc       KHOJKI SIGN VIRAMA
 11238..1123D  ; Grapheme_Base # Po   [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN
+11280..11286  ; Grapheme_Base # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; Grapheme_Base # Lo       MULTANI LETTER GHA
+1128A..1128D  ; Grapheme_Base # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; Grapheme_Base # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; Grapheme_Base # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
+112A9         ; Grapheme_Base # Po       MULTANI SECTION MARK
 112B0..112DE  ; Grapheme_Base # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 112E0..112E2  ; Grapheme_Base # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112F0..112F9  ; Grapheme_Base # Nd  [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE
@@ -10546,6 +10764,7 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 11341..11344  ; Grapheme_Base # Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348  ; Grapheme_Base # Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134D  ; Grapheme_Base # Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
+11350         ; Grapheme_Base # Lo       GRANTHA OM
 1135D..11361  ; Grapheme_Base # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363  ; Grapheme_Base # Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
 11480..114AF  ; Grapheme_Base # Lo  [48] TIRHUTA ANJI..TIRHUTA LETTER HA
@@ -10562,7 +10781,8 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 115B0..115B1  ; Grapheme_Base # Mc   [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II
 115B8..115BB  ; Grapheme_Base # Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
 115BE         ; Grapheme_Base # Mc       SIDDHAM SIGN VISARGA
-115C1..115C9  ; Grapheme_Base # Po   [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK
+115C1..115D7  ; Grapheme_Base # Po  [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+115D8..115DB  ; Grapheme_Base # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
 11600..1162F  ; Grapheme_Base # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11630..11632  ; Grapheme_Base # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 1163B..1163C  ; Grapheme_Base # Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
@@ -10575,15 +10795,24 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 116AE..116AF  ; Grapheme_Base # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
 116B6         ; Grapheme_Base # Mc       TAKRI SIGN VIRAMA
 116C0..116C9  ; Grapheme_Base # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11700..11719  ; Grapheme_Base # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+11720..11721  ; Grapheme_Base # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11726         ; Grapheme_Base # Mc       AHOM VOWEL SIGN E
+11730..11739  ; Grapheme_Base # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
+1173A..1173B  ; Grapheme_Base # No   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
+1173C..1173E  ; Grapheme_Base # Po   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+1173F         ; Grapheme_Base # So       AHOM SYMBOL VI
 118A0..118DF  ; Grapheme_Base # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 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
 11AC0..11AF8  ; Grapheme_Base # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; Grapheme_Base # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
+12480..12543  ; Grapheme_Base # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
 13000..1342E  ; Grapheme_Base # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; Grapheme_Base # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; Grapheme_Base # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; Grapheme_Base # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16A60..16A69  ; Grapheme_Base # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
@@ -10619,7 +10848,7 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 1D16D         ; Grapheme_Base # Mc       MUSICAL SYMBOL COMBINING AUGMENTATION DOT
 1D183..1D184  ; Grapheme_Base # So   [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
 1D18C..1D1A9  ; Grapheme_Base # So  [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD  ; Grapheme_Base # So  [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
+1D1AE..1D1E8  ; Grapheme_Base # So  [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
 1D200..1D241  ; Grapheme_Base # So  [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
 1D245         ; Grapheme_Base # So       GREEK MUSICAL LEIMMA
 1D300..1D356  ; Grapheme_Base # So  [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
@@ -10665,6 +10894,12 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 1D7C3         ; Grapheme_Base # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; Grapheme_Base # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; Grapheme_Base # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1D800..1D9FF  ; Grapheme_Base # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA37..1DA3A  ; Grapheme_Base # So   [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA6D..1DA74  ; Grapheme_Base # So   [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA76..1DA83  ; Grapheme_Base # So  [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA85..1DA86  ; Grapheme_Base # So   [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
+1DA87..1DA8B  ; Grapheme_Base # Po   [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS
 1E800..1E8C4  ; Grapheme_Base # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
 1E8C7..1E8CF  ; Grapheme_Base # No   [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE
 1EE00..1EE03  ; Grapheme_Base # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
@@ -10715,16 +10950,11 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 1F210..1F23A  ; Grapheme_Base # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
 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
-1F300..1F32C  ; Grapheme_Base # So  [45] CYCLONE..WIND BLOWING FACE
-1F330..1F37D  ; Grapheme_Base # So  [78] CHESTNUT..FORK AND KNIFE WITH PLATE
-1F380..1F3CE  ; Grapheme_Base # So  [79] RIBBON..RACING CAR
-1F3D4..1F3F7  ; Grapheme_Base # So  [36] SNOW CAPPED MOUNTAIN..LABEL
-1F400..1F4FE  ; Grapheme_Base # So [255] RAT..PORTABLE STEREO
-1F500..1F54A  ; Grapheme_Base # So  [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE
-1F550..1F579  ; Grapheme_Base # So  [42] CLOCK FACE ONE OCLOCK..JOYSTICK
+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..1F579  ; Grapheme_Base # So [378] RAT..JOYSTICK
 1F57B..1F5A3  ; Grapheme_Base # So  [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX
-1F5A5..1F642  ; Grapheme_Base # So [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE
-1F645..1F6CF  ; Grapheme_Base # So [139] FACE WITH NO GOOD GESTURE..BED
+1F5A5..1F6D0  ; Grapheme_Base # So [300] DESKTOP COMPUTER..PLACE OF WORSHIP
 1F6E0..1F6EC  ; Grapheme_Base # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6F0..1F6F3  ; Grapheme_Base # So   [4] SATELLITE..PASSENGER SHIP
 1F700..1F773  ; Grapheme_Base # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -10734,12 +10964,16 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 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..1F918  ; Grapheme_Base # So   [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984  ; Grapheme_Base # So   [5] CRAB..UNICORN FACE
+1F9C0         ; Grapheme_Base # So       CHEESE WEDGE
 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
 2F800..2FA1D  ; Grapheme_Base # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 111345
+# Total code points: 118912
 
 # ================================================
 
@@ -10788,7 +11022,8 @@ ABED          ; Grapheme_Link # Mn       MEETEI MAYEK APUN IYEK
 115BF         ; Grapheme_Link # Mn       SIDDHAM SIGN VIRAMA
 1163F         ; Grapheme_Link # Mn       MODI SIGN VIRAMA
 116B6         ; Grapheme_Link # Mc       TAKRI SIGN VIRAMA
+1172B         ; Grapheme_Link # Mn       AHOM SIGN KILLER
 
-# Total code points: 44
+# Total code points: 45
 
 # EOF
index 147ef2b..6492493 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedNormalizationProps-7.0.0.txt
-# Date: 2013-12-03, 15:11:47 GMT [MD]
+# DerivedNormalizationProps-8.0.0.txt
+# Date: 2015-02-13, 13:30:23 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -3504,6 +3504,12 @@ FFE3          ; Expands_On_NFKC # Sk       FULLWIDTH MACRON
 10CD          ; NFKC_CF; 2D2D           # L&       GEORGIAN CAPITAL LETTER AEN
 10FC          ; NFKC_CF; 10DC           # Lm       MODIFIER LETTER GEORGIAN NAR
 115F..1160    ; NFKC_CF;                # Lo   [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
+13F8          ; NFKC_CF; 13F0           # L&       CHEROKEE SMALL LETTER YE
+13F9          ; NFKC_CF; 13F1           # L&       CHEROKEE SMALL LETTER YI
+13FA          ; NFKC_CF; 13F2           # L&       CHEROKEE SMALL LETTER YO
+13FB          ; NFKC_CF; 13F3           # L&       CHEROKEE SMALL LETTER YU
+13FC          ; NFKC_CF; 13F4           # L&       CHEROKEE SMALL LETTER YV
+13FD          ; NFKC_CF; 13F5           # L&       CHEROKEE SMALL LETTER MV
 17B4..17B5    ; NFKC_CF;                # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 180B..180D    ; NFKC_CF;                # Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
 180E          ; NFKC_CF;                # Cf       MONGOLIAN VOWEL SEPARATOR
@@ -5259,12 +5265,96 @@ A7AC          ; NFKC_CF; 0261           # L&       LATIN CAPITAL LETTER SCRIPT G
 A7AD          ; NFKC_CF; 026C           # L&       LATIN CAPITAL LETTER L WITH BELT
 A7B0          ; NFKC_CF; 029E           # L&       LATIN CAPITAL LETTER TURNED K
 A7B1          ; NFKC_CF; 0287           # L&       LATIN CAPITAL LETTER TURNED T
+A7B2          ; NFKC_CF; 029D           # L&       LATIN CAPITAL LETTER J WITH CROSSED-TAIL
+A7B3          ; NFKC_CF; AB53           # L&       LATIN CAPITAL LETTER CHI
+A7B4          ; NFKC_CF; A7B5           # L&       LATIN CAPITAL LETTER BETA
+A7B6          ; NFKC_CF; A7B7           # L&       LATIN CAPITAL LETTER OMEGA
 A7F8          ; NFKC_CF; 0127           # Lm       MODIFIER LETTER CAPITAL H WITH STROKE
 A7F9          ; NFKC_CF; 0153           # Lm       MODIFIER LETTER SMALL LIGATURE OE
 AB5C          ; NFKC_CF; A727           # Lm       MODIFIER LETTER SMALL HENG
 AB5D          ; NFKC_CF; AB37           # Lm       MODIFIER LETTER SMALL L WITH INVERTED LAZY S
 AB5E          ; NFKC_CF; 026B           # Lm       MODIFIER LETTER SMALL L WITH MIDDLE TILDE
 AB5F          ; NFKC_CF; AB52           # Lm       MODIFIER LETTER SMALL U WITH LEFT HOOK
+AB70          ; NFKC_CF; 13A0           # L&       CHEROKEE SMALL LETTER A
+AB71          ; NFKC_CF; 13A1           # L&       CHEROKEE SMALL LETTER E
+AB72          ; NFKC_CF; 13A2           # L&       CHEROKEE SMALL LETTER I
+AB73          ; NFKC_CF; 13A3           # L&       CHEROKEE SMALL LETTER O
+AB74          ; NFKC_CF; 13A4           # L&       CHEROKEE SMALL LETTER U
+AB75          ; NFKC_CF; 13A5           # L&       CHEROKEE SMALL LETTER V
+AB76          ; NFKC_CF; 13A6           # L&       CHEROKEE SMALL LETTER GA
+AB77          ; NFKC_CF; 13A7           # L&       CHEROKEE SMALL LETTER KA
+AB78          ; NFKC_CF; 13A8           # L&       CHEROKEE SMALL LETTER GE
+AB79          ; NFKC_CF; 13A9           # L&       CHEROKEE SMALL LETTER GI
+AB7A          ; NFKC_CF; 13AA           # L&       CHEROKEE SMALL LETTER GO
+AB7B          ; NFKC_CF; 13AB           # L&       CHEROKEE SMALL LETTER GU
+AB7C          ; NFKC_CF; 13AC           # L&       CHEROKEE SMALL LETTER GV
+AB7D          ; NFKC_CF; 13AD           # L&       CHEROKEE SMALL LETTER HA
+AB7E          ; NFKC_CF; 13AE           # L&       CHEROKEE SMALL LETTER HE
+AB7F          ; NFKC_CF; 13AF           # L&       CHEROKEE SMALL LETTER HI
+AB80          ; NFKC_CF; 13B0           # L&       CHEROKEE SMALL LETTER HO
+AB81          ; NFKC_CF; 13B1           # L&       CHEROKEE SMALL LETTER HU
+AB82          ; NFKC_CF; 13B2           # L&       CHEROKEE SMALL LETTER HV
+AB83          ; NFKC_CF; 13B3           # L&       CHEROKEE SMALL LETTER LA
+AB84          ; NFKC_CF; 13B4           # L&       CHEROKEE SMALL LETTER LE
+AB85          ; NFKC_CF; 13B5           # L&       CHEROKEE SMALL LETTER LI
+AB86          ; NFKC_CF; 13B6           # L&       CHEROKEE SMALL LETTER LO
+AB87          ; NFKC_CF; 13B7           # L&       CHEROKEE SMALL LETTER LU
+AB88          ; NFKC_CF; 13B8           # L&       CHEROKEE SMALL LETTER LV
+AB89          ; NFKC_CF; 13B9           # L&       CHEROKEE SMALL LETTER MA
+AB8A          ; NFKC_CF; 13BA           # L&       CHEROKEE SMALL LETTER ME
+AB8B          ; NFKC_CF; 13BB           # L&       CHEROKEE SMALL LETTER MI
+AB8C          ; NFKC_CF; 13BC           # L&       CHEROKEE SMALL LETTER MO
+AB8D          ; NFKC_CF; 13BD           # L&       CHEROKEE SMALL LETTER MU
+AB8E          ; NFKC_CF; 13BE           # L&       CHEROKEE SMALL LETTER NA
+AB8F          ; NFKC_CF; 13BF           # L&       CHEROKEE SMALL LETTER HNA
+AB90          ; NFKC_CF; 13C0           # L&       CHEROKEE SMALL LETTER NAH
+AB91          ; NFKC_CF; 13C1           # L&       CHEROKEE SMALL LETTER NE
+AB92          ; NFKC_CF; 13C2           # L&       CHEROKEE SMALL LETTER NI
+AB93          ; NFKC_CF; 13C3           # L&       CHEROKEE SMALL LETTER NO
+AB94          ; NFKC_CF; 13C4           # L&       CHEROKEE SMALL LETTER NU
+AB95          ; NFKC_CF; 13C5           # L&       CHEROKEE SMALL LETTER NV
+AB96          ; NFKC_CF; 13C6           # L&       CHEROKEE SMALL LETTER QUA
+AB97          ; NFKC_CF; 13C7           # L&       CHEROKEE SMALL LETTER QUE
+AB98          ; NFKC_CF; 13C8           # L&       CHEROKEE SMALL LETTER QUI
+AB99          ; NFKC_CF; 13C9           # L&       CHEROKEE SMALL LETTER QUO
+AB9A          ; NFKC_CF; 13CA           # L&       CHEROKEE SMALL LETTER QUU
+AB9B          ; NFKC_CF; 13CB           # L&       CHEROKEE SMALL LETTER QUV
+AB9C          ; NFKC_CF; 13CC           # L&       CHEROKEE SMALL LETTER SA
+AB9D          ; NFKC_CF; 13CD           # L&       CHEROKEE SMALL LETTER S
+AB9E          ; NFKC_CF; 13CE           # L&       CHEROKEE SMALL LETTER SE
+AB9F          ; NFKC_CF; 13CF           # L&       CHEROKEE SMALL LETTER SI
+ABA0          ; NFKC_CF; 13D0           # L&       CHEROKEE SMALL LETTER SO
+ABA1          ; NFKC_CF; 13D1           # L&       CHEROKEE SMALL LETTER SU
+ABA2          ; NFKC_CF; 13D2           # L&       CHEROKEE SMALL LETTER SV
+ABA3          ; NFKC_CF; 13D3           # L&       CHEROKEE SMALL LETTER DA
+ABA4          ; NFKC_CF; 13D4           # L&       CHEROKEE SMALL LETTER TA
+ABA5          ; NFKC_CF; 13D5           # L&       CHEROKEE SMALL LETTER DE
+ABA6          ; NFKC_CF; 13D6           # L&       CHEROKEE SMALL LETTER TE
+ABA7          ; NFKC_CF; 13D7           # L&       CHEROKEE SMALL LETTER DI
+ABA8          ; NFKC_CF; 13D8           # L&       CHEROKEE SMALL LETTER TI
+ABA9          ; NFKC_CF; 13D9           # L&       CHEROKEE SMALL LETTER DO
+ABAA          ; NFKC_CF; 13DA           # L&       CHEROKEE SMALL LETTER DU
+ABAB          ; NFKC_CF; 13DB           # L&       CHEROKEE SMALL LETTER DV
+ABAC          ; NFKC_CF; 13DC           # L&       CHEROKEE SMALL LETTER DLA
+ABAD          ; NFKC_CF; 13DD           # L&       CHEROKEE SMALL LETTER TLA
+ABAE          ; NFKC_CF; 13DE           # L&       CHEROKEE SMALL LETTER TLE
+ABAF          ; NFKC_CF; 13DF           # L&       CHEROKEE SMALL LETTER TLI
+ABB0          ; NFKC_CF; 13E0           # L&       CHEROKEE SMALL LETTER TLO
+ABB1          ; NFKC_CF; 13E1           # L&       CHEROKEE SMALL LETTER TLU
+ABB2          ; NFKC_CF; 13E2           # L&       CHEROKEE SMALL LETTER TLV
+ABB3          ; NFKC_CF; 13E3           # L&       CHEROKEE SMALL LETTER TSA
+ABB4          ; NFKC_CF; 13E4           # L&       CHEROKEE SMALL LETTER TSE
+ABB5          ; NFKC_CF; 13E5           # L&       CHEROKEE SMALL LETTER TSI
+ABB6          ; NFKC_CF; 13E6           # L&       CHEROKEE SMALL LETTER TSO
+ABB7          ; NFKC_CF; 13E7           # L&       CHEROKEE SMALL LETTER TSU
+ABB8          ; NFKC_CF; 13E8           # L&       CHEROKEE SMALL LETTER TSV
+ABB9          ; NFKC_CF; 13E9           # L&       CHEROKEE SMALL LETTER WA
+ABBA          ; NFKC_CF; 13EA           # L&       CHEROKEE SMALL LETTER WE
+ABBB          ; NFKC_CF; 13EB           # L&       CHEROKEE SMALL LETTER WI
+ABBC          ; NFKC_CF; 13EC           # L&       CHEROKEE SMALL LETTER WO
+ABBD          ; NFKC_CF; 13ED           # L&       CHEROKEE SMALL LETTER WU
+ABBE          ; NFKC_CF; 13EE           # L&       CHEROKEE SMALL LETTER WV
+ABBF          ; NFKC_CF; 13EF           # L&       CHEROKEE SMALL LETTER YA
 F900          ; NFKC_CF; 8C48           # Lo       CJK COMPATIBILITY IDEOGRAPH-F900
 F901          ; NFKC_CF; 66F4           # Lo       CJK COMPATIBILITY IDEOGRAPH-F901
 F902          ; NFKC_CF; 8ECA           # Lo       CJK COMPATIBILITY IDEOGRAPH-F902
@@ -6641,6 +6731,57 @@ FFF0..FFF8    ; NFKC_CF;                # Cn   [9] <reserved-FFF0>..<reserved-FF
 10425         ; NFKC_CF; 1044D          # L&       DESERET CAPITAL LETTER ENG
 10426         ; NFKC_CF; 1044E          # L&       DESERET CAPITAL LETTER OI
 10427         ; NFKC_CF; 1044F          # L&       DESERET CAPITAL LETTER EW
+10C80         ; NFKC_CF; 10CC0          # L&       OLD HUNGARIAN CAPITAL LETTER A
+10C81         ; NFKC_CF; 10CC1          # L&       OLD HUNGARIAN CAPITAL LETTER AA
+10C82         ; NFKC_CF; 10CC2          # L&       OLD HUNGARIAN CAPITAL LETTER EB
+10C83         ; NFKC_CF; 10CC3          # L&       OLD HUNGARIAN CAPITAL LETTER AMB
+10C84         ; NFKC_CF; 10CC4          # L&       OLD HUNGARIAN CAPITAL LETTER EC
+10C85         ; NFKC_CF; 10CC5          # L&       OLD HUNGARIAN CAPITAL LETTER ENC
+10C86         ; NFKC_CF; 10CC6          # L&       OLD HUNGARIAN CAPITAL LETTER ECS
+10C87         ; NFKC_CF; 10CC7          # L&       OLD HUNGARIAN CAPITAL LETTER ED
+10C88         ; NFKC_CF; 10CC8          # L&       OLD HUNGARIAN CAPITAL LETTER AND
+10C89         ; NFKC_CF; 10CC9          # L&       OLD HUNGARIAN CAPITAL LETTER E
+10C8A         ; NFKC_CF; 10CCA          # L&       OLD HUNGARIAN CAPITAL LETTER CLOSE E
+10C8B         ; NFKC_CF; 10CCB          # L&       OLD HUNGARIAN CAPITAL LETTER EE
+10C8C         ; NFKC_CF; 10CCC          # L&       OLD HUNGARIAN CAPITAL LETTER EF
+10C8D         ; NFKC_CF; 10CCD          # L&       OLD HUNGARIAN CAPITAL LETTER EG
+10C8E         ; NFKC_CF; 10CCE          # L&       OLD HUNGARIAN CAPITAL LETTER EGY
+10C8F         ; NFKC_CF; 10CCF          # L&       OLD HUNGARIAN CAPITAL LETTER EH
+10C90         ; NFKC_CF; 10CD0          # L&       OLD HUNGARIAN CAPITAL LETTER I
+10C91         ; NFKC_CF; 10CD1          # L&       OLD HUNGARIAN CAPITAL LETTER II
+10C92         ; NFKC_CF; 10CD2          # L&       OLD HUNGARIAN CAPITAL LETTER EJ
+10C93         ; NFKC_CF; 10CD3          # L&       OLD HUNGARIAN CAPITAL LETTER EK
+10C94         ; NFKC_CF; 10CD4          # L&       OLD HUNGARIAN CAPITAL LETTER AK
+10C95         ; NFKC_CF; 10CD5          # L&       OLD HUNGARIAN CAPITAL LETTER UNK
+10C96         ; NFKC_CF; 10CD6          # L&       OLD HUNGARIAN CAPITAL LETTER EL
+10C97         ; NFKC_CF; 10CD7          # L&       OLD HUNGARIAN CAPITAL LETTER ELY
+10C98         ; NFKC_CF; 10CD8          # L&       OLD HUNGARIAN CAPITAL LETTER EM
+10C99         ; NFKC_CF; 10CD9          # L&       OLD HUNGARIAN CAPITAL LETTER EN
+10C9A         ; NFKC_CF; 10CDA          # L&       OLD HUNGARIAN CAPITAL LETTER ENY
+10C9B         ; NFKC_CF; 10CDB          # L&       OLD HUNGARIAN CAPITAL LETTER O
+10C9C         ; NFKC_CF; 10CDC          # L&       OLD HUNGARIAN CAPITAL LETTER OO
+10C9D         ; NFKC_CF; 10CDD          # L&       OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE
+10C9E         ; NFKC_CF; 10CDE          # L&       OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE
+10C9F         ; NFKC_CF; 10CDF          # L&       OLD HUNGARIAN CAPITAL LETTER OEE
+10CA0         ; NFKC_CF; 10CE0          # L&       OLD HUNGARIAN CAPITAL LETTER EP
+10CA1         ; NFKC_CF; 10CE1          # L&       OLD HUNGARIAN CAPITAL LETTER EMP
+10CA2         ; NFKC_CF; 10CE2          # L&       OLD HUNGARIAN CAPITAL LETTER ER
+10CA3         ; NFKC_CF; 10CE3          # L&       OLD HUNGARIAN CAPITAL LETTER SHORT ER
+10CA4         ; NFKC_CF; 10CE4          # L&       OLD HUNGARIAN CAPITAL LETTER ES
+10CA5         ; NFKC_CF; 10CE5          # L&       OLD HUNGARIAN CAPITAL LETTER ESZ
+10CA6         ; NFKC_CF; 10CE6          # L&       OLD HUNGARIAN CAPITAL LETTER ET
+10CA7         ; NFKC_CF; 10CE7          # L&       OLD HUNGARIAN CAPITAL LETTER ENT
+10CA8         ; NFKC_CF; 10CE8          # L&       OLD HUNGARIAN CAPITAL LETTER ETY
+10CA9         ; NFKC_CF; 10CE9          # L&       OLD HUNGARIAN CAPITAL LETTER ECH
+10CAA         ; NFKC_CF; 10CEA          # L&       OLD HUNGARIAN CAPITAL LETTER U
+10CAB         ; NFKC_CF; 10CEB          # L&       OLD HUNGARIAN CAPITAL LETTER UU
+10CAC         ; NFKC_CF; 10CEC          # L&       OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE
+10CAD         ; NFKC_CF; 10CED          # L&       OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE
+10CAE         ; NFKC_CF; 10CEE          # L&       OLD HUNGARIAN CAPITAL LETTER EV
+10CAF         ; NFKC_CF; 10CEF          # L&       OLD HUNGARIAN CAPITAL LETTER EZ
+10CB0         ; NFKC_CF; 10CF0          # L&       OLD HUNGARIAN CAPITAL LETTER EZS
+10CB1         ; NFKC_CF; 10CF1          # L&       OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN
+10CB2         ; NFKC_CF; 10CF2          # L&       OLD HUNGARIAN CAPITAL LETTER US
 118A0         ; NFKC_CF; 118C0          # L&       WARANG CITI CAPITAL LETTER NGAA
 118A1         ; NFKC_CF; 118C1          # L&       WARANG CITI CAPITAL LETTER A
 118A2         ; NFKC_CF; 118C2          # L&       WARANG CITI CAPITAL LETTER WI
@@ -8493,7 +8634,7 @@ E0080..E00FF  ; NFKC_CF;                # Cn [128] <reserved-E0080>..<reserved-E
 E0100..E01EF  ; NFKC_CF;                # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 E01F0..E0FFF  ; NFKC_CF;                # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
 
-# Total code points: 10005
+# Total code points: 10146
 
 # ================================================
 
@@ -8827,6 +8968,7 @@ E01F0..E0FFF  ; NFKC_CF;                # Cn [3600] <reserved-E01F0>..<reserved-
 10CD          ; Changes_When_NFKC_Casefolded # L&       GEORGIAN CAPITAL LETTER AEN
 10FC          ; Changes_When_NFKC_Casefolded # Lm       MODIFIER LETTER GEORGIAN NAR
 115F..1160    ; Changes_When_NFKC_Casefolded # Lo   [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
+13F8..13FD    ; Changes_When_NFKC_Casefolded # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 17B4..17B5    ; Changes_When_NFKC_Casefolded # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 180B..180D    ; Changes_When_NFKC_Casefolded # Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
 180E          ; Changes_When_NFKC_Casefolded # Cf       MONGOLIAN VOWEL SEPARATOR
@@ -9248,9 +9390,11 @@ A7A4          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER N W
 A7A6          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
 A7AA..A7AD    ; Changes_When_NFKC_Casefolded # L&   [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Changes_When_NFKC_Casefolded # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B4    ; Changes_When_NFKC_Casefolded # L&   [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA
+A7B6          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER OMEGA
 A7F8..A7F9    ; Changes_When_NFKC_Casefolded # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 AB5C..AB5F    ; Changes_When_NFKC_Casefolded # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
+AB70..ABBF    ; Changes_When_NFKC_Casefolded # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 F900..FA0D    ; Changes_When_NFKC_Casefolded # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
 FA10          ; Changes_When_NFKC_Casefolded # Lo       CJK COMPATIBILITY IDEOGRAPH-FA10
 FA12          ; Changes_When_NFKC_Casefolded # Lo       CJK COMPATIBILITY IDEOGRAPH-FA12
@@ -9375,6 +9519,7 @@ FFE9..FFEC    ; Changes_When_NFKC_Casefolded # Sm   [4] HALFWIDTH LEFTWARDS ARRO
 FFED..FFEE    ; Changes_When_NFKC_Casefolded # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 FFF0..FFF8    ; Changes_When_NFKC_Casefolded # Cn   [9] <reserved-FFF0>..<reserved-FFF8>
 10400..10427  ; Changes_When_NFKC_Casefolded # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
+10C80..10CB2  ; Changes_When_NFKC_Casefolded # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
 118A0..118BF  ; Changes_When_NFKC_Casefolded # L&  [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO
 1BCA0..1BCA3  ; Changes_When_NFKC_Casefolded # Cf   [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
 1D15E..1D164  ; Changes_When_NFKC_Casefolded # So   [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
@@ -9472,6 +9617,6 @@ E0080..E00FF  ; Changes_When_NFKC_Casefolded # Cn [128] <reserved-E0080>..<reser
 E0100..E01EF  ; Changes_When_NFKC_Casefolded # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 E01F0..E0FFF  ; Changes_When_NFKC_Casefolded # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
 
-# Total code points: 10005
+# Total code points: 10146
 
 # EOF
index f87a2da..b72970e 100644 (file)
@@ -1,12 +1,12 @@
-# EastAsianWidth-7.0.0.txt
-# Date: 2014-02-28, 23:15:00 GMT [KW, LI]
+# EastAsianWidth-8.0.0.txt
+# Date: 2015-02-10, 21:00:00 GMT [KW, LI]
 #
 # East_Asian_Width Property
 #
 # This file is an informative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # The format is two fields separated by a semicolon.
@@ -23,6 +23,7 @@
 #     CJK Unified Ideographs Extension B:      U+20000..U+2A6DF
 #     CJK Unified Ideographs Extension C:      U+2A700..U+2B73F
 #     CJK Unified Ideographs Extension D:      U+2B740..U+2B81F
+#     CJK Unified Ideographs Extension E:      U+2B820..U+2CEAF
 #     CJK Compatibility Ideographs Supplement: U+2F800..U+2FA1F
 #     and any other reserved code points on
 #         Planes 2 and 3:                      U+20000..U+2FFFD
 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
-08A0..08B2;N     # Lo    [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
-08E4..08FF;N     # Mn    [28] ARABIC CURLY FATHA..ARABIC MARK SIDEWAYS NOON GHUNNA
+08A0..08B4;N     # Lo    [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08E3..08FF;N     # Mn    [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA
 0900..0902;N     # Mn     [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903;N           # Mc         DEVANAGARI SIGN VISARGA
 0904..0939;N     # Lo    [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 0AE6..0AEF;N     # Nd    [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
 0AF0;N           # Po         GUJARATI ABBREVIATION SIGN
 0AF1;N           # Sc         GUJARATI RUPEE SIGN
+0AF9;N           # Lo         GUJARATI LETTER ZHA
 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
 0C46..0C48;N     # Mn     [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
 0C4A..0C4D;N     # Mn     [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
 0C55..0C56;N     # Mn     [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59;N     # Lo     [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A;N     # Lo     [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61;N     # Lo     [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63;N     # Mn     [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C66..0C6F;N     # Nd    [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
 0D4D;N           # Mn         MALAYALAM SIGN VIRAMA
 0D4E;N           # Lo         MALAYALAM LETTER DOT REPH
 0D57;N           # Mc         MALAYALAM AU LENGTH MARK
-0D60..0D61;N     # Lo     [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61;N     # Lo     [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D62..0D63;N     # Mn     [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
 0D66..0D6F;N     # Nd    [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
 0D70..0D75;N     # No     [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
 1369..137C;N     # No    [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F;N     # Lo    [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399;N     # So    [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4;N     # Lo    [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5;N     # Lu    [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD;N     # Ll     [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1400;N           # Pd         CANADIAN SYLLABICS HYPHEN
 1401..166C;N     # Lo   [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166D..166E;N     # Po     [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
 1950..196D;N     # Lo    [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974;N     # Lo     [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB;N     # Lo    [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0;N     # Mc    [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7;N     # Lo     [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9;N     # Mc     [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9;N     # Lo    [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19D0..19D9;N     # Nd    [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
 19DA;N           # No         NEW TAI LUE THAM DIGIT ONE
 19DE..19DF;N     # So     [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
 20A9;H           # Sc         WON SIGN
 20AA..20AB;N     # Sc     [2] NEW SHEQEL SIGN..DONG SIGN
 20AC;A           # Sc         EURO SIGN
-20AD..20BD;N     # Sc    [17] KIP SIGN..RUBLE SIGN
+20AD..20BE;N     # Sc    [18] KIP SIGN..LARI 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
 2183..2184;N     # L&     [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
 2185..2188;N     # Nl     [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
 2189;A           # No         VULGAR FRACTION ZERO THIRDS
+218A..218B;N     # So     [2] TURNED DIGIT TWO..TURNED DIGIT THREE
 2190..2194;A     # Sm     [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
 2195..2199;A     # So     [5] UP DOWN ARROW..SOUTH WEST ARROW
 219A..219B;N     # Sm     [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
 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
+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
 2C60..2C7B;N     # L&    [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
 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..9FCC;W     # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
-9FCD..9FFF;W     # Cn    [51] <reserved-9FCD>..<reserved-9FFF>
+4E00..9FD5;W     # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+9FD6..9FFF;W     # Cn    [42] <reserved-9FD6>..<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
@@ -1432,7 +1435,7 @@ A67E;N           # Po         CYRILLIC KAVYKA
 A67F;N           # Lm         CYRILLIC PAYEROK
 A680..A69B;N     # L&    [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O
 A69C..A69D;N     # Lm     [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN
-A69F;N           # Mn         COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F;N     # Mn     [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6A0..A6E5;N     # Lo    [70] BAMUM LETTER A..BAMUM LETTER KI
 A6E6..A6EF;N     # Nl    [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
 A6F0..A6F1;N     # Mn     [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
@@ -1446,8 +1449,9 @@ A771..A787;N     # L&    [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR
 A788;N           # Lm         MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A;N     # Sk     [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E;N     # L&     [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F;N           # Lo         LATIN LETTER SINOLOGICAL DOT
 A790..A7AD;N     # L&    [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1;N     # Lu     [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7;N     # L&     [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7;N           # Lo         LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9;N     # Lm     [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA;N           # Ll         LATIN LETTER SMALL CAPITAL TURNED M
@@ -1479,6 +1483,8 @@ A8E0..A8F1;N     # Mn    [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAG
 A8F2..A8F7;N     # Lo     [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8F8..A8FA;N     # Po     [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
 A8FB;N           # Lo         DEVANAGARI HEADSTROKE
+A8FC;N           # Po         DEVANAGARI SIGN SIDDHAM
+A8FD;N           # Lo         DEVANAGARI JAIN OM
 A900..A909;N     # Nd    [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
 A90A..A925;N     # Lo    [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A926..A92D;N     # Mn     [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
@@ -1560,7 +1566,8 @@ AB28..AB2E;N     # Lo     [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A;N     # Ll    [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5B;N           # Sk         MODIFIER BREVE WITH INVERTED BREVE
 AB5C..AB5F;N     # Lm     [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65;N     # Ll     [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65;N     # Ll     [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF;N     # Ll    [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2;N     # Lo    [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4;N     # Mc     [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5;N           # Mn         MEETEI MAYEK VOWEL SIGN ANAP
@@ -1609,7 +1616,7 @@ FE10..FE16;W     # Po     [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION
 FE17;W           # Ps         PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
 FE18;W           # Pe         PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
 FE19;W           # Po         PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE20..FE2D;N     # Mn    [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F;N     # Mn    [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FE30;W           # Po         PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
 FE31..FE32;W     # Pd     [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
 FE33..FE34;W     # Pc     [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
@@ -1766,6 +1773,9 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 10879..1087F;N   # No     [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY
 10880..1089E;N   # Lo    [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
 108A7..108AF;N   # No     [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
+108E0..108F2;N   # Lo    [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5;N   # Lo     [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108FB..108FF;N   # No     [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
 10900..10915;N   # Lo    [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10916..1091B;N   # No     [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
 1091F;N          # Po         PHOENICIAN WORD SEPARATOR
@@ -1773,7 +1783,10 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 1093F;N          # Po         LYDIAN TRIANGULAR MARK
 10980..1099F;N   # Lo    [32] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
 109A0..109B7;N   # Lo    [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA
+109BC..109BD;N   # No     [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
 109BE..109BF;N   # Lo     [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+109C0..109CF;N   # No    [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF;N   # No    [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 10A00;N          # Lo         KHAROSHTHI LETTER A
 10A01..10A03;N   # Mn     [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
 10A05..10A06;N   # Mn     [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
@@ -1806,6 +1819,9 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 10B99..10B9C;N   # Po     [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT
 10BA9..10BAF;N   # No     [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
 10C00..10C48;N   # Lo    [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2;N   # Lu    [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2;N   # Ll    [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CFA..10CFF;N   # No     [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
 10E60..10E7E;N   # No    [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
 11000;N          # Mc         BRAHMI SIGN CANDRABINDU
 11001;N          # Mn         BRAHMI SIGN ANUSVARA
@@ -1846,10 +1862,14 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 111B6..111BE;N   # Mn     [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF..111C0;N   # Mc     [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
 111C1..111C4;N   # Lo     [4] SHARADA SIGN AVAGRAHA..SHARADA OM
-111C5..111C8;N   # Po     [4] SHARADA DANDA..SHARADA SEPARATOR
+111C5..111C9;N   # Po     [5] SHARADA DANDA..SHARADA SANDHI MARK
+111CA..111CC;N   # Mn     [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 111CD;N          # Po         SHARADA SUTRA MARK
 111D0..111D9;N   # Nd    [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
 111DA;N          # Lo         SHARADA EKAM
+111DB;N          # Po         SHARADA SIGN SIDDHAM
+111DC;N          # Lo         SHARADA HEADSTROKE
+111DD..111DF;N   # Po     [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
 111E1..111F4;N   # No    [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
 11200..11211;N   # Lo    [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B;N   # Lo    [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
@@ -1860,12 +1880,18 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 11235;N          # Mc         KHOJKI SIGN VIRAMA
 11236..11237;N   # Mn     [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
 11238..1123D;N   # Po     [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN
+11280..11286;N   # Lo     [7] MULTANI LETTER A..MULTANI LETTER GA
+11288;N          # Lo         MULTANI LETTER GHA
+1128A..1128D;N   # Lo     [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D;N   # Lo    [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8;N   # Lo    [10] MULTANI LETTER BHA..MULTANI LETTER RHA
+112A9;N          # Po         MULTANI SECTION MARK
 112B0..112DE;N   # Lo    [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 112DF;N          # Mn         KHUDAWADI SIGN ANUSVARA
 112E0..112E2;N   # Mc     [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112EA;N   # Mn     [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
 112F0..112F9;N   # Nd    [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE
-11301;N          # Mn         GRANTHA SIGN CANDRABINDU
+11300..11301;N   # Mn     [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303;N   # Mc     [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 11305..1130C;N   # Lo     [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310;N   # Lo     [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -1880,6 +1906,7 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 11341..11344;N   # Mc     [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348;N   # Mc     [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134D;N   # Mc     [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
+11350;N          # Lo         GRANTHA OM
 11357;N          # Mc         GRANTHA AU LENGTH MARK
 1135D..11361;N   # Lo     [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363;N   # Mc     [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
@@ -1905,7 +1932,9 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 115BC..115BD;N   # Mn     [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE;N          # Mc         SIDDHAM SIGN VISARGA
 115BF..115C0;N   # Mn     [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
-115C1..115C9;N   # Po     [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK
+115C1..115D7;N   # Po    [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+115D8..115DB;N   # Lo     [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
+115DC..115DD;N   # Mn     [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11600..1162F;N   # Lo    [48] MODI LETTER A..MODI LETTER LLA
 11630..11632;N   # Mc     [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A;N   # Mn     [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
@@ -1925,15 +1954,27 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 116B6;N          # Mc         TAKRI SIGN VIRAMA
 116B7;N          # Mn         TAKRI SIGN NUKTA
 116C0..116C9;N   # Nd    [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11700..11719;N   # Lo    [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F;N   # Mn     [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721;N   # Mc     [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725;N   # Mn     [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726;N          # Mc         AHOM VOWEL SIGN E
+11727..1172B;N   # Mn     [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11730..11739;N   # Nd    [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
+1173A..1173B;N   # No     [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
+1173C..1173E;N   # Po     [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+1173F;N          # So         AHOM SYMBOL VI
 118A0..118DF;N   # L&    [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 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
 11AC0..11AF8;N   # Lo    [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398;N   # Lo   [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
+12480..12543;N   # Lo   [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
 13000..1342E;N   # Lo  [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646;N   # Lo   [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38;N   # Lo   [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E;N   # Lo    [31] MRO LETTER TA..MRO LETTER TEK
 16A60..16A69;N   # Nd    [10] MRO DIGIT ZERO..MRO DIGIT NINE
@@ -1979,7 +2020,7 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 1D185..1D18B;N   # Mn     [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D18C..1D1A9;N   # So    [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
 1D1AA..1D1AD;N   # Mn     [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE..1D1DD;N   # So    [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
+1D1AE..1D1E8;N   # So    [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
 1D200..1D241;N   # So    [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
 1D242..1D244;N   # Mn     [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 1D245;N          # So         GREEK MUSICAL LEIMMA
@@ -2026,6 +2067,18 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 1D7C3;N          # Sm         MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB;N   # L&     [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF;N   # Nd    [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1D800..1D9FF;N   # So   [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA00..1DA36;N   # Mn    [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA37..1DA3A;N   # So     [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA3B..1DA6C;N   # Mn    [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA6D..1DA74;N   # So     [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA75;N          # Mn         SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA76..1DA83;N   # So    [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA84;N          # Mn         SIGNWRITING LOCATION HEAD NECK
+1DA85..1DA86;N   # So     [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
+1DA87..1DA8B;N   # Po     [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS
+1DA9B..1DA9F;N   # Mn     [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF;N   # Mn    [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E800..1E8C4;N   # Lo   [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
 1E8C7..1E8CF;N   # No     [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE
 1E8D0..1E8D6;N   # Mn     [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
@@ -2081,19 +2134,14 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 1F210..1F23A;W   # So    [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
 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
-1F300..1F32C;N   # So    [45] CYCLONE..WIND BLOWING FACE
-1F330..1F37D;N   # So    [78] CHESTNUT..FORK AND KNIFE WITH PLATE
-1F380..1F3CE;N   # So    [79] RIBBON..RACING CAR
-1F3D4..1F3F7;N   # So    [36] SNOW CAPPED MOUNTAIN..LABEL
-1F400..1F4FE;N   # So   [255] RAT..PORTABLE STEREO
-1F500..1F54A;N   # So    [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE
-1F550..1F579;N   # So    [42] CLOCK FACE ONE OCLOCK..JOYSTICK
+1F300..1F3FA;N   # So   [251] CYCLONE..AMPHORA
+1F3FB..1F3FF;N   # Sk     [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
+1F400..1F579;N   # So   [378] RAT..JOYSTICK
 1F57B..1F5A3;N   # So    [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX
 1F5A5..1F5FF;N   # So    [91] DESKTOP COMPUTER..MOYAI
-1F600..1F642;N   # So    [67] GRINNING FACE..SLIGHTLY SMILING FACE
-1F645..1F64F;N   # So    [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
+1F600..1F64F;N   # So    [80] GRINNING FACE..PERSON WITH FOLDED HANDS
 1F650..1F67F;N   # So    [48] NORTH WEST POINTING LEAF..REVERSE CHECKER BOARD
-1F680..1F6CF;N   # So    [80] ROCKET..BED
+1F680..1F6D0;N   # So    [81] ROCKET..PLACE OF WORSHIP
 1F6E0..1F6EC;N   # So    [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6F0..1F6F3;N   # So     [4] SATELLITE..PASSENGER SHIP
 1F700..1F773;N   # So   [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -2103,12 +2151,17 @@ FFFD;A           # So         REPLACEMENT CHARACTER
 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..1F918;N   # So     [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984;N   # So     [5] CRAB..UNICORN FACE
+1F9C0;N          # So         CHEESE WEDGE
 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
 2B735..2B73F;W   # Cn    [11] <reserved-2B735>..<reserved-2B73F>
 2B740..2B81D;W   # Lo   [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
-2B81E..2F7FF;W   # Cn [16354] <reserved-2B81E>..<reserved-2F7FF>
+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>
 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>
index db8411d..f6185d4 100644 (file)
@@ -1,8 +1,8 @@
-# EmojiSources-7.0.0.txt
-# Date: 2013-12-17, 00:00:00 GMT [MS, KW]
+# EmojiSources-8.0.0.txt
+# Date: 2015-01-20, 02:00:00 GMT [MS, KW]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -16,7 +16,7 @@
 # additional data columns providing mappings for additional vendors.
 #
 # Created for Unicode 6.0 by Markus Scherer.
-# Updated for Unicode 6.1, 6.2, 6.3, and 7.0 by Ken Whistler (no changes to mappings).
+# 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.
index f15f592..e30a82b 100644 (file)
@@ -1,8 +1,8 @@
-# HangulSyllableType-7.0.0.txt
-# Date: 2013-11-27, 09:54:39 GMT [MD]
+# HangulSyllableType-8.0.0.txt
+# Date: 2014-12-16, 23:07:45 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2014 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
index 1f8269d..196a1e0 100644 (file)
@@ -129,6 +129,7 @@ AEGEAN WORD SEPARATOR LINE  10100
 AESCULAPIUS, STAFF OF  2695
 AFGHANI SIGN   060B
 African Letters for Clicks     01C0
+Ahom   11700
 AIN, LATIN LETTER      1D25
 Ainu, Katakana Extensions for  31F0
 AIRPLANE       2708
@@ -161,6 +162,7 @@ always      25FB
 AMPERSAND      0026
 Ampersand and Ligature-et Ornaments    1F670
 AMPERSAND, TURNED      214B
+Anatolian Hieroglyphs  14400
 ANCHOR 2693
 ANCHOR, INTERLINEAR ANNOTATION FFF9
 AND, CURLY LOGICAL     22CF
@@ -826,7 +828,9 @@ CHECK MARK, NOT     237B
 CHECK, BALLOT BOX WITH 2611
 CHECKER BOARD  1F67E
 Checkers, Symbols for Draughts and     26C0
+CHEESE WEDGE   1F9C0
 Cherokee       13A0
+Cherokee Supplement    AB70
 Chess Symbols  2654
 Chess Symbols, Japanese        2616
 chevron bracket, left  27EA
@@ -926,6 +930,7 @@ CJK Unified Ideographs Extension A  3400
 CJK Unified Ideographs Extension B     20000
 CJK Unified Ideographs Extension C     2A700
 CJK Unified Ideographs Extension D     2B740
+CJK Unified Ideographs Extension E     2B820
 CLAPPING HANDS SIGN    1F44F
 claudian antisigma     2183
 claudian digamma inversum      2132
@@ -1240,6 +1245,7 @@ COUNTERSINK       2335
 COW    1F404
 COW FACE       1F42E
 cr     000D
+CRAB   1F980
 CREDIT SIGN, TAMIL     0BF7
 cremated symbol        26B1
 CRESCENT MOON  1F319
@@ -1278,6 +1284,7 @@ cubed     00B3
 Cultural Symbols       1F5FB
 Cuneiform      12000
 Cuneiform Numbers and Punctuation      12400
+Cuneiform, Early Dynastic      12480
 cup    222A
 cup of coffee  2615
 cup of tea     2615
@@ -1306,6 +1313,7 @@ currency, costa rican     20A1
 currency, el salvadorian       20A1
 currency, euro european        20AC
 currency, french       20A3
+currency, georgian     20BE
 currency, ghana        20B5
 currency, greek        20AF
 currency, indian       20A8
@@ -1343,6 +1351,7 @@ Cyrillic Extensions       048A
 Cyrillic Historic Letters      0460
 Cyrillic Small Letters 0430
 Cyrillic Supplement    0500
+CYRILLIC TITLO LEFT HALF, COMBINING    FE2E
 d retroflex hook, latin small letter   0256
 D WITH CARON, LATIN SMALL LETTER       010F
 D WITH CEDILLA, LATIN SMALL LETTER     1E11
@@ -1608,6 +1617,7 @@ DOT PUNCTUATION, TWO      205A
 dot, greek middle      00B7
 DOT, KATAKANA MIDDLE   30FB
 dot, latin capital letter i    0130
+DOT, LATIN LETTER SINOLOGICAL  A78F
 DOT, MIDDLE    00B7
 DOT, SESAME    FE45
 DOT, VERTICAL LINE WITH MIDDLE 237F
@@ -1810,6 +1820,8 @@ EM SPACE  2003
 EMBEDDING, LEFT-TO-RIGHT       202A
 EMBEDDING, RIGHT-TO-LEFT       202B
 emf    2130
+Emoji Modifiers        1F3FB
+Emoticon Faces 1F910
 Emoticons      1F600
 EMPHASIS MARK, ARMENIAN        055B
 Emphasis Marks, Sidelining     FE45
@@ -2179,6 +2191,7 @@ Georgian  10A0
 Georgian Alphabet      10D0
 Georgian Capital Letters       10A0
 georgian comma 00B7
+georgian currency      20BE
 Georgian Extensions    10F1
 georgian full stop     0589
 Georgian Khutsuri      10A0
@@ -2289,6 +2302,7 @@ greek vrachy      0306
 GREEK YPOGEGRAMMENI, COMBINING 0345
 Greek, Diacritics for  0342
 Greek, Precomposed Polytonic   1F00
+Gregorian Musical Symbols      1D1D0
 GROUND, EARTH  23DA
 group lock     21F0
 group select (ISO 9995-7)      21E8
@@ -2405,6 +2419,7 @@ HASANTA, SYLOTI NAGRI SIGN        A806
 hash   0023
 hat    0302
 hat    2229
+Hatran 108E0
 have a nice day!       263A
 Hazard Dingbats        2620
 Head Marks, Tibetan    0F01
@@ -2434,6 +2449,7 @@ HELMET WITH WHITE CROSS   26D1
 HERMES, STAFF OF       269A
 HERMITIAN CONJUGATE MATRIX     22B9
 Hexagram Symbols, Yijing / I Ching     4DC0
+Hieroglyphs, Anatolian 14400
 Hieroglyphs, Egyptian  13000
 High Surrogates        D800
 HIGH VOLTAGE SIGN      26A1
@@ -2473,6 +2489,7 @@ HORSE     1F40E
 HORSE FACE     1F434
 hospital       26E8
 HOT BEVERAGE   2615
+HOT DOG        1F32D
 HOT SPRINGS    2668
 HOURGLASS      231B
 HOURGLASS WITH FLOWING SAND    23F3
@@ -2481,6 +2498,7 @@ Hours, Ideographic Telegraph Symbols for  3358
 HOUSE  2302
 HRYVNIA SIGN   20B4
 ht     0009
+Hungarian, Old 10C80
 HV, LATIN SMALL LETTER 0195
 HWAIR, LATIN CAPITAL LETTER    01F6
 HYPHEN 2010
@@ -2826,6 +2844,7 @@ Khojki    11200
 KHOMUT, THAI CHARACTER 0E5B
 Khudawadi      112B0
 Khutsuri, Georgian     10A0
+Kievan Musical Symbols 1D1DE
 killer, myanmar        1039
 KIP SIGN       20AD
 kissen 2311
@@ -2890,6 +2909,7 @@ laplace transform 2112
 large bowtie   2A1D
 LARGE CIRCLE   25EF
 Large Operators        29F8
+LARI SIGN      20BE
 LAST QUARTER MOON      263E
 LATERAL CLICK, LATIN LETTER    01C1
 Latin Abbreviations, Squared   3371
@@ -3134,6 +3154,7 @@ Linear B Ideograms        10080
 Linear B Syllabary     10000
 Lines, Horizontal Scan 23BA
 Lines, Vertical        2223
+LION FACE      1F981
 LIPS   1F5E2
 LIRA SIGN      20A4
 LIRA SIGN, TURKISH     20BA
@@ -3444,6 +3465,7 @@ MUCH GREATER-THAN 226B
 MUCH GREATER-THAN, VERY        22D9
 MUCH LESS-THAN 226A
 MUCH LESS-THAN, VERY   22D8
+Multani        11280
 MULTIMAP       22B8
 Multiplication and Division Sign Operators     2A2F
 MULTIPLICATION SIGN    00D7
@@ -3699,6 +3721,7 @@ OHM SIGN, INVERTED        2127
 OI, LATIN SMALL LETTER 01A3
 OK HAND SIGN   1F44C
 Ol Chiki       1C50
+Old Hungarian  10C80
 Old Italic     10300
 Old Permic     10350
 Old Persian    103A0
@@ -3962,6 +3985,7 @@ PI, GREEK SMALL LETTER    03C0
 pi, mathematical constant 3.141592...  03C0
 PICK   26CF
 Pictographs, Miscellaneous Symbols and 1F300
+Pictographs, Supplemental Symbols and  1F900
 Pictures for Control Codes, Graphic    2400
 PIG    1F416
 PIG FACE       1F437
@@ -4538,6 +4562,7 @@ scissors in rock, paper, scissors game    270C
 SCISSORS, BLACK        2702
 SCISSORS, UPPER BLADE  2701
 SCISSORS, WHITE        2704
+SCORPION       1F982
 SCORPIUS       264F
 SCREEN SYMBOL, CLEAR   239A
 SCREEN SYMBOL, PRINT   2399
@@ -4681,6 +4706,7 @@ sigma, greek small letter lunate  03F2
 Signage and Other Symbols      1F6A9
 Signs, Warning 2620
 Signs, Warning 26A0
+SignWriting, Sutton    1D800
 similar to     223C
 SINE WAVE      223F
 SINGLE CHARACTER INTRODUCER    009A
@@ -4707,6 +4733,7 @@ Sinhala Dependent Vowel Signs     0DCF
 Sinhala Independent Vowels     0D85
 SINHALA SIGN AL-LAKUNA 0DCA
 sinhala virama 0DCA
+SINOLOGICAL DOT, LATIN LETTER  A78F
 SIX DOTS, VERTICAL     2E3D
 SIX-PER-EM SPACE       2006
 SIXTEENTH NOTES, BEAMED        266C
@@ -4839,6 +4866,7 @@ SPESMILO SIGN     20B7
 SPHERICAL ANGLE        2222
 spicy  1F336
 Sport Symbols  1F3BD
+Sport Symbols  1F3CF
 SQUARE BELOW, COMBINING        033B
 SQUARE BRACKET WITH QUILL, LEFT        2045
 SQUARE BRACKET WITH QUILL, RIGHT       2046
@@ -4988,6 +5016,7 @@ surjective injection, finite      2918
 Surrogates Area        D800
 Surrogates, High       D800
 Surrogates, Low        DC00
+Sutton SignWriting     1D800
 Suzhou Numerals        3021
 Svasti Signs   0FD5
 SWASH TAIL, LATIN SMALL LETTER S WITH  023F
@@ -5011,6 +5040,7 @@ Syloti Nagri      A800
 Symbol Variants, Fullwidth     FFE0
 Symbol Variants, Halfwidth     FFE8
 Symbols and Pictographs, Miscellaneous 1F300
+Symbols and Pictographs, Supplemental  1F900
 Symbols and Punctuation, CJK   3000
 Symbols Area   2000
 Symbols Area, CJK Phonetics and        2E80
@@ -5320,6 +5350,7 @@ TINY      29FE
 TIPPI, GURMUKHI        0A70
 Tirhuta        11480
 TIRONIAN SIGN ET       204A
+TITLO LEFT HALF, COMBINING CYRILLIC    FE2E
 TODO SOFT HYPHEN, MONGOLIAN    1806
 Tone Letters   02E5
 Tone Letters, Modifier A700
@@ -5389,6 +5420,7 @@ TSHEG, TIBETAN MARK INTERSYLLABIC 0F0B
 TUGRIK SIGN    20AE
 TURBAN, MAN WITH       1F473
 turbofan       274B
+TURKEY 1F983
 Turkic, Old    10C00
 TURKISH LIRA SIGN      20BA
 TURNED A, LATIN SMALL LETTER   0250
@@ -5492,6 +5524,7 @@ Underscores, Overscores and       FE49
 UNDERTIE       203F
 UNDERTIE, INVERTED     2054
 UNDO SYMBOL    238C
+UNICORN FACE   1F984
 Unified Canadian Aboriginal Syllabics  1400
 Unified Canadian Aboriginal Syllabics Extended 18B0
 Unified Ideographs Extension A, CJK    3400
similarity index 62%
rename from lib/unicore/IndicMatraCategory.txt
rename to lib/unicore/IndicPositionalCategory.txt
index c3a0943..92cca55 100644 (file)
@@ -1,41 +1,34 @@
-# IndicMatraCategory-7.0.0.txt
-# Date: 2014-06-03, 07:00:00 GMT [KW, LI, AG, RP]
+# IndicPositionalCategory-8.0.0.txt
+# Date: 2015-05-12, 10:00:00 GMT [RP, KW, LI]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see UAX #44: Unicode Character Database,
 # at http://www.unicode.org/reports/tr44/
 #
-# This file defines the following provisional property:
+# This file defines the following property:
 #
-#    Indic_Matra_Category     enumerated property
+#    Indic_Positional_Category     enumerated property
 #
-# NB: Provisional properties and data files have no associated stability
-# guarantees. They are provided in part to determine the possible usefulness
-# of a property or other data and to encourage analysis and further investigation
-# which may result in their improvement. Provisional properties and data files
-# may change arbitrarily, or may even be removed in a future version of the
-# Unicode Character Database, if they prove not to be useful.
-#
-# Scope: This provisional property is aimed at the problem of
+# Scope: This property is aimed at the problem of
 # the specification of syllabic structure for Indic scripts.
-# Because dependent vowels (and visible viramas, where they occur)
-# are placed in notional slots around the consonant (or consonant
-# cluster) core of an Indic syllable, there may be cooccurrence
-# constraints or other interactions. Also, it may be desirable,
-# in cases where more than one dependent vowel may occur in
+# Because dependent vowels (matras), visible viramas, and other
+# characters are placed in notional slots around the consonant (or
+# consonant cluster) core of an Indic syllable, there may be
+# cooccurrence constraints or other interactions. Also, it may be
+# desirable, in cases where more than one such character may occur in
 # sequence, as for example, in a top slot and a bottom slot, to
 # specify preferred orders for spelling. As such, this property
 # is designed primarily to supplement the Indic_Syllabic_Category
 # property.
 #
-# Note that this provisional property is *not* intended as
+# Note that this property is *not* intended as
 # a prescriptive property regarding display or font design,
 # for a number of reasons. Good font design requires information
 # that is outside the context of a character encoding standard,
 # and is best handled in other venues. For Indic dependent
-# vowels, in particular:
+# vowels and similar characters, in particular:
 #
 #   1. Matra placement may vary somewhat based on typeface design.
 #   2. Matra placement, even within a single script, may vary
 #
 # Format:
 #    Field 0  Unicode code point value or range of code point values
-#    Field 1  Indic_Matra_Category property value
+#    Field 1  Indic_Positional_Category property value
 #
 # Field 1 is followed by a comment field, starting with the number sign '#',
 # which shows the General_Category property value, the Unicode character name
 # or names, and, in lines with ranges of code points, the code point count in
 # square brackets.
 #
-# The scripts assessed as containing dependent vowels or viramas in the
-# structural sense used for the Indic_Matra_Category are the following:
+# The scripts assessed as containing dependent vowels or similar characters
+# in the structural sense used for the Indic_Positional_Category are the
+# following:
 #
-# Balinese, Batak, Bengali, Brahmi, Buginese, Buhid, Chakma, Cham,
-# Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo, Javanese, Kaithi,
-# Kannada, Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Lepcha, Limbu,
-# Malayalam, Meetei Mayek, Modi, Myanmar, 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.
+# Ahom, Balinese, Batak, Bengali, Brahmi, Buginese, Buhid, Chakma,
+# Cham, Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo, Javanese,
+# Kaithi, Kannada, Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Lepcha,
+# Limbu, Malayalam, Meetei Mayek, Modi, Myanmar, 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.
 #
 # All characters for all other scripts not in that list
 # take the default value for this property.
 #
 # See IndicSyllabicCategory.txt for a slightly more extended
 # list of Indic scripts, including those which do not have
-# dependent vowel characters. Currently, those additional
-# Indic scripts without dependent vowel characters are
-# Kayah Li, Mahajani, Phags-pa, and Tai Le.
+# positional characters. Currently, those additional
+# Indic scripts without positional characters are
+# Kayah Li, Mahajani, Multani, Phags-pa, and Tai Le.
 #
 
 # ================================================
 
-# Property: Indic_Matra_Category
+# Property: Indic_Positional_Category
 #
-#  All code points not explicitly listed for Indic_Matra_Category
+#  All code points not explicitly listed for Indic_Positional_Category
 #  have the value NA (not applicable).
 #
 # @missing: 0000..10FFFF; NA
 
-# Only characters from the following syllabic categories have
-# a non-default value for the Indic_Matra_Category property:
-#   - dependent vowels (Indic_Syllabic_Category=Vowel_Dependent)
-#   - viramas (Indic_Syllabic_Category=Virama)
-#   - pure killers (Indic_Syllabic_Category=Pure_Killer)
-#   - gemination marks (Indic_Syllabic_Category=Gemination_Mark)
-#   - left-reordrant instances of medial consonants
-#     (Indic_Syllabic_Category=Consonant_Medial)
-#   - bindi (Indic_Syllabic_Category=Bindu) in Lepcha
-#   - repha forms of ra succeeding the main consonant
-#     (Indic_Syllabic_Category=Consonant_Succeeding_Repha)
-#   - register shifters (Indic_Syllabic_Category=Register_Shifter)
-
 # ------------------------------------------------
 
-# Indic_Matra_Category=Right
+# Indic_Positional_Category=Right
 
+0903          ; Right # Mc       DEVANAGARI SIGN VISARGA
 093B          ; Right # Mc       DEVANAGARI VOWEL SIGN OOE
 093E          ; Right # Mc       DEVANAGARI VOWEL SIGN AA
 0940          ; Right # Mc       DEVANAGARI VOWEL SIGN II
 0949..094C    ; Right # Mc   [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
 094F          ; Right # Mc       DEVANAGARI VOWEL SIGN AW
+0982..0983    ; Right # Mc   [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
 09BE          ; Right # Mc       BENGALI VOWEL SIGN AA
 09C0          ; Right # Mc       BENGALI VOWEL SIGN II
 09D7          ; Right # Mc       BENGALI AU LENGTH MARK
+0A03          ; Right # Mc       GURMUKHI SIGN VISARGA
 0A3E          ; Right # Mc       GURMUKHI VOWEL SIGN AA
 0A40          ; Right # Mc       GURMUKHI VOWEL SIGN II
+0A83          ; Right # Mc       GUJARATI SIGN VISARGA
 0ABE          ; Right # Mc       GUJARATI VOWEL SIGN AA
 0AC0          ; Right # Mc       GUJARATI VOWEL SIGN II
 0ACB..0ACC    ; Right # Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
+0B02..0B03    ; Right # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B3E          ; Right # Mc       ORIYA VOWEL SIGN AA
 0B40          ; Right # Mc       ORIYA VOWEL SIGN II
 0BBE..0BBF    ; Right # Mc   [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
+0BC1..0BC2    ; Right # Mc   [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
+# Note: U and UU have contextually variable placement in Tamil.
 0BD7          ; Right # Mc       TAMIL AU LENGTH MARK
+0C01..0C03    ; Right # Mc   [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
 0C41..0C44    ; Right # Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
+0C82..0C83    ; Right # Mc   [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
 0CBE          ; Right # Mc       KANNADA VOWEL SIGN AA
 0CC1..0CC4    ; Right # Mc   [4] KANNADA VOWEL SIGN U..KANNADA VOWEL SIGN VOCALIC RR
 0CD5..0CD6    ; Right # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
+0D02..0D03    ; Right # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D3E..0D40    ; Right # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D42    ; Right # Mn   [2] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN UU
 # Note: U and UU form complex ligatures with consonants in older Malayalam orthography.
 0D57          ; Right # Mc       MALAYALAM AU LENGTH MARK
+0D82..0D83    ; Right # Mc   [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
 0DCF..0DD1    ; Right # Mc   [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
 0DD8          ; Right # Mc       SINHALA VOWEL SIGN GAETTA-PILLA
 0DDF          ; Right # Mc       SINHALA VOWEL SIGN GAYANUKITTA
 0E45          ; Right # Lo       THAI CHARACTER LAKKHANGYAO
 0EB0          ; Right # Lo       LAO VOWEL SIGN A
 0EB2..0EB3    ; Right # Lo   [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
+0F3E          ; Right # Mc       TIBETAN SIGN YAR TSHES
+0F7F          ; Right # Mc       TIBETAN SIGN RNAM BCAD
 102B..102C    ; Right # Mc   [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
+1038          ; Right # Mc       MYANMAR SIGN VISARGA
+103B          ; Right # Mc       MYANMAR CONSONANT SIGN MEDIAL YA
 1056..1057    ; Right # Mc   [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1062          ; Right # Mc       MYANMAR VOWEL SIGN SGAW KAREN EU
-1067..1068    ; Right # Mc   [2] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
+1062..1064    ; Right # Mc   [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
+1067..106D    ; Right # Mc   [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
 1083          ; Right # Mc       MYANMAR VOWEL SIGN SHAN AA
-109C          ; Right # Mc       MYANMAR VOWEL SIGN AITON A
+1087..108C    ; Right # Mc   [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
+108F          ; Right # Mc       MYANMAR SIGN RUMAI PALAUNG TONE-5
+109A..109C    ; Right # Mc   [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
 17B6          ; Right # Mc       KHMER VOWEL SIGN AA
-17C8          ; Right # Mc       KHMER SIGN YUUKALEAPINTU
+17C7..17C8    ; Right # Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
 1923..1924    ; Right # Mc   [2] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AI
-19B0..19B4    ; Right # Mc   [5] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN UU
-19B8..19B9    ; Right # Mc   [2] NEW TAI LUE VOWEL SIGN OA..NEW TAI LUE VOWEL SIGN UE
-19BB..19C0    ; Right # Mc   [6] NEW TAI LUE VOWEL SIGN AAY..NEW TAI LUE VOWEL SIGN IY
+1929..192B    ; Right # Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
+1930..1931    ; Right # Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
+1933..1938    ; Right # Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
+19B0..19B4    ; Right # Lo   [5] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN UU
+19B8..19B9    ; Right # Lo   [2] NEW TAI LUE VOWEL SIGN OA..NEW TAI LUE VOWEL SIGN UE
+19BB..19C0    ; Right # Lo   [6] NEW TAI LUE VOWEL SIGN AAY..NEW TAI LUE VOWEL SIGN IY
+19C8..19C9    ; Right # Lo   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
 1A1A          ; Right # Mc       BUGINESE VOWEL SIGN O
+1A57          ; Right # Mc       TAI THAM CONSONANT SIGN LA TANG LAI
 1A61          ; Right # Mc       TAI THAM VOWEL SIGN A
 1A63..1A64    ; Right # Mc   [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
 1A6D          ; Right # Mc       TAI THAM VOWEL SIGN OY
+1B04          ; Right # Mc       BALINESE SIGN BISAH
 1B35          ; Right # Mc       BALINESE VOWEL SIGN TEDUNG
 1B44          ; Right # Mc       BALINESE ADEG ADEG
+1B82          ; Right # Mc       SUNDANESE SIGN PANGWISAD
+1BA1          ; Right # Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
 1BA7          ; Right # Mc       SUNDANESE VOWEL SIGN PANOLONG
 1BAA          ; Right # Mc       SUNDANESE SIGN PAMAAEH
 1BE7          ; Right # Mc       BATAK VOWEL SIGN E
 1BEA..1BEC    ; Right # Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
 1BEE          ; Right # Mc       BATAK VOWEL SIGN U
 1BF2..1BF3    ; Right # Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
-1C26          ; Right # Mc       LEPCHA VOWEL SIGN AA
+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
 A823..A824    ; Right # Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
 A827          ; Right # Mc       SYLOTI NAGRI VOWEL SIGN OO
-A8B5..A8C3    ; Right # Mc  [15] SAURASHTRA VOWEL SIGN AA..SAURASHTRA VOWEL SIGN AU
-A953          ; Right # Mc       REJANG VIRAMA
+A880..A881    ; Right # Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
+A8B4..A8C3    ; Right # Mc  [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
+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
+AA33          ; Right # Mc       CHAM CONSONANT SIGN YA
+AA4D          ; Right # Mc       CHAM CONSONANT SIGN FINAL H
+AA7B          ; Right # Mc       MYANMAR SIGN PAO KAREN TONE
+AA7D          ; Right # Mc       MYANMAR SIGN TAI LAING TONE-5
 AAB1          ; Right # Lo       TAI VIET VOWEL AA
 AABA          ; Right # Lo       TAI VIET VOWEL UA
 AABD          ; Right # Lo       TAI VIET VOWEL AN
 AAEF          ; Right # Mc       MEETEI MAYEK VOWEL SIGN AAU
+AAF5          ; Right # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 ABE3..ABE4    ; Right # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE6..ABE7    ; Right # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
 ABE9..ABEA    ; Right # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
+ABEC          ; Right # Mc       MEETEI MAYEK LUM IYEK
+11000         ; Right # Mc       BRAHMI SIGN CANDRABINDU
+11002         ; Right # Mc       BRAHMI SIGN VISARGA
+11082         ; Right # Mc       KAITHI SIGN VISARGA
 110B0         ; Right # Mc       KAITHI VOWEL SIGN AA
 110B2         ; Right # Mc       KAITHI VOWEL SIGN II
 110B7..110B8  ; Right # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
+11182         ; Right # Mc       SHARADA SIGN VISARGA
 111B3         ; Right # Mc       SHARADA VOWEL SIGN AA
 111B5         ; Right # Mc       SHARADA VOWEL SIGN II
 111C0         ; Right # Mc       SHARADA SIGN VIRAMA
@@ -188,6 +208,7 @@ ABE9..ABEA    ; Right # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK V
 11235         ; Right # Mc       KHOJKI SIGN VIRAMA
 112E0         ; Right # Mc       KHUDAWADI VOWEL SIGN AA
 112E2         ; Right # Mc       KHUDAWADI VOWEL SIGN II
+11302..11303  ; Right # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 1133E..1133F  ; Right # Mc   [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I
 11341..11342  ; Right # Mc   [2] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN UU
 # Note: U and UU have contextually variable placement in Grantha.
@@ -198,13 +219,19 @@ ABE9..ABEA    ; Right # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK V
 114B0         ; Right # Mc       TIRHUTA VOWEL SIGN AA
 114B2         ; Right # Mc       TIRHUTA VOWEL SIGN II
 114BD         ; Right # Mc       TIRHUTA VOWEL SIGN SHORT O
+114C1         ; Right # Mc       TIRHUTA SIGN VISARGA
 115AF         ; Right # Mc       SIDDHAM VOWEL SIGN AA
 115B1         ; Right # Mc       SIDDHAM VOWEL SIGN II
+115BE         ; Right # Mc       SIDDHAM SIGN VISARGA
 11630..11632  ; Right # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 1163B..1163C  ; Right # Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
+1163E         ; Right # Mc       MODI SIGN VISARGA
+116AC         ; Right # Mc       TAKRI SIGN VISARGA
 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
 
-# Indic_Matra_Category=Left
+# Indic_Positional_Category=Left
 
 093F          ; Left # Mc       DEVANAGARI VOWEL SIGN I
 094E          ; Left # Mc       DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
@@ -217,11 +244,10 @@ ABE9..ABEA    ; Right # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK V
 0D46..0D48    ; Left # Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
 0DD9          ; Left # Mc       SINHALA VOWEL SIGN KOMBUVA
 0DDB          ; Left # Mc       SINHALA VOWEL SIGN KOMBU DEKA
+0F3F          ; Left # Mc       TIBETAN SIGN MAR TSHES
 1031          ; Left # Mc       MYANMAR VOWEL SIGN E
 1084          ; Left # Mc       MYANMAR VOWEL SIGN SHAN E
 17C1..17C3    ; Left # Mc   [3] KHMER VOWEL SIGN E..KHMER VOWEL SIGN AI
-19B5..19B7    ; Left # Mc   [3] NEW TAI LUE VOWEL SIGN E..NEW TAI LUE VOWEL SIGN O
-19BA          ; Left # Mc       NEW TAI LUE VOWEL SIGN AY
 1A19          ; Left # Mc       BUGINESE VOWEL SIGN E
 1A55          ; Left # Mc       TAI THAM CONSONANT SIGN MEDIAL RA
 1A6E..1A72    ; Left # Mc   [5] TAI THAM VOWEL SIGN E..TAI THAM VOWEL SIGN THAM AI
@@ -244,8 +270,9 @@ AAEE          ; Left # Mc       MEETEI MAYEK VOWEL SIGN AU
 115B0         ; Left # Mc       SIDDHAM VOWEL SIGN I
 115B8         ; Left # Mc       SIDDHAM VOWEL SIGN E
 116AE         ; Left # Mc       TAKRI VOWEL SIGN I
+11726         ; Left # Mc       AHOM VOWEL SIGN E
 
-# Indic_Matra_Category=Visual_Order_Left
+# Indic_Positional_Category=Visual_Order_Left
 
 # These are dependent vowels that occur to the left of the consonant
 # letter in a syllable, but which occur in scripts using the visual order
@@ -257,11 +284,13 @@ AAEE          ; Left # Mc       MEETEI MAYEK VOWEL SIGN AU
 
 0E40..0E44    ; Visual_Order_Left # Lo   [5] THAI CHARACTER SARA E..THAI CHARACTER SARA AI MAIMALAI
 0EC0..0EC4    ; Visual_Order_Left # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
+19B5..19B7    ; Visual_Order_Left # Lo   [3] NEW TAI LUE VOWEL SIGN E..NEW TAI LUE VOWEL SIGN O
+19BA          ; Visual_Order_Left # Lo       NEW TAI LUE VOWEL SIGN AY
 AAB5..AAB6    ; Visual_Order_Left # Lo   [2] TAI VIET VOWEL E..TAI VIET VOWEL O
 AAB9          ; Visual_Order_Left # Lo       TAI VIET VOWEL UEA
 AABB..AABC    ; Visual_Order_Left # Lo   [2] TAI VIET VOWEL AUE..TAI VIET VOWEL AY
 
-# Indic_Matra_Category=Left_And_Right
+# Indic_Positional_Category=Left_And_Right
 
 09CB..09CC    ; Left_And_Right # Mc   [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
 0B4B          ; Left_And_Right # Mc       ORIYA VOWEL SIGN O
@@ -277,42 +306,55 @@ AABB..AABC    ; Visual_Order_Left # Lo   [2] TAI VIET VOWEL AUE..TAI VIET VOWEL
 114BE         ; Left_And_Right # Mc       TIRHUTA VOWEL SIGN AU
 115BA         ; Left_And_Right # Mc       SIDDHAM VOWEL SIGN O
 
-# Indic_Matra_Category=Top
+# Indic_Positional_Category=Top
 
+0900..0902    ; Top # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 093A          ; Top # Mn       DEVANAGARI VOWEL SIGN OE
 0945..0948    ; Top # Mn   [4] DEVANAGARI VOWEL SIGN CANDRA E..DEVANAGARI VOWEL SIGN AI
-0955          ; Top # Mn       DEVANAGARI VOWEL SIGN CANDRA LONG E
+0951          ; Top # Mn       DEVANAGARI STRESS SIGN UDATTA
+0953..0955    ; Top # Mn   [3] DEVANAGARI GRAVE ACCENT..DEVANAGARI VOWEL SIGN CANDRA LONG E
+0981          ; Top # Mn       BENGALI SIGN CANDRABINDU
+0A01..0A02    ; Top # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
 0A47..0A48    ; Top # Mn   [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
 0A4B..0A4C    ; Top # Mn   [2] GURMUKHI VOWEL SIGN OO..GURMUKHI VOWEL SIGN AU
-0A71          ; Top # Mn       GURMUKHI ADDAK
+0A70..0A71    ; Top # Mn   [2] GURMUKHI TIPPI..GURMUKHI ADDAK
+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
+0B01          ; Top # Mn       ORIYA SIGN CANDRABINDU
 0B3F          ; Top # Mn       ORIYA VOWEL SIGN I
 0B56          ; Top # Mn       ORIYA AI LENGTH MARK
+0B82          ; Top # Mn       TAMIL SIGN ANUSVARA
 0BC0          ; Top # Mn       TAMIL VOWEL SIGN II
 0BCD          ; Top # Mn       TAMIL SIGN VIRAMA
+0C00          ; Top # Mn       TELUGU SIGN COMBINING CANDRABINDU ABOVE
 0C3E..0C40    ; Top # Mn   [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
 0C46..0C47    ; Top # Mn   [2] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN EE
 0C4A..0C4D    ; Top # Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
 0C55          ; Top # Mn       TELUGU LENGTH MARK
+0C81          ; Top # Mn       KANNADA SIGN CANDRABINDU
 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
 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
 0E31          ; Top # Mn       THAI CHARACTER MAI HAN-AKAT
 0E34..0E37    ; Top # Mn   [4] THAI CHARACTER SARA I..THAI CHARACTER SARA UEE
-0E47          ; Top # Mn       THAI CHARACTER MAITAIKHU
-0E4E          ; Top # Mn       THAI CHARACTER YAMAKKAN
+0E47..0E4E    ; Top # Mn   [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
 0EB1          ; Top # Mn       LAO VOWEL SIGN MAI KAN
 0EB4..0EB7    ; Top # Mn   [4] LAO VOWEL SIGN I..LAO VOWEL SIGN YY
 0EBB          ; Top # Mn       LAO VOWEL SIGN MAI KON
+0EC8..0ECD    ; Top # Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
+0F39          ; Top # Mn       TIBETAN MARK TSA -PHRU
 0F72          ; Top # Mn       TIBETAN VOWEL SIGN I
-0F7A..0F7D    ; Top # Mn   [4] TIBETAN VOWEL SIGN E..TIBETAN VOWEL SIGN OO
+0F7A..0F7E    ; Top # Mn   [5] TIBETAN VOWEL SIGN E..TIBETAN SIGN RJES SU NGA RO
 0F80          ; Top # Mn       TIBETAN VOWEL SIGN REVERSED I
+0F82..0F83    ; Top # Mn   [2] TIBETAN SIGN NYI ZLA NAA DA..TIBETAN SIGN SNA LDAN
+0F86..0F87    ; Top # Mn   [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
 102D..102E    ; Top # Mn   [2] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN II
-1032..1035    ; Top # Mn   [4] MYANMAR VOWEL SIGN AI..MYANMAR VOWEL SIGN E ABOVE
+1032..1036    ; Top # Mn   [5] MYANMAR VOWEL SIGN AI..MYANMAR SIGN ANUSVARA
 103A          ; Top # Mn       MYANMAR SIGN ASAT
 1071..1074    ; Top # Mn   [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
 1085..1086    ; Top # Mn   [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
@@ -322,77 +364,129 @@ AABB..AABC    ; Visual_Order_Left # Lo   [2] TAI VIET VOWEL AUE..TAI VIET VOWEL
 1752          ; Top # Mn       BUHID VOWEL SIGN I
 1772          ; Top # Mn       TAGBANWA VOWEL SIGN I
 17B7..17BA    ; Top # Mn   [4] KHMER VOWEL SIGN I..KHMER VOWEL SIGN YY
+17C6          ; Top # Mn       KHMER SIGN NIKAHIT
 17C9..17D1    ; Top # Mn   [9] KHMER SIGN MUUSIKATOAN..KHMER SIGN VIRIAM
 17D3          ; Top # Mn       KHMER SIGN BATHAMASAT
+17DD          ; Top # Mn       KHMER SIGN ATTHACAN
 1920..1921    ; Top # Mn   [2] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN I
 1927..1928    ; Top # Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
+193A          ; Top # Mn       LIMBU SIGN KEMPHRENG
 1A17          ; Top # Mn       BUGINESE VOWEL SIGN I
 1A1B          ; Top # Mn       BUGINESE VOWEL SIGN AE
+1A58..1A5A    ; Top # Mn   [3] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN LOW PA
 1A62          ; Top # Mn       TAI THAM VOWEL SIGN MAI SAT
 1A65..1A68    ; Top # Mn   [4] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN UUE
 1A6B          ; Top # Mn       TAI THAM VOWEL SIGN O
-1A73..1A74    ; Top # Mn   [2] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN MAI KANG
+1A73..1A7C    ; Top # Mn  [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
+1B00..1B03    ; Top # Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
+1B34          ; Top # Mn       BALINESE SIGN REREKAN
 1B36..1B37    ; Top # Mn   [2] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN ULU SARI
 1B42          ; Top # Mn       BALINESE VOWEL SIGN PEPET
+1B6B          ; Top # Mn       BALINESE MUSICAL SYMBOL COMBINING TEGEH
+1B6D..1B73    ; Top # Mn   [7] BALINESE MUSICAL SYMBOL COMBINING KEMPUL..BALINESE MUSICAL SYMBOL COMBINING GONG
+1B80..1B81    ; Top # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
 1BA4          ; Top # Mn       SUNDANESE VOWEL SIGN PANGHULU
 1BA8..1BA9    ; Top # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BE6          ; Top # Mn       BATAK SIGN TOMPI
 1BE8..1BE9    ; Top # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BED          ; Top # Mn       BATAK VOWEL SIGN KARO O
-1BEF          ; Top # Mn       BATAK VOWEL SIGN U FOR SIMALUNGUN SA
+1BEF..1BF1    ; Top # Mn   [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
+1C2D..1C33    ; Top # Mn   [7] LEPCHA CONSONANT SIGN K..LEPCHA CONSONANT SIGN T
+1C36          ; Top # Mn       LEPCHA SIGN RAN
+1CD0..1CD2    ; Top # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
+1CDA..1CDB    ; Top # Mn   [2] VEDIC TONE DOUBLE SVARITA..VEDIC TONE TRIPLE SVARITA
+1CE0          ; Top # Mn       VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
+1CF4          ; Top # Mn       VEDIC TONE CANDRA ABOVE
 A806          ; Top # Mn       SYLOTI NAGRI SIGN HASANTA
+A80B          ; Top # Mn       SYLOTI NAGRI SIGN ANUSVARA
 A826          ; Top # Mn       SYLOTI NAGRI VOWEL SIGN E
+A8E0..A8F1    ; Top # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
 A94A          ; Top # Mn       REJANG VOWEL SIGN AI
+A94F..A951    ; Top # Mn   [3] REJANG CONSONANT SIGN NG..REJANG CONSONANT SIGN R
+A980..A982    ; Top # Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
+A9B3          ; Top # Mn       JAVANESE SIGN CECAK TELU
 A9B6..A9B7    ; Top # Mn   [2] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN WULU MELIK
 A9BC          ; Top # Mn       JAVANESE VOWEL SIGN PEPET
+A9E5          ; Top # Mn       MYANMAR SIGN SHAN SAW
 AA29..AA2C    ; Top # Mn   [4] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN EI
 AA2E          ; Top # Mn       CHAM VOWEL SIGN OE
 AA31          ; Top # Mn       CHAM VOWEL SIGN AU
+AA43          ; Top # Mn       CHAM CONSONANT SIGN FINAL NG
+AA4C          ; Top # Mn       CHAM CONSONANT SIGN FINAL M
+AA7C          ; Top # Mn       MYANMAR SIGN TAI LAING TONE-2
 AAB0          ; Top # Mn       TAI VIET MAI KANG
 AAB2..AAB3    ; Top # Mn   [2] TAI VIET VOWEL I..TAI VIET VOWEL UE
 AAB7..AAB8    ; Top # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE          ; Top # Mn       TAI VIET VOWEL AM
+AABE..AABF    ; Top # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
+AAC1          ; Top # Mn       TAI VIET TONE MAI THO
 AAED          ; Top # Mn       MEETEI MAYEK VOWEL SIGN AAI
 ABE5          ; Top # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 10A05         ; Top # Mn       KHAROSHTHI VOWEL SIGN E
+10A0F         ; Top # Mn       KHAROSHTHI SIGN VISARGA
+10A38         ; Top # Mn       KHAROSHTHI SIGN BAR ABOVE
+11001         ; Top # Mn       BRAHMI SIGN ANUSVARA
 11038..1103B  ; Top # Mn   [4] BRAHMI VOWEL SIGN AA..BRAHMI VOWEL SIGN II
 11042..11046  ; Top # Mn   [5] BRAHMI VOWEL SIGN E..BRAHMI VIRAMA
+11080..11081  ; Top # Mn   [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
 110B5..110B6  ; Top # Mn   [2] KAITHI VOWEL SIGN E..KAITHI VOWEL SIGN AI
+11100..11102  ; Top # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
 11127..11129  ; Top # Mn   [3] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN II
 1112D         ; Top # Mn       CHAKMA VOWEL SIGN AI
 11130         ; Top # Mn       CHAKMA VOWEL SIGN OI
 11134         ; Top # Mn       CHAKMA MAAYYAA
+11180..11181  ; Top # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
 111BC..111BE  ; Top # Mn   [3] SHARADA VOWEL SIGN E..SHARADA VOWEL SIGN O
+111CB         ; Top # Mn       SHARADA VOWEL MODIFIER MARK
 11230..11231  ; Top # Mn   [2] KHOJKI VOWEL SIGN E..KHOJKI VOWEL SIGN AI
-11237         ; Top # Mn       KHOJKI SIGN SHADDA
+11234         ; Top # Mn       KHOJKI SIGN ANUSVARA
+11236..11237  ; Top # Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
+112DF         ; Top # Mn       KHUDAWADI SIGN ANUSVARA
 112E5..112E8  ; Top # Mn   [4] KHUDAWADI VOWEL SIGN E..KHUDAWADI VOWEL SIGN AU
+11301         ; Top # Mn       GRANTHA SIGN CANDRABINDU
 11340         ; Top # Mn       GRANTHA VOWEL SIGN II
+11366..1136C  ; Top # Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
+11370..11374  ; Top # Mn   [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
 114BA         ; Top # Mn       TIRHUTA VOWEL SIGN SHORT E
+114BF..114C0  ; Top # Mn   [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
+115BC..115BD  ; Top # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 11639..1163A  ; Top # Mn   [2] MODI VOWEL SIGN E..MODI VOWEL SIGN AI
+1163D         ; Top # Mn       MODI SIGN ANUSVARA
+11640         ; Top # Mn       MODI SIGN ARDHACANDRA
+116AB         ; Top # Mn       TAKRI SIGN ANUSVARA
 116AD         ; Top # Mn       TAKRI VOWEL SIGN AA
 116B2..116B5  ; Top # Mn   [4] TAKRI VOWEL SIGN E..TAKRI VOWEL SIGN AU
-116B6         ; Top # Mc       TAKRI SIGN VIRAMA
+1171F         ; Top # Mn       AHOM CONSONANT SIGN MEDIAL LIGATING RA
+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
 
-# Indic_Matra_Category=Bottom
+# Indic_Positional_Category=Bottom
 
+093C          ; Bottom # Mn       DEVANAGARI SIGN NUKTA
 0941..0944    ; Bottom # Mn   [4] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN VOCALIC RR
 094D          ; Bottom # Mn       DEVANAGARI SIGN VIRAMA
+0952          ; Bottom # Mn       DEVANAGARI STRESS SIGN ANUDATTA
 0956..0957    ; Bottom # Mn   [2] DEVANAGARI VOWEL SIGN UE..DEVANAGARI VOWEL SIGN UUE
 0962..0963    ; Bottom # Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
+09BC          ; Bottom # Mn       BENGALI SIGN NUKTA
 09C1..09C4    ; Bottom # Mn   [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
 09CD          ; Bottom # Mn       BENGALI SIGN VIRAMA
 09E2..09E3    ; Bottom # Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
+0A3C          ; Bottom # Mn       GURMUKHI SIGN NUKTA
 0A41..0A42    ; Bottom # Mn   [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
 0A4D          ; Bottom # Mn       GURMUKHI SIGN VIRAMA
+0A75          ; Bottom # Mn       GURMUKHI SIGN YAKASH
+0ABC          ; Bottom # Mn       GUJARATI SIGN NUKTA
 0AC1..0AC4    ; Bottom # Mn   [4] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN VOCALIC RR
 0ACD          ; Bottom # Mn       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; Bottom # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0B3C          ; Bottom # Mn       ORIYA SIGN NUKTA
 0B41..0B44    ; Bottom # Mn   [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
 0B4D          ; Bottom # Mn       ORIYA SIGN VIRAMA
 0B62..0B63    ; Bottom # Mn   [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0BC1..0BC2    ; Bottom # Mc   [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-# Note: U and UU have contextually variable placement in Tamil.
 0C56          ; Bottom # Mn       TELUGU AI LENGTH MARK
 0C62..0C63    ; Bottom # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
+0CBC          ; Bottom # Mn       KANNADA SIGN NUKTA
 0CE2..0CE3    ; Bottom # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0D43..0D44    ; Bottom # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC R..MALAYALAM VOWEL SIGN VOCALIC RR
 0D62..0D63    ; Bottom # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
@@ -400,54 +494,89 @@ ABE5          ; Top # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 0DD6          ; Bottom # Mn       SINHALA VOWEL SIGN DIGA PAA-PILLA
 0E38..0E3A    ; Bottom # Mn   [3] THAI CHARACTER SARA U..THAI CHARACTER PHINTHU
 0EB8..0EB9    ; Bottom # Mn   [2] LAO VOWEL SIGN U..LAO VOWEL SIGN UU
+0EBC          ; Bottom # Mn       LAO SEMIVOWEL SIGN LO
+0F18..0F19    ; Bottom # Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
+0F35          ; Bottom # Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
+0F37          ; Bottom # Mn       TIBETAN MARK NGAS BZUNG SGOR RTAGS
 0F71          ; Bottom # Mn       TIBETAN VOWEL SIGN AA
 0F74..0F75    ; Bottom # Mn   [2] TIBETAN VOWEL SIGN U..TIBETAN VOWEL SIGN UU
 0F84          ; Bottom # Mn       TIBETAN MARK HALANTA
+0F8D..0F97    ; Bottom # Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
+0F99..0FBC    ; Bottom # Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
+0FC6          ; Bottom # Mn       TIBETAN SYMBOL PADMA GDAN
 102F..1030    ; Bottom # Mn   [2] MYANMAR VOWEL SIGN U..MYANMAR VOWEL SIGN UU
+1037          ; Bottom # Mn       MYANMAR SIGN DOT BELOW
+103D..103E    ; Bottom # Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
 1058..1059    ; Bottom # Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
+105E..1060    ; Bottom # Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
+1082          ; Bottom # Mn       MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+108D          ; Bottom # Mn       MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
 1713..1714    ; Bottom # Mn   [2] TAGALOG VOWEL SIGN U..TAGALOG SIGN VIRAMA
 1733..1734    ; Bottom # Mn   [2] HANUNOO VOWEL SIGN U..HANUNOO SIGN PAMUDPOD
 1753          ; Bottom # Mn       BUHID VOWEL SIGN U
 1773          ; Bottom # Mn       TAGBANWA VOWEL SIGN U
 17BB..17BD    ; Bottom # Mn   [3] KHMER VOWEL SIGN U..KHMER VOWEL SIGN UA
 1922          ; Bottom # Mn       LIMBU VOWEL SIGN U
+1932          ; Bottom # Mn       LIMBU SMALL LETTER ANUSVARA
+1939          ; Bottom # Mn       LIMBU SIGN MUKPHRENG
+193B          ; Bottom # Mn       LIMBU SIGN SA-I
 1A18          ; Bottom # Mn       BUGINESE VOWEL SIGN U
+1A56          ; Bottom # Mn       TAI THAM CONSONANT SIGN MEDIAL LA
+1A5B..1A5E    ; Bottom # Mn   [4] TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA..TAI THAM CONSONANT SIGN SA
 1A69..1A6A    ; Bottom # Mn   [2] TAI THAM VOWEL SIGN U..TAI THAM VOWEL SIGN UU
 1A6C          ; Bottom # Mn       TAI THAM VOWEL SIGN OA BELOW
+1A7F          ; Bottom # Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
 1B38..1B3A    ; Bottom # Mn   [3] BALINESE VOWEL SIGN SUKU..BALINESE VOWEL SIGN RA REPA
+1B6C          ; Bottom # Mn       BALINESE MUSICAL SYMBOL COMBINING ENDEP
+1BA2..1BA3    ; Bottom # Mn   [2] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE CONSONANT SIGN PANYIKU
 1BA5          ; Bottom # Mn       SUNDANESE VOWEL SIGN PANYUKU
+1BAC..1BAD    ; Bottom # Mn   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1C2C          ; Bottom # Mn       LEPCHA VOWEL SIGN E
+1C37          ; Bottom # Mn       LEPCHA SIGN NUKTA
+1CD5..1CD9    ; Bottom # Mn   [5] VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA..VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
+1CDC..1CDF    ; Bottom # Mn   [4] VEDIC TONE KATHAKA ANUDATTA..VEDIC TONE THREE DOTS BELOW
+1CED          ; Bottom # Mn       VEDIC SIGN TIRYAK
 A825          ; Bottom # Mn       SYLOTI NAGRI VOWEL SIGN U
 A8C4          ; Bottom # Mn       SAURASHTRA SIGN VIRAMA
+A92B..A92D    ; Bottom # Mn   [3] KAYAH LI TONE PLOPHU..KAYAH LI TONE CALYA PLOPHU
 A947..A949    ; Bottom # Mn   [3] REJANG VOWEL SIGN I..REJANG VOWEL SIGN E
 A94B..A94E    ; Bottom # Mn   [4] REJANG VOWEL SIGN O..REJANG VOWEL SIGN EA
 A9B8..A9B9    ; Bottom # Mn   [2] JAVANESE VOWEL SIGN SUKU..JAVANESE VOWEL SIGN SUKU MENDUT
 AA2D          ; Bottom # Mn       CHAM VOWEL SIGN U
 AA32          ; Bottom # Mn       CHAM VOWEL SIGN UE
+AA35..AA36    ; Bottom # Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
 AAB4          ; Bottom # Mn       TAI VIET VOWEL U
 AAEC          ; Bottom # Mn       MEETEI MAYEK VOWEL SIGN UU
 ABE8          ; Bottom # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; Bottom # Mn       MEETEI MAYEK APUN IYEK
 10A02..10A03  ; Bottom # Mn   [2] KHAROSHTHI VOWEL SIGN U..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A0C         ; Bottom # Mn       KHAROSHTHI VOWEL LENGTH MARK
+10A0C..10A0E  ; Bottom # Mn   [3] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN ANUSVARA
+10A39..10A3A  ; Bottom # Mn   [2] KHAROSHTHI SIGN CAUDA..KHAROSHTHI SIGN DOT BELOW
 1103C..11041  ; Bottom # Mn   [6] BRAHMI VOWEL SIGN U..BRAHMI VOWEL SIGN VOCALIC LL
 110B3..110B4  ; Bottom # Mn   [2] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN UU
-110B9         ; Bottom # Mn       KAITHI SIGN VIRAMA
+110B9..110BA  ; Bottom # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
 1112A..1112B  ; Bottom # Mn   [2] CHAKMA VOWEL SIGN U..CHAKMA VOWEL SIGN UU
 11131..11132  ; Bottom # Mn   [2] CHAKMA O MARK..CHAKMA AU MARK
+11173         ; Bottom # Mn       MAHAJANI SIGN NUKTA
 111B6..111BB  ; Bottom # Mn   [6] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN VOCALIC LL
+111CC         ; Bottom # Mn       SHARADA EXTRA SHORT VOWEL MARK
 1122F         ; Bottom # Mn       KHOJKI VOWEL SIGN U
 112E3..112E4  ; Bottom # Mn   [2] KHUDAWADI VOWEL SIGN U..KHUDAWADI VOWEL SIGN UU
-112EA         ; Bottom # Mn       KHUDAWADI SIGN VIRAMA
+112E9..112EA  ; Bottom # Mn   [2] KHUDAWADI SIGN NUKTA..KHUDAWADI SIGN VIRAMA
 114B3..114B8  ; Bottom # Mn   [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL
-114C2         ; Bottom # Mn       TIRHUTA SIGN VIRAMA
+114C2..114C3  ; Bottom # Mn   [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA
 115B2..115B5  ; Bottom # Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
-115BF         ; Bottom # Mn       SIDDHAM SIGN VIRAMA
+115BF..115C0  ; Bottom # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; Bottom # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11633..11638  ; Bottom # Mn   [6] MODI VOWEL SIGN U..MODI VOWEL SIGN VOCALIC LL
 1163F         ; Bottom # Mn       MODI SIGN VIRAMA
 116B0..116B1  ; Bottom # Mn   [2] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN UU
+116B7         ; Bottom # Mn       TAKRI SIGN NUKTA
+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
 
-# Indic_Matra_Category=Top_And_Bottom
+# Indic_Positional_Category=Top_And_Bottom
 
 0C48          ; Top_And_Bottom # Mn       TELUGU VOWEL SIGN AI
 0F73          ; Top_And_Bottom # Mn       TIBETAN VOWEL SIGN II
@@ -456,7 +585,7 @@ ABED          ; Bottom # Mn       MEETEI MAYEK APUN IYEK
 1B3C          ; Top_And_Bottom # Mn       BALINESE VOWEL SIGN LA LENGA
 1112E..1112F  ; Top_And_Bottom # Mn   [2] CHAKMA VOWEL SIGN O..CHAKMA VOWEL SIGN AU
 
-# Indic_Matra_Category=Top_And_Right
+# Indic_Positional_Category=Top_And_Right
 
 0AC9          ; Top_And_Right # Mc       GUJARATI VOWEL SIGN CANDRA O
 0B57          ; Top_And_Right # Mc       ORIYA AU LENGTH MARK
@@ -468,7 +597,7 @@ ABED          ; Bottom # Mn       MEETEI MAYEK APUN IYEK
 111BF         ; Top_And_Right # Mc       SHARADA VOWEL SIGN AU
 11232..11233  ; Top_And_Right # Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
 
-# Indic_Matra_Category=Top_And_Left
+# Indic_Positional_Category=Top_And_Left
 
 0B48          ; Top_And_Left # Mc       ORIYA VOWEL SIGN AI
 0DDA          ; Top_And_Left # Mc       SINHALA VOWEL SIGN DIGA KOMBUVA
@@ -477,24 +606,26 @@ ABED          ; Bottom # Mn       MEETEI MAYEK APUN IYEK
 114BB         ; Top_And_Left # Mc       TIRHUTA VOWEL SIGN AI
 115B9         ; Top_And_Left # Mc       SIDDHAM VOWEL SIGN AI
 
-# Indic_Matra_Category=Top_And_Left_And_Right
+# Indic_Positional_Category=Top_And_Left_And_Right
 
 0B4C          ; Top_And_Left_And_Right # Mc       ORIYA VOWEL SIGN AU
 0DDD          ; Top_And_Left_And_Right # Mc       SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
 17BF          ; Top_And_Left_And_Right # Mc       KHMER VOWEL SIGN YA
 115BB         ; Top_And_Left_And_Right # Mc       SIDDHAM VOWEL SIGN AU
 
-# Indic_Matra_Category=Bottom_And_Right
+# Indic_Positional_Category=Bottom_And_Right
 
 1B3B          ; Bottom_And_Right # Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
 A9C0          ; Bottom_And_Right # Mc       JAVANESE PANGKON
 
-# Indic_Matra_Category=Top_And_Bottom_And_Right
+# Indic_Positional_Category=Top_And_Bottom_And_Right
 
 1B3D          ; Top_And_Bottom_And_Right # Mc       BALINESE VOWEL SIGN LA LENGA TEDUNG
 
-# Indic_Matra_Category=Overstruck
+# Indic_Positional_Category=Overstruck
 
+1CD4          ; Overstruck # Mn       VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
+1CE2..1CE8    ; Overstruck # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 10A01         ; Overstruck # Mn       KHAROSHTHI VOWEL SIGN I
 10A06         ; Overstruck # Mn       KHAROSHTHI VOWEL SIGN O
 
index 7634798..d7834f3 100644 (file)
@@ -1,24 +1,17 @@
-# IndicSyllabicCategory-7.0.0.txt
-# Date: 2014-06-03, 07:00:00 GMT [KW, LI, AG, RP]
+# IndicSyllabicCategory-8.0.0.txt
+# Date: 2015-05-12, 10:00:00 GMT [RP, KW, LI]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see UAX #44: Unicode Character Database,
 # at http://www.unicode.org/reports/tr44/
 #
-# This file defines the following provisional property:
+# This file defines the following property:
 #
 #    Indic_Syllabic_Category     enumerated property
 #
-# NB: Provisional properties and data files have no associated stability
-# guarantees. They are provided in part to determine the possible usefulness
-# of a property or other data and to encourage analysis and further investigation
-# which may result in their improvement. Provisional properties and data files
-# may change arbitrarily, or may even be removed in a future version of the
-# Unicode Character Database, if they prove not to be useful.
-#
-# Scope: This provisional property is aimed at two general problem
+# Scope: This property is aimed at two general problem
 # areas involving the analysis and processing of Indic scripts:
 #
 #   1. Specification of syllabic structure.
 # The scripts assessed as Indic in the structural sense used for the
 # Indic_Syllabic_Category are the following:
 #
-# Balinese, Batak, Bengali, Brahmi, Buginese, Buhid, Chakma, Cham,
-# Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo, Javanese, Kaithi,
-# Kannada, Kayah Li, Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Lepcha,
-# Limbu, Mahajani, Malayalam, Meetei Mayek, Modi, Myanmar, 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.
+# Ahom, Balinese, Batak, Bengali, Brahmi, Buginese, Buhid, Chakma,
+# Cham, Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo, Javanese,
+# Kaithi, Kannada, Kayah Li, Kharoshthi, Khmer, Khojki, Khudawadi,
+# Lao, Lepcha, Limbu, Mahajani, Malayalam, Meetei Mayek, Modi,
+# Multani, Myanmar, 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.
 #
 # All characters for all other scripts not in that list
 # take the default value for this property, unless they
@@ -111,7 +105,7 @@ A980..A981    ; Bindu # Mn   [2] JAVANESE SIGN PANYANGGA..JAVANESE SIGN CECAK
 11180..11181  ; Bindu # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
 11234         ; Bindu # Mn       KHOJKI SIGN ANUSVARA
 112DF         ; Bindu # Mn       KHUDAWADI SIGN ANUSVARA
-11301         ; Bindu # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Bindu # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302         ; Bindu # Mc       GRANTHA SIGN ANUSVARA
 114BF..114C0  ; Bindu # Mn   [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
 115BC..115BD  ; Bindu # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
@@ -184,9 +178,10 @@ AAF5          ; Visarga # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 
 # Indic_Syllabic_Category=Nukta
 
-# Nukta (diacritic for borrowed consonants)
+# Nukta (diacritic for borrowed consonants or other consonant
+# modifications)
 
-# [Derivation: (ccc=7) - 1037]
+# [Derivation: (ccc=7) + 0F39 + 10A38..10A3A - 1037]
 
 093C          ; Nukta # Mn       DEVANAGARI SIGN NUKTA
 09BC          ; Nukta # Mn       BENGALI SIGN NUKTA
@@ -194,12 +189,15 @@ AAF5          ; Visarga # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 0ABC          ; Nukta # Mn       GUJARATI SIGN NUKTA
 0B3C          ; Nukta # Mn       ORIYA SIGN NUKTA
 0CBC          ; Nukta # Mn       KANNADA SIGN NUKTA
+0F39          ; Nukta # Mn       TIBETAN MARK TSA -PHRU
 1B34          ; Nukta # Mn       BALINESE SIGN REREKAN
 1BE6          ; Nukta # Mn       BATAK SIGN TOMPI
 1C37          ; Nukta # Mn       LEPCHA SIGN NUKTA
 A9B3          ; Nukta # Mn       JAVANESE SIGN CECAK TELU
+10A38..10A3A  ; Nukta # Mn   [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
 110BA         ; Nukta # Mn       KAITHI SIGN NUKTA
 11173         ; Nukta # Mn       MAHAJANI SIGN NUKTA
+111CA         ; Nukta # Mn       SHARADA SIGN NUKTA
 11236         ; Nukta # Mn       KHOJKI SIGN NUKTA
 112E9         ; Nukta # Mn       KHUDAWADI SIGN NUKTA
 1133C         ; Nukta # Mn       GRANTHA SIGN NUKTA
@@ -217,7 +215,8 @@ A9B3          ; Nukta # Mn       JAVANESE SIGN CECAK TELU
 # and consonant stackers. Separate property values exist for characters
 # that can only act as pure killers or only as consonant stackers.
 
-# [Derivation: (ccc=9) - (InSC=Pure_Killer) - (InSC=Invisible_Stacker) - 2D7F - 1107F]
+# [Derivation: (ccc=9) - (InSC=Pure_Killer) - (InSC=Invisible_Stacker)
+#  - (InSC=Number_Joiner) - 2D7F]
 
 094D          ; Virama # Mn       DEVANAGARI SIGN VIRAMA
 09CD          ; Virama # Mn       BENGALI SIGN VIRAMA
@@ -265,6 +264,7 @@ A953          ; Pure_Killer # Mc       REJANG VIRAMA
 ABED          ; Pure_Killer # Mn       MEETEI MAYEK APUN IYEK
 11134         ; Pure_Killer # Mn       CHAKMA MAAYYAA
 112EA         ; Pure_Killer # Mn       KHUDAWADI SIGN VIRAMA
+1172B         ; Pure_Killer # Mn       AHOM SIGN KILLER
 
 # ================================================
 
@@ -322,7 +322,7 @@ AAF6          ; Invisible_Stacker # Mn       MEETEI MAYEK VIRAMA
 0D05..0D0C    ; Vowel_Independent # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
 0D0E..0D10    ; Vowel_Independent # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
 0D12..0D14    ; Vowel_Independent # Lo   [3] MALAYALAM LETTER O..MALAYALAM LETTER AU
-0D60..0D61    ; Vowel_Independent # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; Vowel_Independent # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D85..0D96    ; Vowel_Independent # Lo  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
 1021..102A    ; Vowel_Independent # Lo  [10] MYANMAR LETTER A..MYANMAR LETTER AU
 1052..1055    ; Vowel_Independent # Lo   [4] MYANMAR LETTER VOCALIC R..MYANMAR LETTER VOCALIC LL
@@ -349,6 +349,7 @@ ABD1          ; Vowel_Independent # Lo       MEETEI MAYEK LETTER ATIYA
 11103..11106  ; Vowel_Independent # Lo   [4] CHAKMA LETTER AA..CHAKMA LETTER E
 11183..11190  ; Vowel_Independent # Lo  [14] SHARADA LETTER A..SHARADA LETTER AU
 11200..11207  ; Vowel_Independent # Lo   [8] KHOJKI LETTER A..KHOJKI LETTER AU
+11280..11283  ; Vowel_Independent # Lo   [4] MULTANI LETTER A..MULTANI LETTER E
 112B0..112B9  ; Vowel_Independent # Lo  [10] KHUDAWADI LETTER A..KHUDAWADI LETTER AU
 11305..1130C  ; Vowel_Independent # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; Vowel_Independent # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -356,6 +357,7 @@ ABD1          ; Vowel_Independent # Lo       MEETEI MAYEK LETTER ATIYA
 11360..11361  ; Vowel_Independent # Lo   [2] GRANTHA LETTER VOCALIC RR..GRANTHA LETTER VOCALIC LL
 11481..1148E  ; Vowel_Independent # Lo  [14] TIRHUTA LETTER A..TIRHUTA LETTER AU
 11580..1158D  ; Vowel_Independent # Lo  [14] SIDDHAM LETTER A..SIDDHAM LETTER AU
+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
 
@@ -471,7 +473,8 @@ ABD1          ; Vowel_Independent # Lo       MEETEI MAYEK LETTER ATIYA
 1920..1922    ; Vowel_Dependent # Mn   [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
 1923..1926    ; Vowel_Dependent # Mc   [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
 1927..1928    ; Vowel_Dependent # Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-19B0..19C0    ; Vowel_Dependent # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
+193A          ; Vowel_Dependent # Mn       LIMBU SIGN KEMPHRENG
+19B0..19C0    ; Vowel_Dependent # Lo  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
 1A17..1A18    ; Vowel_Dependent # Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
 1A19..1A1A    ; Vowel_Dependent # Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
 1A1B          ; Vowel_Dependent # Mn       BUGINESE VOWEL SIGN AE
@@ -508,6 +511,7 @@ A9B4..A9B5    ; Vowel_Dependent # Mc   [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE
 A9B6..A9B9    ; Vowel_Dependent # Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
 A9BA..A9BB    ; Vowel_Dependent # Mc   [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
 A9BC          ; Vowel_Dependent # Mn       JAVANESE VOWEL SIGN PEPET
+A9E5          ; Vowel_Dependent # Mn       MYANMAR SIGN SHAN SAW
 AA29..AA2E    ; Vowel_Dependent # Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
 AA2F..AA30    ; Vowel_Dependent # Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
 AA31..AA32    ; Vowel_Dependent # Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
@@ -528,7 +532,7 @@ ABE8          ; Vowel_Dependent # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABE9..ABEA    ; Vowel_Dependent # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
 10A01..10A03  ; Vowel_Dependent # Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
 10A05..10A06  ; Vowel_Dependent # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C         ; Vowel_Dependent # Mn       KHAROSHTHI VOWEL LENGTH MARK
+10A0C..10A0D  ; Vowel_Dependent # Mn   [2] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN DOUBLE RING BELOW
 11038..11045  ; Vowel_Dependent # Mn  [14] BRAHMI VOWEL SIGN AA..BRAHMI VOWEL SIGN AU
 110B0..110B2  ; Vowel_Dependent # Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
 110B3..110B6  ; Vowel_Dependent # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
@@ -539,6 +543,7 @@ ABE9..ABEA    ; Vowel_Dependent # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEET
 111B3..111B5  ; Vowel_Dependent # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
 111B6..111BE  ; Vowel_Dependent # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF         ; Vowel_Dependent # Mc       SHARADA VOWEL SIGN AU
+111CB..111CC  ; Vowel_Dependent # Mn   [2] SHARADA VOWEL MODIFIER MARK..SHARADA EXTRA SHORT VOWEL MARK
 1122C..1122E  ; Vowel_Dependent # Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
 1122F..11231  ; Vowel_Dependent # Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11232..11233  ; Vowel_Dependent # Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
@@ -559,12 +564,18 @@ ABE9..ABEA    ; Vowel_Dependent # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEET
 115AF..115B1  ; Vowel_Dependent # Mc   [3] SIDDHAM VOWEL SIGN AA..SIDDHAM VOWEL SIGN II
 115B2..115B5  ; Vowel_Dependent # Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
 115B8..115BB  ; Vowel_Dependent # Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
+115DC..115DD  ; Vowel_Dependent # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11630..11632  ; Vowel_Dependent # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; Vowel_Dependent # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163B..1163C  ; Vowel_Dependent # Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
+11640         ; Vowel_Dependent # Mn       MODI SIGN ARDHACANDRA
 116AD         ; Vowel_Dependent # Mn       TAKRI VOWEL SIGN AA
 116AE..116AF  ; Vowel_Dependent # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
 116B0..116B5  ; Vowel_Dependent # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+11720..11721  ; Vowel_Dependent # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+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
 
 # ================================================
 
@@ -599,7 +610,7 @@ A926..A92A    ; Vowel # Mn   [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O
 0A72..0A73    ; Consonant_Placeholder # Lo   [2] GURMUKHI IRI..GURMUKHI URA
 104E          ; Consonant_Placeholder # Po       MYANMAR SYMBOL AFOREMENTIONED
 1900          ; Consonant_Placeholder # Lo       LIMBU VOWEL-CARRIER LETTER
-2012..2014    ; Consonant_Placeholder # Pd   [3] FIGURE DASH..EM DASH
+2010..2014    ; Consonant_Placeholder # Pd   [5] HYPHEN..EM DASH
 25CC          ; Consonant_Placeholder # So       DOTTED CIRCLE
 
 # ================================================
@@ -631,6 +642,7 @@ A926..A92A    ; Vowel # Mn   [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O
 0AAA..0AB0    ; Consonant # Lo   [7] GUJARATI LETTER PA..GUJARATI LETTER RA
 0AB2..0AB3    ; Consonant # Lo   [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
 0AB5..0AB9    ; Consonant # Lo   [5] GUJARATI LETTER VA..GUJARATI LETTER HA
+0AF9          ; Consonant # Lo       GUJARATI LETTER ZHA
 0B15..0B28    ; Consonant # Lo  [20] ORIYA LETTER KA..ORIYA LETTER NA
 0B2A..0B30    ; Consonant # Lo   [7] ORIYA LETTER PA..ORIYA LETTER RA
 0B32..0B33    ; Consonant # Lo   [2] ORIYA LETTER LA..ORIYA LETTER LLA
@@ -647,7 +659,7 @@ A926..A92A    ; Vowel # Mn   [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O
 0BAE..0BB9    ; Consonant # Lo  [12] TAMIL LETTER MA..TAMIL LETTER HA
 0C15..0C28    ; Consonant # Lo  [20] TELUGU LETTER KA..TELUGU LETTER NA
 0C2A..0C39    ; Consonant # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
-0C58..0C59    ; Consonant # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; Consonant # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C95..0CA8    ; Consonant # Lo  [20] KANNADA LETTER KA..KANNADA LETTER NA
 0CAA..0CB3    ; Consonant # Lo  [10] KANNADA LETTER PA..KANNADA LETTER LLA
 0CB5..0CB9    ; Consonant # Lo   [5] KANNADA LETTER VA..KANNADA LETTER HA
@@ -738,6 +750,11 @@ ABD2..ABDA    ; Consonant # Lo   [9] MEETEI MAYEK LETTER GOK..MEETEI MAYEK LETTE
 11191..111B2  ; Consonant # Lo  [34] SHARADA LETTER KA..SHARADA LETTER HA
 11208..11211  ; Consonant # Lo  [10] KHOJKI LETTER KA..KHOJKI LETTER JJA
 11213..1122B  ; Consonant # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
+11284..11286  ; Consonant # Lo   [3] MULTANI LETTER KA..MULTANI LETTER GA
+11288         ; Consonant # Lo       MULTANI LETTER GHA
+1128A..1128D  ; Consonant # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; Consonant # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; Consonant # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112BA..112DE  ; Consonant # Lo  [37] KHUDAWADI LETTER KA..KHUDAWADI LETTER HA
 11315..11328  ; Consonant # Lo  [20] GRANTHA LETTER KA..GRANTHA LETTER NA
 1132A..11330  ; Consonant # Lo   [7] GRANTHA LETTER PA..GRANTHA LETTER RA
@@ -747,6 +764,7 @@ ABD2..ABDA    ; Consonant # Lo   [9] MEETEI MAYEK LETTER GOK..MEETEI MAYEK LETTE
 1158E..115AE  ; Consonant # Lo  [33] SIDDHAM LETTER KA..SIDDHAM LETTER HA
 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
 
 # ================================================
 
@@ -761,6 +779,28 @@ ABD2..ABDA    ; Consonant # Lo   [9] MEETEI MAYEK LETTER GOK..MEETEI MAYEK LETTE
 
 # ================================================
 
+# Indic_Syllabic_Category=Consonant_With_Stacker
+
+# Consonants that may make stacked ligatures with the next consonant
+# without the use of a virama
+
+# [Not derivable]
+
+0CF1..0CF2    ; Consonant_With_Stacker # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
+11003..11004  ; Consonant_With_Stacker # Lo   [2] BRAHMI SIGN JIHVAMULIYA..BRAHMI SIGN UPADHMANIYA
+
+# ================================================
+
+# Indic_Syllabic_Category=Consonant_Prefixed
+
+# Cluster-intial consonants
+
+# [Not derivable]
+
+111C2..111C3  ; Consonant_Prefixed # Lo   [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
+
+# ================================================
+
 # Indic_Syllabic_Category=Consonant_Preceding_Repha
 
 # Repha Form of RA (reanalyzed in some scripts), when preceding the main consonant
@@ -821,6 +861,7 @@ A9BD          ; Consonant_Subjoined # Mc       JAVANESE CONSONANT SIGN KERET
 A9BE..A9BF    ; Consonant_Medial # Mc   [2] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE CONSONANT SIGN CAKRA
 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
 
 # ================================================
 
@@ -832,6 +873,7 @@ AA35..AA36    ; Consonant_Medial # Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONA
 
 1930..1931    ; Consonant_Final # Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
 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
@@ -890,7 +932,6 @@ AAC2          ; Tone_Letter # Lo       TAI VIET TONE MAI SONG
 
 # [Not derivable]
 
-0951..0952    ; Tone_Mark # Mn   [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA
 0E48..0E4B    ; Tone_Mark # Mn   [4] THAI CHARACTER MAI EK..THAI CHARACTER MAI CHATTAWA
 0EC8..0ECB    ; Tone_Mark # Mn   [4] LAO TONE MAI EK..LAO TONE MAI CATAWA
 1037          ; Tone_Mark # Mn       MYANMAR SIGN DOT BELOW
@@ -900,12 +941,8 @@ AAC2          ; Tone_Letter # Lo       TAI VIET TONE MAI SONG
 108D          ; Tone_Mark # Mn       MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
 108F          ; Tone_Mark # Mc       MYANMAR SIGN RUMAI PALAUNG TONE-5
 109A..109B    ; Tone_Mark # Mc   [2] MYANMAR SIGN KHAMTI TONE-1..MYANMAR SIGN KHAMTI TONE-3
-19C8..19C9    ; Tone_Mark # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19C8..19C9    ; Tone_Mark # Lo   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
 1A75..1A79    ; Tone_Mark # Mn   [5] TAI THAM SIGN TONE-1..TAI THAM SIGN KHUEN TONE-5
-1CD0..1CD2    ; Tone_Mark # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0    ; Tone_Mark # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1          ; Tone_Mark # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CF4          ; Tone_Mark # Mn       VEDIC TONE CANDRA ABOVE
 A92B..A92D    ; Tone_Mark # Mn   [3] KAYAH LI TONE PLOPHU..KAYAH LI TONE CALYA PLOPHU
 AA7B          ; Tone_Mark # Mc       MYANMAR SIGN PAO KAREN TONE
 AA7C          ; Tone_Mark # Mn       MYANMAR SIGN TAI LAING TONE-2
@@ -933,6 +970,12 @@ ABEC          ; Tone_Mark # Mc       MEETEI MAYEK LUM IYEK
 
 # [Not derivable]
 
+0951..0952    ; Cantillation_Mark # Mn   [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA
+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
+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
 11366..1136C  ; Cantillation_Mark # Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
 11370..11374  ; Cantillation_Mark # Mn   [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
@@ -945,7 +988,42 @@ A8E0..A8F1    ; Cantillation_Mark # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..CO
 
 # [Not derivable]
 
-17C9..17CB    ; Register_Shifter # Mn   [3] KHMER SIGN MUUSIKATOAN..KHMER SIGN BANTOC
+17C9..17CA    ; Register_Shifter # Mn   [2] KHMER SIGN MUUSIKATOAN..KHMER SIGN TRIISAP
+
+# ================================================
+
+# Indic_Syllabic_Category=Syllable_Modifier
+
+# Syllable Modifier (miscellaneous combining characters that modify
+# something in the orthographic syllable they succeed)
+
+# [Not derivable]
+
+00B2..00B3    ; Syllable_Modifier # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
+0F35          ; Syllable_Modifier # Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
+0F37          ; Syllable_Modifier # Mn       TIBETAN MARK NGAS BZUNG SGOR RTAGS
+0FC6          ; Syllable_Modifier # Mn       TIBETAN SYMBOL PADMA GDAN
+17CB          ; Syllable_Modifier # Mn       KHMER SIGN BANTOC
+17CE..17D0    ; Syllable_Modifier # Mn   [3] KHMER SIGN KAKABAT..KHMER SIGN SAMYOK SANNYA
+17D3          ; Syllable_Modifier # Mn       KHMER SIGN BATHAMASAT
+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
+1A7F          ; Syllable_Modifier # Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
+1C36          ; Syllable_Modifier # Mn       LEPCHA SIGN RAN
+2074          ; Syllable_Modifier # No       SUPERSCRIPT FOUR
+2082..2084    ; Syllable_Modifier # No   [3] SUBSCRIPT TWO..SUBSCRIPT FOUR
+
+# ================================================
+
+# Indic_Syllabic_Category=Consonant_Killer
+
+# Consonant Killer (signifies that the previous consonant or consonants are
+# not pronounced)
+
+# [Not derivable]
+
+0E4C          ; Consonant_Killer # Mn       THAI CHARACTER THANTHAKHAT
+17CD          ; Consonant_Killer # Mn       KHMER SIGN TOANDAKHIAT
 
 # ================================================
 
@@ -981,7 +1059,7 @@ A8E0..A8F1    ; Cantillation_Mark # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..CO
 
 # Indic_Syllabic_Category=Number
 
-# Number (can be used a vowel-holders like consonant placeholders)
+# Number (can be used as vowel-holders like consonant placeholders)
 
 # [Not derivable]
 
@@ -1025,15 +1103,16 @@ ABF0..ABF9    ; Number # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NI
 114D0..114D9  ; Number # Nd  [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE
 11650..11659  ; Number # Nd  [10] MODI DIGIT ZERO..MODI DIGIT NINE
 116C0..116C9  ; Number # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11730..11739  ; Number # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
+1173A..1173B  ; Number # No   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
 
 # ================================================
 
 # Indic_Syllabic_Category=Brahmi_Joining_Number
 
-# Brahmi Joining Number
-# Similar to Numbers, can be used as vowel-holders like consonant placeholders,
-# but may also be joined by a Number_Joiner of the same script (e.g. in
-# Brahmi)
+# Brahmi Joining Number (similar to Number in that in can be used as
+# vowel-holders like Consonant_Placeholder, but may also be joined by
+# a Number_Joiner of the same script, e.g. in Brahmi)
 
 # [Not derivable]
 
index 1610124..8f7c593 100644 (file)
@@ -1,14 +1,14 @@
-# Jamo-7.0.0.txt
-# Date: 2014-01-23, 00:00:00 GMT [KW, LI]
+# Jamo-8.0.0.txt
+# Date: 2015-01-20, 01:30:00 GMT [KW, LI]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
 # This file defines the Jamo_Short_Name property.
 #
-# See Section 3.12 of The Unicode Standard, Version 7.0
+# See Section 3.12 of The Unicode Standard, Version 8.0
 # for more information.
 #
 # Each line contains two fields, separated by a semicolon.
index e496c5f..b627f87 100644 (file)
@@ -1,5 +1,5 @@
-# LineBreak-7.0.0.txt
-# Date: 2014-02-28, 23:15:00 GMT [KW, LI]
+# LineBreak-8.0.0.txt
+# Date: 2015-02-13, 09:15:00 GMT [KW, LI]
 #
 # Line_Break Property
 #
@@ -7,7 +7,7 @@
 # Unicode Character Database.
 # It contains both normative and informative data.
 #
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # The format is two fields separated by a semicolon.
@@ -30,6 +30,7 @@
 #     CJK Unified Ideographs Extension B:      U+20000..U+2A6DF
 #     CJK Unified Ideographs Extension C:      U+2A700..U+2B73F
 #     CJK Unified Ideographs Extension D:      U+2B740..U+2B81F
+#     CJK Unified Ideographs Extension E:      U+2B820..U+2CEAF
 #     CJK Compatibility Ideographs Supplement: U+2F800..U+2FA1F
 #     and any other reserved code points on
 #         Planes 2 and 3:                      U+20000..U+2FFFD
 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
-08A0..08B2;AL     # Lo    [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
-08E4..08FF;CM     # Mn    [28] ARABIC CURLY FATHA..ARABIC MARK SIDEWAYS NOON GHUNNA
+08A0..08B4;AL     # Lo    [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08E3..08FF;CM     # Mn    [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA
 0900..0902;CM     # Mn     [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903;CM           # Mc         DEVANAGARI SIGN VISARGA
 0904..0939;AL     # Lo    [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 0AE6..0AEF;NU     # Nd    [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
 0AF0;AL           # Po         GUJARATI ABBREVIATION SIGN
 0AF1;PR           # Sc         GUJARATI RUPEE SIGN
+0AF9;AL           # Lo         GUJARATI LETTER ZHA
 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
 0C46..0C48;CM     # Mn     [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
 0C4A..0C4D;CM     # Mn     [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
 0C55..0C56;CM     # Mn     [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59;AL     # Lo     [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A;AL     # Lo     [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61;AL     # Lo     [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63;CM     # Mn     [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C66..0C6F;NU     # Nd    [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
 0D4D;CM           # Mn         MALAYALAM SIGN VIRAMA
 0D4E;AL           # Lo         MALAYALAM LETTER DOT REPH
 0D57;CM           # Mc         MALAYALAM AU LENGTH MARK
-0D60..0D61;AL     # Lo     [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61;AL     # Lo     [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D62..0D63;CM     # Mn     [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
 0D66..0D6F;NU     # Nd    [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
 0D70..0D75;AL     # No     [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
 1369..137C;AL     # No    [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F;AL     # Lo    [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399;AL     # So    [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4;AL     # Lo    [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5;AL     # Lu    [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD;AL     # Ll     [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1400;BA           # Pd         CANADIAN SYLLABICS HYPHEN
 1401..166C;AL     # Lo   [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166D..166E;AL     # Po     [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
 1950..196D;SA     # Lo    [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974;SA     # Lo     [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB;SA     # Lo    [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0;SA     # Mc    [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7;SA     # Lo     [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9;SA     # Mc     [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9;SA     # Lo    [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19D0..19D9;NU     # Nd    [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
 19DA;SA           # No         NEW TAI LUE THAM DIGIT ONE
 19DE..19DF;SA     # So     [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
 20B7..20BA;PR     # Sc     [4] SPESMILO SIGN..TURKISH LIRA SIGN
 20BB;PO           # Sc         NORDIC MARK SIGN
 20BC..20BD;PR     # Sc     [2] MANAT SIGN..RUBLE SIGN
-20BE..20CF;PR     # Cn    [18] <reserved-20BE>..<reserved-20CF>
+20BE;PO           # Sc         LARI SIGN
+20BF..20CF;PR     # Cn    [17] <reserved-20BF>..<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
 2183..2184;AL     # L&     [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
 2185..2188;AL     # Nl     [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
 2189;AI           # No         VULGAR FRACTION ZERO THIRDS
+218A..218B;AL     # So     [2] TURNED DIGIT TWO..TURNED DIGIT THREE
 2190..2194;AI     # Sm     [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
 2195..2199;AI     # So     [5] UP DOWN ARROW..SOUTH WEST ARROW
 219A..219B;AL     # Sm     [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
 22A5;AI           # Sm         UP TACK
 22A6..22BE;AL     # Sm    [25] ASSERTION..RIGHT ANGLE WITH ARC
 22BF;AI           # Sm         RIGHT TRIANGLE
-22C0..22FF;AL     # Sm    [64] N-ARY LOGICAL AND..Z NOTATION BAG MEMBERSHIP
+22C0..22EE;AL     # Sm    [47] N-ARY LOGICAL AND..VERTICAL ELLIPSIS
+22EF;IN           # Sm         MIDLINE HORIZONTAL ELLIPSIS
+22F0..22FF;AL     # Sm    [16] UP RIGHT DIAGONAL ELLIPSIS..Z NOTATION BAG MEMBERSHIP
 2300..2307;AL     # So     [8] DIAMETER SIGN..WAVY LINE
 2308;OP           # Ps         LEFT CEILING
 2309;CL           # Pe         RIGHT CEILING
 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
+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
 2C60..2C7B;AL     # L&    [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
 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..9FCC;ID     # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
-9FCD..9FFF;ID     # Cn    [51] <reserved-9FCD>..<reserved-9FFF>
+4E00..9FD5;ID     # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+9FD6..9FFF;ID     # Cn    [42] <reserved-9FD6>..<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
@@ -1497,7 +1503,7 @@ A67E;AL           # Po         CYRILLIC KAVYKA
 A67F;AL           # Lm         CYRILLIC PAYEROK
 A680..A69B;AL     # L&    [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O
 A69C..A69D;AL     # Lm     [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN
-A69F;CM           # Mn         COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F;CM     # Mn     [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6A0..A6E5;AL     # Lo    [70] BAMUM LETTER A..BAMUM LETTER KI
 A6E6..A6EF;AL     # Nl    [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
 A6F0..A6F1;CM     # Mn     [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
@@ -1512,8 +1518,9 @@ A771..A787;AL     # L&    [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULA
 A788;AL           # Lm         MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A;AL     # Sk     [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E;AL     # L&     [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F;AL           # Lo         LATIN LETTER SINOLOGICAL DOT
 A790..A7AD;AL     # L&    [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1;AL     # Lu     [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7;AL     # L&     [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7;AL           # Lo         LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9;AL     # Lm     [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA;AL           # Ll         LATIN LETTER SMALL CAPITAL TURNED M
@@ -1546,6 +1553,8 @@ A8E0..A8F1;CM     # Mn    [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANA
 A8F2..A8F7;AL     # Lo     [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8F8..A8FA;AL     # Po     [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
 A8FB;AL           # Lo         DEVANAGARI HEADSTROKE
+A8FC;BB           # Po         DEVANAGARI SIGN SIDDHAM
+A8FD;AL           # Lo         DEVANAGARI JAIN OM
 A900..A909;NU     # Nd    [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
 A90A..A925;AL     # Lo    [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A926..A92D;CM     # Mn     [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
@@ -1630,7 +1639,8 @@ AB28..AB2E;AL     # Lo     [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A;AL     # Ll    [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5B;AL           # Sk         MODIFIER BREVE WITH INVERTED BREVE
 AB5C..AB5F;AL     # Lm     [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65;AL     # Ll     [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65;AL     # Ll     [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF;AL     # Ll    [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2;AL     # Lo    [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4;CM     # Mc     [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5;CM           # Mn         MEETEI MAYEK VOWEL SIGN ANAP
@@ -2479,7 +2489,7 @@ FE15..FE16;EX     # Po     [2] PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK..
 FE17;OP           # Ps         PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
 FE18;CL           # Pe         PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
 FE19;IN           # Po         PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE20..FE2D;CM     # Mn    [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F;CM     # Mn    [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FE30;ID           # Po         PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
 FE31..FE32;ID     # Pd     [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
 FE33..FE34;ID     # Pc     [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
@@ -2647,6 +2657,9 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 10879..1087F;AL   # No     [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY
 10880..1089E;AL   # Lo    [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
 108A7..108AF;AL   # No     [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
+108E0..108F2;AL   # Lo    [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5;AL   # Lo     [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108FB..108FF;AL   # No     [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
 10900..10915;AL   # Lo    [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10916..1091B;AL   # No     [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
 1091F;BA          # Po         PHOENICIAN WORD SEPARATOR
@@ -2654,7 +2667,10 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 1093F;AL          # Po         LYDIAN TRIANGULAR MARK
 10980..1099F;AL   # Lo    [32] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
 109A0..109B7;AL   # Lo    [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA
+109BC..109BD;AL   # No     [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
 109BE..109BF;AL   # Lo     [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+109C0..109CF;AL   # No    [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF;AL   # No    [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 10A00;AL          # Lo         KHAROSHTHI LETTER A
 10A01..10A03;CM   # Mn     [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
 10A05..10A06;CM   # Mn     [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
@@ -2689,6 +2705,9 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 10B99..10B9C;AL   # Po     [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT
 10BA9..10BAF;AL   # No     [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
 10C00..10C48;AL   # Lo    [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2;AL   # Lu    [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2;AL   # Ll    [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CFA..10CFF;AL   # No     [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
 10E60..10E7E;AL   # No    [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
 11000;CM          # Mc         BRAHMI SIGN CANDRABINDU
 11001;CM          # Mn         BRAHMI SIGN ANUSVARA
@@ -2734,9 +2753,14 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 111C5..111C6;BA   # Po     [2] SHARADA DANDA..SHARADA DOUBLE DANDA
 111C7;AL          # Po         SHARADA ABBREVIATION SIGN
 111C8;BA          # Po         SHARADA SEPARATOR
+111C9;AL          # Po         SHARADA SANDHI MARK
+111CA..111CC;CM   # Mn     [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 111CD;AL          # Po         SHARADA SUTRA MARK
 111D0..111D9;NU   # Nd    [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
 111DA;AL          # Lo         SHARADA EKAM
+111DB;BB          # Po         SHARADA SIGN SIDDHAM
+111DC;AL          # Lo         SHARADA HEADSTROKE
+111DD..111DF;BA   # Po     [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
 111E1..111F4;AL   # No    [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
 11200..11211;AL   # Lo    [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B;AL   # Lo    [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
@@ -2750,12 +2774,18 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 1123A;AL          # Po         KHOJKI WORD SEPARATOR
 1123B..1123C;BA   # Po     [2] KHOJKI SECTION MARK..KHOJKI DOUBLE SECTION MARK
 1123D;AL          # Po         KHOJKI ABBREVIATION SIGN
+11280..11286;AL   # Lo     [7] MULTANI LETTER A..MULTANI LETTER GA
+11288;AL          # Lo         MULTANI LETTER GHA
+1128A..1128D;AL   # Lo     [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D;AL   # Lo    [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8;AL   # Lo    [10] MULTANI LETTER BHA..MULTANI LETTER RHA
+112A9;BA          # Po         MULTANI SECTION MARK
 112B0..112DE;AL   # Lo    [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 112DF;CM          # Mn         KHUDAWADI SIGN ANUSVARA
 112E0..112E2;CM   # Mc     [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112EA;CM   # Mn     [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
 112F0..112F9;NU   # Nd    [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE
-11301;CM          # Mn         GRANTHA SIGN CANDRABINDU
+11300..11301;CM   # Mn     [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303;CM   # Mc     [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 11305..1130C;AL   # Lo     [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310;AL   # Lo     [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -2770,6 +2800,7 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 11341..11344;CM   # Mc     [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348;CM   # Mc     [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134D;CM   # Mc     [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
+11350;AL          # Lo         GRANTHA OM
 11357;CM          # Mc         GRANTHA AU LENGTH MARK
 1135D..11361;AL   # Lo     [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363;CM   # Mc     [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
@@ -2799,7 +2830,9 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 115C2..115C3;BA   # Po     [2] SIDDHAM DANDA..SIDDHAM DOUBLE DANDA
 115C4..115C5;EX   # Po     [2] SIDDHAM SEPARATOR DOT..SIDDHAM SEPARATOR BAR
 115C6..115C8;AL   # Po     [3] SIDDHAM REPETITION MARK-1..SIDDHAM REPETITION MARK-3
-115C9;BA          # Po         SIDDHAM END OF TEXT MARK
+115C9..115D7;BA   # Po    [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+115D8..115DB;AL   # Lo     [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
+115DC..115DD;CM   # Mn     [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11600..1162F;AL   # Lo    [48] MODI LETTER A..MODI LETTER LLA
 11630..11632;CM   # Mc     [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A;CM   # Mn     [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
@@ -2820,14 +2853,25 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 116B6;CM          # Mc         TAKRI SIGN VIRAMA
 116B7;CM          # Mn         TAKRI SIGN NUKTA
 116C0..116C9;NU   # Nd    [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11700..11719;SA   # Lo    [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F;SA   # Mn     [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721;SA   # Mc     [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725;SA   # Mn     [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726;SA          # Mc         AHOM VOWEL SIGN E
+11727..1172B;SA   # Mn     [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11730..11739;NU   # Nd    [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
+1173A..1173B;SA   # No     [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
+1173C..1173E;BA   # Po     [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+1173F;SA          # So         AHOM SYMBOL VI
 118A0..118DF;AL   # L&    [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 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
 11AC0..11AF8;AL   # Lo    [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398;AL   # Lo   [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
+12480..12543;AL   # Lo   [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
 13000..13257;AL   # Lo   [600] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH O006
 13258..1325A;OP   # Lo     [3] EGYPTIAN HIEROGLYPH O006A..EGYPTIAN HIEROGLYPH O006C
 1325B..1325D;CL   # Lo     [3] EGYPTIAN HIEROGLYPH O006D..EGYPTIAN HIEROGLYPH O006F
@@ -2842,6 +2886,10 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 13379;OP          # Lo         EGYPTIAN HIEROGLYPH V011A
 1337A..1337B;CL   # Lo     [2] EGYPTIAN HIEROGLYPH V011B..EGYPTIAN HIEROGLYPH V011C
 1337C..1342E;AL   # Lo   [179] EGYPTIAN HIEROGLYPH V012..EGYPTIAN HIEROGLYPH AA032
+14400..145CD;AL   # Lo   [462] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A409
+145CE;OP          # Lo         ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK
+145CF;CL          # Lo         ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK
+145D0..14646;AL   # Lo   [119] ANATOLIAN HIEROGLYPH A411..ANATOLIAN HIEROGLYPH A530
 16800..16A38;AL   # Lo   [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E;AL   # Lo    [31] MRO LETTER TA..MRO LETTER TEK
 16A60..16A69;NU   # Nd    [10] MRO DIGIT ZERO..MRO DIGIT NINE
@@ -2888,7 +2936,7 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 1D185..1D18B;CM   # Mn     [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D18C..1D1A9;AL   # So    [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
 1D1AA..1D1AD;CM   # Mn     [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE..1D1DD;AL   # So    [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
+1D1AE..1D1E8;AL   # So    [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
 1D200..1D241;AL   # So    [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
 1D242..1D244;CM   # Mn     [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 1D245;AL          # So         GREEK MUSICAL LEIMMA
@@ -2935,6 +2983,19 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 1D7C3;AL          # Sm         MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB;AL   # L&     [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF;NU   # Nd    [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1D800..1D9FF;AL   # So   [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA00..1DA36;CM   # Mn    [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA37..1DA3A;AL   # So     [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA3B..1DA6C;CM   # Mn    [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA6D..1DA74;AL   # So     [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA75;CM          # Mn         SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA76..1DA83;AL   # So    [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA84;CM          # Mn         SIGNWRITING LOCATION HEAD NECK
+1DA85..1DA86;AL   # So     [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
+1DA87..1DA8A;BA   # Po     [4] SIGNWRITING COMMA..SIGNWRITING COLON
+1DA8B;AL          # Po         SIGNWRITING PARENTHESIS
+1DA9B..1DA9F;CM   # Mn     [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF;CM   # Mn    [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E800..1E8C4;AL   # Lo   [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
 1E8C7..1E8CF;AL   # No     [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE
 1E8D0..1E8D6;CM   # Mn     [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
@@ -2989,16 +3050,14 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 1F210..1F23A;ID   # So    [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
 1F240..1F248;ID   # So     [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250..1F251;ID   # So     [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
-1F300..1F32C;ID   # So    [45] CYCLONE..WIND BLOWING FACE
-1F330..1F37D;ID   # So    [78] CHESTNUT..FORK AND KNIFE WITH PLATE
-1F380..1F39B;ID   # So    [28] RIBBON..CONTROL KNOBS
+1F300..1F39B;ID   # So   [156] CYCLONE..CONTROL KNOBS
 1F39C..1F39D;AL   # So     [2] BEAMED ASCENDING MUSICAL NOTES..BEAMED DESCENDING MUSICAL NOTES
 1F39E..1F3B4;ID   # So    [23] FILM FRAMES..FLOWER PLAYING CARDS
 1F3B5..1F3B6;AL   # So     [2] MUSICAL NOTE..MULTIPLE MUSICAL NOTES
 1F3B7..1F3BB;ID   # So     [5] SAXOPHONE..VIOLIN
 1F3BC;AL          # So         MUSICAL SCORE
-1F3BD..1F3CE;ID   # So    [18] RUNNING SHIRT WITH SASH..RACING CAR
-1F3D4..1F3F7;ID   # So    [36] SNOW CAPPED MOUNTAIN..LABEL
+1F3BD..1F3FA;ID   # So    [62] RUNNING SHIRT WITH SASH..AMPHORA
+1F3FB..1F3FF;AL   # Sk     [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
 1F400..1F49F;ID   # So   [160] RAT..HEART DECORATION
 1F4A0;AL          # So         DIAMOND SHAPE WITH A DOT INSIDE
 1F4A1;ID          # So         ELECTRIC LIGHT BULB
@@ -3009,27 +3068,25 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 1F4AF;AL          # So         HUNDRED POINTS SYMBOL
 1F4B0;ID          # So         MONEY BAG
 1F4B1..1F4B2;AL   # So     [2] CURRENCY EXCHANGE..HEAVY DOLLAR SIGN
-1F4B3..1F4FE;ID   # So    [76] CREDIT CARD..PORTABLE STEREO
+1F4B3..1F4FF;ID   # So    [77] CREDIT CARD..PRAYER BEADS
 1F500..1F506;AL   # So     [7] TWISTED RIGHTWARDS ARROWS..HIGH BRIGHTNESS SYMBOL
 1F507..1F516;ID   # So    [16] SPEAKER WITH CANCELLATION STROKE..BOOKMARK
 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;ID          # So         DOVE OF PEACE
-1F550..1F579;ID   # So    [42] CLOCK FACE ONE OCLOCK..JOYSTICK
+1F54A..1F579;ID   # So    [48] DOVE OF PEACE..JOYSTICK
 1F57B..1F5A3;ID   # So    [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX
 1F5A5..1F5D3;ID   # So    [47] DESKTOP COMPUTER..SPIRAL CALENDAR PAD
 1F5D4..1F5DB;AL   # So     [8] DESKTOP WINDOW..DECREASE FONT SIZE SYMBOL
 1F5DC..1F5F3;ID   # So    [24] COMPRESSION..BALLOT BOX WITH BALLOT
 1F5F4..1F5F9;AL   # So     [6] BALLOT SCRIPT X..BALLOT BOX WITH BOLD CHECK
 1F5FA..1F5FF;ID   # So     [6] WORLD MAP..MOYAI
-1F600..1F642;ID   # So    [67] GRINNING FACE..SLIGHTLY SMILING FACE
-1F645..1F64F;ID   # So    [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
+1F600..1F64F;ID   # So    [80] GRINNING FACE..PERSON WITH FOLDED HANDS
 1F650..1F675;AL   # So    [38] NORTH WEST POINTING LEAF..SWASH AMPERSAND ORNAMENT
 1F676..1F678;QU   # So     [3] SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT..SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
 1F679..1F67B;NS   # So     [3] HEAVY INTERROBANG ORNAMENT..HEAVY SANS-SERIF INTERROBANG ORNAMENT
 1F67C..1F67F;AL   # So     [4] VERY HEAVY SOLIDUS..REVERSE CHECKER BOARD
-1F680..1F6CF;ID   # So    [80] ROCKET..BED
+1F680..1F6D0;ID   # So    [81] ROCKET..PLACE OF WORSHIP
 1F6E0..1F6EC;ID   # So    [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6F0..1F6F3;ID   # So     [4] SATELLITE..PASSENGER SHIP
 1F700..1F773;AL   # So   [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -3039,12 +3096,17 @@ FFFD;AI           # So         REPLACEMENT CHARACTER
 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
+1F910..1F918;ID   # So     [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984;ID   # So     [5] CRAB..UNICORN FACE
+1F9C0;ID          # So         CHEESE WEDGE
 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
 2B735..2B73F;ID   # Cn    [11] <reserved-2B735>..<reserved-2B73F>
 2B740..2B81D;ID   # Lo   [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
-2B81E..2F7FF;ID   # Cn [16354] <reserved-2B81E>..<reserved-2F7FF>
+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>
 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>
index aedf698..a59698a 100644 (file)
@@ -1,15 +1,15 @@
-# NameAliases-7.0.0.txt
-# Date: 2013-12-10, 22:01:00 GMT [KW]
+# NameAliases-8.0.0.txt
+# Date: 2014-11-19, 01:30:00 GMT [KW, LI]
 #
 # This file is a normative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 2005-2013 Unicode, Inc.
+# Copyright (c) 2005-2014 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # This file defines the formal name aliases for Unicode characters.
 #
-# For informative aliases see NamesList.txt
+# For informative aliases, see NamesList.txt
 #
 # The formal name aliases are divided into five types, each with a distinct label.
 #
@@ -33,9 +33,9 @@
 # includes the character names and the names of named character sequences.
 # The inclusion of ISO 6429 names and other commonly occurring names and
 # abbreviations for control codes and format characters as formal name aliases
-# is to help avoid name collisions between Unicode character names and the 
+# is to help avoid name collisions between Unicode character names and the
 # labels which commonly appear in text and/or in implementations such as regex, for
-# control codes (which for historical reasons have no Unicode character name) 
+# control codes (which for historical reasons have no Unicode character name)
 # or for format characters.
 #
 # For documentation, see NamesList.html and http://www.unicode.org/reports/tr44/
@@ -87,6 +87,7 @@
 
 0007;ALERT;control
 0007;BEL;abbreviation
+
 0008;BACKSPACE;control
 0008;BS;abbreviation
 0009;CHARACTER TABULATION;control
 2118;WEIERSTRASS ELLIPTIC FUNCTION;correction
 2448;MICR ON US SYMBOL;correction
 2449;MICR DASH SYMBOL;correction
+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
index 87b25cf..b1bfc2f 100644 (file)
@@ -1,12 +1,12 @@
-# NamedSequences-7.0.0.txt
-# Date: 2014-01-24, 15:00:00 GMT [KW, LI]
+# NamedSequences-8.0.0.txt
+# Date: 2015-02-19, 00:30:00 GMT [KW, LI]
 #
 # Unicode Named Character Sequences
 #
 # This file is a normative contributory data file in the Unicode
 # Character Database.
 #
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Format:
index 7b43efd..cc1d5e8 100644 (file)
@@ -1,5 +1,5 @@
-# NamedSequencesProv-7.0.0.txt
-# Date: 2014-01-24, 15:00:00 GMT [KW, LI]
+# NamedSequencesProv-8.0.0.txt
+# Date: 2015-05-11, 23:40:00 GMT [KW, LI]
 #
 # Provisional Unicode Named Character Sequences
 #
@@ -7,7 +7,7 @@
 #   sequences which have been designated to be provisional,
 #   rather than fully approved.
 #
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Format:
 
 # Provisional entries for NamedSequences.txt.
 
-# There are currently no provisional named character sequences.
+# Named keycap sequences for telephone keypad (used for emoji)
+# Added to provisional named sequences, 2015-05-05
+
+KEYCAP NUMBER SIGN;0023 20E3
+KEYCAP ASTERISK;002A 20E3
+KEYCAP DIGIT ZERO;0030 20E3
+KEYCAP DIGIT ONE;0031 20E3
+KEYCAP DIGIT TWO;0032 20E3
+KEYCAP DIGIT THREE;0033 20E3
+KEYCAP DIGIT FOUR;0034 20E3
+KEYCAP DIGIT FIVE;0035 20E3
+KEYCAP DIGIT SIX;0036 20E3
+KEYCAP DIGIT SEVEN;0037 20E3
+KEYCAP DIGIT EIGHT;0038 20E3
+KEYCAP DIGIT NINE;0039 20E3
 
 # ================================================
 
index d6894b3..2f84c23 100644 (file)
@@ -1,14 +1,14 @@
 ; charset=UTF-8
-@@@    The Unicode Standard 7.0.0
-@@@+   U70M140523.lst
-       Unicode 7.0.0 final names list.
+@@@    The Unicode Standard 8.0.0
+@@@+   U80M150527.lst
+       Unicode 8.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
        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.
-@+             Copyright (c) 1991-2014 Unicode, Inc.
+@+             Copyright (c) 1991-2015 Unicode, Inc.
        For terms of use, see http://www.unicode.org/terms_of_use.html
 @@     0000    C0 Controls and Basic Latin (Basic Latin)       007F
 @@+
 @              Control character
 007F   <control>
        = DELETE
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     0080    C1 Controls and Latin-1 Supplement (Latin-1 Supplement) 00FF
 @              C1 controls
 @+             Alias names are those for ISO/IEC 6429:1992.
        x (dollar sign - 0024)
 00A5   YEN SIGN
        = yuan sign
-       * glyph may have one or two crossbars
+       * glyph may have one or two crossbars, but official symbol in Japan and China has two
 00A6   BROKEN BAR
        = broken vertical bar (1.0)
        = parted rule (in typography)
 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
 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
        x (word separator middle dot - 2E31)
        x (raised dot - 2E33)
        x (katakana middle dot - 30FB)
+       x (latin letter sinological dot - A78F)
 00B8   CEDILLA
        * this is a spacing character
        * other spacing accent characters: 02D8-02DB
        * French, medieval Hungarian orthography
        x (latin capital letter y with diaeresis - 0178)
        : 0079 0308
+@~     !
 @@     0100    Latin Extended-A        017F
 @              European Latin
 0100   LATIN CAPITAL LETTER A WITH MACRON
        * African
        * lowercase is 025B
        x (euler constant - 2107)
+       x (turned digit three - 218B)
 0191   LATIN CAPITAL LETTER F WITH HOOK
        * African
        x (latin capital letter f with stroke - A798)
        * African
 01A6   LATIN LETTER YR
        * Old Norse
-@+             * from German Standard DIN 31624 and ISO 5426-2
+@+     * from German Standard DIN 31624 and ISO 5426-2
        * lowercase is 0280
 01A7   LATIN CAPITAL LETTER TONE TWO
 01A8   LATIN SMALL LETTER TONE TWO
        = barred i, i bar
        * high central unrounded vowel
        * uppercase is 0197
-@+             * ISO 6438 gives lowercase of 0197 as 026A, not 0268
+@+     * ISO 6438 gives lowercase of 0197 as 026A, not 0268
 0269   LATIN SMALL LETTER IOTA
        * semi-high front unrounded vowel
-@+             * obsoleted by IPA in 1989
+@+     * obsoleted by IPA in 1989
        * preferred use is 026A latin letter small capital i
        * uppercase is 0196
        x (greek small letter iota - 03B9)
        x (latin small ligature oe - 0153)
 0277   LATIN SMALL LETTER CLOSED OMEGA
        * semi-high back rounded vowel
-@+             * obsoleted by IPA in 1989
+@+     * obsoleted by IPA in 1989
        * preferred use is 028A latin small letter upsilon
        x (greek letter small capital omega - AB65)
 0278   LATIN SMALL LETTER PHI
        x (modifier letter small turned r with hook - 02B5)
 027C   LATIN SMALL LETTER R WITH LONG LEG
        * voiced strident apico-alveolar trill
-@+             * obsoleted by IPA in 1989
+@+     * obsoleted by IPA in 1989
        * sound spelled with 0159 in Czech
        * preferred phonetic representation for Czech is 0072 031D
        * in current use in Gaelic types (as glyph variant of 0072)
        * voiceless epiglottal fricative
 029D   LATIN SMALL LETTER J WITH CROSSED-TAIL
        * voiced palatal fricative
+       * uppercase is A7B2
 029E   LATIN SMALL LETTER TURNED K
        * proposed for velar click
        * uppercase is A7B0
-@+             * withdrawn by IPA in 1970
+@+     * withdrawn by IPA in 1970
 029F   LATIN LETTER SMALL CAPITAL L
        * velar lateral approximant
 02A0   LATIN SMALL LETTER Q WITH HOOK
        x (combining cyrillic kavyka - A67C)
 0307   COMBINING DOT ABOVE
        = derivative (Newtonian notation)
-@+             * IPA (withdrawn in 1976): palatalization
+@+     * IPA (withdrawn in 1976): palatalization
        x (dot above - 02D9)
 0308   COMBINING DIAERESIS
        = double dot above, umlaut
        * Marshallese
        x (quotation mark - 0022)
 030F   COMBINING DOUBLE GRAVE ACCENT
-       * Serbian and Croatian poetics
+       * Serbian and Croatian phonetics
 0310   COMBINING CANDRABINDU
        x (devanagari sign candrabindu - 0901)
 0311   COMBINING INVERTED BREVE
 03B2   GREEK SMALL LETTER BETA
        x (latin small letter sharp s - 00DF)
        x (latin small letter b with stroke - 0180)
+       x (latin small letter beta - A7B5)
 03B3   GREEK SMALL LETTER GAMMA
        x (latin small letter gamma - 0263)
        x (double-struck small gamma - 213D)
        x (latin small letter chi - AB53)
 03C8   GREEK SMALL LETTER PSI
 03C9   GREEK SMALL LETTER OMEGA
+       x (latin small letter omega - A7B7)
 03CA   GREEK SMALL LETTER IOTA WITH DIALYTIKA
        : 03B9 0308
 03CB   GREEK SMALL LETTER UPSILON WITH DIALYTIKA
 0462   CYRILLIC CAPITAL LETTER YAT
 0463   CYRILLIC SMALL LETTER YAT
        x (cyrillic small letter iotified yat - A653)
+       x (latin small letter sakha yat - AB60)
 0464   CYRILLIC CAPITAL LETTER IOTIFIED E
 0465   CYRILLIC SMALL LETTER IOTIFIED E
+       x (latin small letter iotified e - AB61)
 0466   CYRILLIC CAPITAL LETTER LITTLE YUS
 0467   CYRILLIC SMALL LETTER LITTLE YUS
        x (cyrillic small letter closed little yus - A659)
 065F   ARABIC WAVY HAMZA BELOW
        * Kashmiri
 @              Arabic-Indic digits
-@+             These digits are used with Arabic proper; for languages of Iran, Afghanistan, Pakistan, and India, see the Eastern Arabic-Indic digits at 06F0..06F9.
+@+             These digits are used with Arabic proper; for languages of Iran, Afghanistan, Pakistan, and India, see the Eastern Arabic-Indic digits at 06F0-06F9.
 0660   ARABIC-INDIC DIGIT ZERO
 0661   ARABIC-INDIC DIGIT ONE
 0662   ARABIC-INDIC DIGIT TWO
 0680   ARABIC LETTER BEHEH
        * Sindhi
 0681   ARABIC LETTER HAH WITH HAMZA ABOVE
-       * Pashto letter "dze"
+       * Pashto
+       * represents the phoneme /dz/
 0682   ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
        * not used in modern Pashto
 0683   ARABIC LETTER NYEH
        * Sindhi
 0685   ARABIC LETTER HAH WITH THREE DOTS ABOVE
        * Pashto, Khwarazmian
+       * represents the phoneme /ts/ in Pashto
 0686   ARABIC LETTER TCHEH
        * Persian, Urdu, ...
 0687   ARABIC LETTER TCHEHEH
        * Torwali, Ormuri
 076C   ARABIC LETTER REH WITH HAMZA ABOVE
        * Ormuri
+       * represents a voiced alveolo-palatal laminal fricative
+       x (latin small letter z with curl - 0291)
 076D   ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
        * Kalami, Ormuri
 @              Additions for Khowar
        = u
 0846   MANDAIC LETTER AZ
 0847   MANDAIC LETTER IT
+       = pharyngeal hu
 0848   MANDAIC LETTER ATT
 0849   MANDAIC LETTER AKSA
        = i
 @              Extended Arabic letters for African languages
 08A0   ARABIC LETTER BEH WITH SMALL V BELOW
 08A1   ARABIC LETTER BEH WITH HAMZA ABOVE
+       * Adamawa Fulfulde (Cameroon)
+       * used for the implosive bilabial stop
+       x (latin small letter b with hook - 0253)
 08A2   ARABIC LETTER JEEM WITH TWO DOTS ABOVE
 08A3   ARABIC LETTER TAH WITH TWO DOTS ABOVE
 08A4   ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
 08A6   ARABIC LETTER LAM WITH DOUBLE BAR
 08A7   ARABIC LETTER MEEM WITH THREE DOTS ABOVE
 08A8   ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
+       * Adamawa Fulfulde
+       * used for the implosive palatal approximant, realized as pharyngealization of the approximant
+       x (latin small letter y with hook - 01B4)
 08A9   ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
+       * Adamawa Fulfulde
+       * used for the voiced palatal nasal
+       x (latin small letter n with left hook - 0272)
 @              Dependent consonants for Rohingya
 08AA   ARABIC LETTER REH WITH LOOP
        = bottya-reh
        * Tatar
 @              Arabic letter for Berber
 08B2   ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+@              Arabic letters for Arwi
+08B3   ARABIC LETTER AIN WITH THREE DOTS BELOW
+08B4   ARABIC LETTER KAF WITH DOT BELOW
+@              Extended vowel sign for Arwi
+08E3   ARABIC TURNED DAMMA BELOW
 @              Extended vowel signs for Rohingya
 08E4   ARABIC CURLY FATHA
 08E5   ARABIC CURLY DAMMA
 0978   DEVANAGARI LETTER MARWARI DDA
 0979   DEVANAGARI LETTER ZHA
        * used in transliteration of Avestan
+       x (gujarati letter zha - 0AF9)
 097A   DEVANAGARI LETTER HEAVY YA
        * used for an affricated glide JJYA
 @              Sindhi implosives
 09E2   BENGALI VOWEL SIGN VOCALIC L
 09E3   BENGALI VOWEL SIGN VOCALIC LL
 @              Reserved
-@+             For viram punctuation, use the generic Indic 0964 and 0965.
+@+             For viram punctuation, use the generic Indic 0964 and 0965. Note that these punctuation marks are referred to as dahri and double dahri in Bangla.
 09E4   <reserved>
        x (devanagari danda - 0964)
 09E5   <reserved>
 @              Currency sign
 0AF1   GUJARATI RUPEE SIGN
        * preferred spelling is 0AB0 0AC2 0AF0
+@              Additional consonant
+0AF9   GUJARATI LETTER ZHA
+       * used in transliteration of Avestan
+       x (devanagari letter zha - 0979)
 @@     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
 @              Consonants
 0B95   TAMIL LETTER KA
 0B99   TAMIL LETTER NGA
+       * also denotes the measure kuruni/marakkaal
 0B9A   TAMIL LETTER CA
 0B9C   TAMIL LETTER JA
 0B9E   TAMIL LETTER NYA
 0B9F   TAMIL LETTER TTA
 0BA3   TAMIL LETTER NNA
 0BA4   TAMIL LETTER TA
+       * also denotes the measure tuuni
 0BA8   TAMIL LETTER NA
 0BA9   TAMIL LETTER NNNA
 0BAA   TAMIL LETTER PA
+       = maa
+       * also denotes the fraction one twentieth
 0BAE   TAMIL LETTER MA
 0BAF   TAMIL LETTER YA
 0BB0   TAMIL LETTER RA
 0BB1   TAMIL LETTER RRA
 0BB2   TAMIL LETTER LA
 0BB3   TAMIL LETTER LLA
+       * also denotes the measure kalam
 0BB4   TAMIL LETTER LLLA
 0BB5   TAMIL LETTER VA
+       = kaal
+       * also denotes the fraction one quarter
 0BB6   TAMIL LETTER SHA
 0BB7   TAMIL LETTER SSA
 0BB8   TAMIL LETTER SA
 0BF0   TAMIL NUMBER TEN
 0BF1   TAMIL NUMBER ONE HUNDRED
 0BF2   TAMIL NUMBER ONE THOUSAND
-@              Tamil symbols
+@              Tamil calendrical symbols
 0BF3   TAMIL DAY SIGN
-       = naal
+       = naal, naali/padi
+       * denotes a measure of grain that equals 2 uri or 4 ulakku
+       = pillaiyaar suli
+       * denotes auspiciousness
 0BF4   TAMIL MONTH SIGN
        = maatham
 0BF5   TAMIL YEAR SIGN
        = varudam
+@              Tamil clerical symbols
 0BF6   TAMIL DEBIT SIGN
        = patru
 0BF7   TAMIL CREDIT SIGN
-       = varavu
+       = eduppu
+       * denotes incoming cash which is set aside for unknown expenses
+       * sometimes used as the credit sign; the traditional credit sign is distinct
 0BF8   TAMIL AS ABOVE SIGN
        = merpadi
 @              Currency symbol
        = rupai
 @              Tamil symbol
 0BFA   TAMIL NUMBER SIGN
-       = enn
+       = enn, niluvai
+       * denotes balance
+       * sometimes used as the number sign; the traditional number sign is distinct
 @@     0C00    Telugu  0C7F
 @              Various signs
 0C00   TELUGU SIGN COMBINING CANDRABINDU ABOVE
 @              Historic phonetic variants
 0C58   TELUGU LETTER TSA
 0C59   TELUGU LETTER DZA
+0C5A   TELUGU LETTER RRRA
+       * letter for an alveolar consonant whose exact phonetic value is not known
 @              Additional vowels for Sanskrit
 0C60   TELUGU LETTER VOCALIC RR
 0C61   TELUGU LETTER VOCALIC LL
 0D2C   MALAYALAM LETTER BA
 0D2D   MALAYALAM LETTER BHA
 0D2E   MALAYALAM LETTER MA
+       * also used to denote the fraction one eightieth (kaani)
 0D2F   MALAYALAM LETTER YA
 0D30   MALAYALAM LETTER RA
 0D31   MALAYALAM LETTER RRA
 0D57   MALAYALAM AU LENGTH MARK
        * used alone to write the /au/ dependent vowel in modern texts
        x (malayalam vowel sign au - 0D4C)
+@              Additional historic vowel
+0D5F   MALAYALAM LETTER ARCHAIC II
 @              Additional vowels for Sanskrit
 0D60   MALAYALAM LETTER VOCALIC RR
 0D61   MALAYALAM LETTER VOCALIC LL
 0D72   MALAYALAM NUMBER ONE THOUSAND
 @              Fractions
 0D73   MALAYALAM FRACTION ONE QUARTER
+       = kaal
 0D74   MALAYALAM FRACTION ONE HALF
+       = ara
 0D75   MALAYALAM FRACTION THREE QUARTERS
+       = mukkaal
 @              Date mark
 0D79   MALAYALAM DATE MARK
 @              Chillu letters
 0DDF   SINHALA VOWEL SIGN GAYANUKITTA
        = sinhala vowel sign vocalic l
 @              Astrological digits
-@+     These digits, also known as Sinhala Lith Illakkam, have been used primarily for writing horoscopes. This number system has a zero place holder concept, unlike the Sinhala archaic numbers, Sinhala Illakkam, encoded in the range 111E1-111F4.
+@+             These digits, also known as Sinhala Lith Illakkam, have been used primarily for writing horoscopes. This number system has a zero place holder concept, unlike the Sinhala archaic numbers, Sinhala Illakkam, encoded in the range 111E1-111F4.
 0DE6   SINHALA LITH DIGIT ZERO
 0DE7   SINHALA LITH DIGIT ONE
 0DE8   SINHALA LITH DIGIT TWO
 @              Signs
 0E4C   THAI CHARACTER THANTHAKHAT
        * cancellation mark
+       x (khmer sign toandakhiat - 17CD)
 0E4D   THAI CHARACTER NIKHAHIT
        = nikkhahit
        * final nasal
 113C   HANGUL CHOSEONG CHITUEUMSIOS
        * voiceless lenis dental fricative
 113D   HANGUL CHOSEONG CHITUEUMSSANGSIOS
-       * voicless fortis dental fricative
+       * voiceless fortis dental fricative
 113E   HANGUL CHOSEONG CEONGCHIEUMSIOS
        * voiceless lenis retroflex fricative
 113F   HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
 1398   ETHIOPIC TONAL MARK DERET-HIDET
 1399   ETHIOPIC TONAL MARK KURT
 @@     13A0    Cherokee        13FF
-@              Syllables
+@+             Most lowercase Cherokee syllables are encoded in the Cherokee Supplement block at AB70..ABBF.
+@              Uppercase syllables
 13A0   CHEROKEE LETTER A
 13A1   CHEROKEE LETTER E
 13A2   CHEROKEE LETTER I
 13F2   CHEROKEE LETTER YO
 13F3   CHEROKEE LETTER YU
 13F4   CHEROKEE LETTER YV
+@              Archaic uppercase syllable
+13F5   CHEROKEE LETTER MV
+@              Lowercase syllables
+13F8   CHEROKEE SMALL LETTER YE
+13F9   CHEROKEE SMALL LETTER YI
+13FA   CHEROKEE SMALL LETTER YO
+13FB   CHEROKEE SMALL LETTER YU
+13FC   CHEROKEE SMALL LETTER YV
+@              Archaic lowercase syllable
+13FD   CHEROKEE SMALL LETTER MV
 @@     1400    Unified Canadian Aboriginal Syllabics   167F
 @              Punctuation
 1400   CANADIAN SYLLABICS HYPHEN
        * a diacritic historically corresponding to the repha form of ra in Devanagari
 17CD   KHMER SIGN TOANDAKHIAT
        * indicates that the base character is not pronounced
+       x (thai character thanthakhat - 0E4C)
 17CE   KHMER SIGN KAKABAT
        * sign used with some exclamations
 17CF   KHMER SIGN AHSDA
 18A9   MONGOLIAN LETTER ALI GALI DAGALGA
 18AA   MONGOLIAN LETTER MANCHU ALI GALI LHA
 @~     Standardized Variation Sequences
-@+     Unlike other blocks, these variation sequences use the script-specific variation selectors for Mongolian.
+@+             Unlike other blocks, these variation sequences use the script-specific variation selectors for Mongolian.
 @@     18B0    Unified Canadian Aboriginal Syllabics Extended  18FF
 @              Syllables for Moose Cree
 18B0   CANADIAN SYLLABICS OY
 1973   TAI LE LETTER TONE-5
 1974   TAI LE LETTER TONE-6
 @@     1980    New Tai Lue     19DF
-@+             Note the similarly named but distinct Tai Le script encoded at 1950..197F. The New Tai Lue script is also known as Xishuang Banna Dai.
+@+             Note the similarly named but distinct Tai Le script encoded at 1950..197F. The New Tai Lue script is also known as Xishuangbanna Dai.
 @              Consonants
 1980   NEW TAI LUE LETTER HIGH QA
 1981   NEW TAI LUE LETTER LOW QA
        * intended to surround a diacritic below
 1ABE   COMBINING PARENTHESES OVERLAY
        * intended to surround a base letter
+       * exact placement is font dependent
 @@     1B00    Balinese        1B7F
 @              Various signs
 1B00   BALINESE SIGN ULU RICEM
 1CF1   VEDIC SIGN ANUSVARA UBHAYATO MUKHA
        = vaidika anusvaara ubhayato mukha
 @              Ardhavisarga
-@+             Ardhavisarga denotes the sounds jihvamuliya and upadhmaniya (velar and bilabial voicelss fricatives) in Sanskrit. Its use is not limited to Vedic.
+@+             Ardhavisarga denotes the sounds jihvamuliya and upadhmaniya (velar and bilabial voiceless fricatives) in Sanskrit. Its use is not limited to Vedic.
 1CF2   VEDIC SIGN ARDHAVISARGA
        = vaidika jihvaamuuliiya upadhmaaniiya
 1CF3   VEDIC SIGN ROTATED ARDHAVISARGA
 1E37   LATIN SMALL LETTER L WITH DOT BELOW
        * Indic transliteration
        : 006C 0323
-@+             * see ISO 15919 on the use of dot below versus ring below in Indic transliteration
+@+     * see ISO 15919 on the use of dot below versus ring below in Indic transliteration
        x (combining ring below - 0325)
 1E38   LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
        : 1E36 0304
 1E5B   LATIN SMALL LETTER R WITH DOT BELOW
        * Indic transliteration
        : 0072 0323
-@+             * see ISO 15919 on the use of dot below versus ring below in Indic transliteration
+@+     * see ISO 15919 on the use of dot below versus ring below in Indic transliteration
        x (combining ring below - 0325)
 1E5C   LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
        : 1E5A 0304
 206D   ACTIVATE ARABIC FORM SHAPING
 206E   NATIONAL DIGIT SHAPES
 206F   NOMINAL DIGIT SHAPES
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     2070    Superscripts and Subscripts     209F
 @              Superscripts
 @+             See also superscript Latin letters in the Spacing Modifier Letters block starting at 02B0.
                x (currency sign - 00A4)
                x (yen sign - 00A5)
                x (latin small letter f with hook - 0192)
+               x (armenian dram sign - 058F)
                x (afghani sign - 060B)
                x (bengali rupee mark - 09F2)
                x (bengali rupee sign - 09F3)
        * Azerbaijan
 20BD   RUBLE SIGN
        * Russia
+20BE   LARI SIGN
+       * Georgia
 @@     20D0    Combining Diacritical Marks for Symbols 20FF
 @              Combining diacritical marks for symbols
 20D0   COMBINING LEFT HARPOON ABOVE
        # 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
        x (greek small letter digamma - 03DD)
 @              Biblical editorial symbol
 214F   SYMBOL FOR SAMARITAN SOURCE
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     2150    Number Forms    218F
 @              Fractions
 @+             Other fraction number forms are found in the Latin-1 Supplement block.
 2189   VULGAR FRACTION ZERO THIRDS
        * used in baseball scoring, from ARIB STD B24
        # <fraction> 0030 2044 0033
+@              Turned digits
+218A   TURNED DIGIT TWO
+       * digit for 10 in some duodecimal systems
+218B   TURNED DIGIT THREE
+       * digit for 11 in some duodecimal systems
+       x (latin capital letter open e - 0190)
+       x (euler constant - 2107)
+       x (latin small letter tresillo - A72B)
 @@     2190    Arrows  21FF
 @              Simple arrows
 2190   LEFTWARDS ARROW
 219D   RIGHTWARDS WAVE ARROW
 219E   LEFTWARDS TWO HEADED ARROW
        = fast cursor left
+       x (leftwards two-headed arrow with triangle arrowheads - 2BEC)
 219F   UPWARDS TWO HEADED ARROW
        = fast cursor up
 21A0   RIGHTWARDS TWO HEADED ARROW
 21FD   LEFTWARDS OPEN-HEADED ARROW
 21FE   RIGHTWARDS OPEN-HEADED ARROW
 21FF   LEFT RIGHT OPEN-HEADED ARROW
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     2200    Mathematical Operators  22FF
 @@+
 @              Miscellaneous mathematical symbols
        x (arabic-indic fourth root - 0607)
 221D   PROPORTIONAL TO
        x (greek small letter alpha - 03B1)
-@              Miscellaneous mathematical symbols
+@              Miscellaneous mathematical symbol
 221E   INFINITY
+@              Angles
+@+     Other angle symbols are found at 299B-29AF.
 221F   RIGHT ANGLE
 2220   ANGLE
+       x (acute angle - 299F)
 2221   MEASURED ANGLE
 2222   SPHERICAL ANGLE
        = angle arc
 2300   DIAMETER SIGN
        x (empty set - 2205)
 2301   ELECTRIC ARROW
-@+             * from ISO 2047
+@+     * from ISO 2047
        * symbol for End of Transmission
 2302   HOUSE
 2303   UP ARROWHEAD
        x (reversed empty set - 29B0)
 234A   APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
        = up tack underbar
-@+             * preferred naming for APL tack symbols now follows the London Convention in ISO/IEC 13751:2000 (APL Extended)
+@+     * preferred naming for APL tack symbols now follows the London Convention in ISO/IEC 13751:2000 (APL Extended)
        x (up tack - 22A5)
 234B   APL FUNCTIONAL SYMBOL DELTA STILE
 234C   APL FUNCTIONAL SYMBOL QUAD DOWN CARET
 237A   APL FUNCTIONAL SYMBOL ALPHA
 @              Graphics for control codes
 237B   NOT CHECK MARK
-@+             * from ISO 2047
+@+     * from ISO 2047
        * symbol for Negative Acknowledge
 @              Miscellaneous technical
 237C   RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
 @              Graphics for control codes
 237D   SHOULDERED OPEN BOX
-@+             * from ISO 9995-7
+@+     * from ISO 9995-7
        * keyboard symbol for No Break Space
        x (open box - 2423)
 237E   BELL SYMBOL
-@+             * from ISO 2047
+@+     * from ISO 2047
 237F   VERTICAL LINE WITH MIDDLE DOT
-@+             * from ISO 2047
+@+     * from ISO 2047
        * symbol for End of Medium
 @              Keyboard symbols from ISO 9995-7
 2380   INSERTION SYMBOL
 23FA   BLACK CIRCLE FOR RECORD
        = record
        x (medium black circle - 26AB)
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     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
 2424   SYMBOL FOR NEWLINE
 @              Keyboard symbol
 2425   SYMBOL FOR DELETE FORM TWO
-@+             * from ISO 9995-7
+@+     * from ISO 9995-7
        * keyboard symbol for undoable delete
 @              Specific symbol for control code
 2426   SYMBOL FOR SUBSTITUTE FORM TWO
-@+             * from ISO 2047
+@+     * from ISO 2047
        x (arabic question mark - 061F)
 @@     2440    Optical Character Recognition   245F
 @              OCR-A
 @              Additional white on black circled number
 24FF   NEGATIVE CIRCLED DIGIT ZERO
        x (dingbat negative circled digit one - 2776)
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     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
        ~ 25FE FE0F emoji style
 25FF   LOWER RIGHT TRIANGLE
        x (right triangle - 22BF)
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     2600    Miscellaneous Symbols   26FF
 @@+
 @              Weather and astrological symbols
 2619   REVERSED ROTATED FLORAL HEART BULLET
        * a binding signature mark
        x (rotated floral heart bullet - 2767)
+       x (south west pointing vine leaf - 1F659)
 @              Pointing hand symbols
 261A   BLACK LEFT POINTING INDEX
 261B   BLACK RIGHT POINTING INDEX
        ~ 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
 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
        = medical term
        * both inclined or upright renderings of this symbol are common
        x (caduceus - 2624)
+       x (bowl of hygieia - 1F54F)
 2696   SCALES
        = legal term, jurisprudence
        x (libra - 264E)
        * a glyph variant has the two circles on the same line
        = bisexuality
 26A5   MALE AND FEMALE SIGN
-       = transgendered sexuality
+       = transgender
        = hermaphrodite (in entomology)
 26A6   MALE WITH STROKE SIGN
-       = transgendered sexuality
+       = transgender
        = alchemical symbol for iron or crocus of iron
 26A7   MALE WITH STROKE AND MALE AND FEMALE SIGN
-       = transgendered sexuality
+       = transgender
 26A8   VERTICAL MALE WITH STROKE SIGN
        = alchemical symbol for iron
 26A9   HORIZONTAL MALE WITH STROKE SIGN
        = icy road
 26D1   HELMET WITH WHITE CROSS
        = maintenance
+       x (construction worker - 1F477)
 26D2   CIRCLED CROSSING LANES
        = road closed
        x (circled times - 2297)
        x (teacup without handle - 1F375)
 26FF   WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
        = Japanese self-defence force site
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     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)
 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.
-@              Stars, asterisks and snowflakes
+@              Stars and asterisks
 2721   STAR OF DAVID
        x (six pointed star with middle dot - 1F52F)
 2722   FOUR TEARDROP-SPOKED ASTERISK
 273B   TEARDROP-SPOKED ASTERISK
 273C   OPEN CENTRE TEARDROP-SPOKED ASTERISK
 273D   HEAVY TEARDROP-SPOKED ASTERISK
+@              Fleurons
 273E   SIX PETALLED BLACK AND WHITE FLORETTE
 273F   BLACK FLORETTE
 2740   WHITE FLORETTE
        x (white flower - 1F4AE)
 2741   EIGHT PETALLED OUTLINED BLACK FLORETTE
        x (black rosette - 1F3F6)
+@              Stars, asterisks and snowflakes
 2742   CIRCLED OPEN CENTRE EIGHT POINTED STAR
 2743   HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
 2744   SNOWFLAKE
        ~ 2764 FE0E text style
        ~ 2764 FE0F emoji style
 2765   ROTATED HEAVY BLACK HEART BULLET
+@              Fleurons
 2766   FLORAL HEART
        = Aldus leaf
 2767   ROTATED FLORAL HEART BULLET
        = hedera, ivy leaf
        x (reversed rotated floral heart bullet - 2619)
+       x (south east pointing vine leaf - 1F65B)
 @              Ornamental brackets
 2768   MEDIUM LEFT PARENTHESIS ORNAMENT
        x (left parenthesis - 0028)
 27BE   OPEN-OUTLINED RIGHTWARDS ARROW
 @              Miscellaneous
 27BF   DOUBLE CURLY LOOP
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     27C0    Miscellaneous Mathematical Symbols-A    27EF
 @              Miscellaneous symbols
 27C0   THREE DIMENSIONAL ANGLE
 297D   RIGHT FISH TAIL
 297E   UP FISH TAIL
 297F   DOWN FISH TAIL
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     2980    Miscellaneous Mathematical Symbols-B    29FF
 @              Miscellaneous mathematical symbols
 2980   TRIPLE VERTICAL BAR DELIMITER
 299D   MEASURED RIGHT ANGLE WITH DOT
 299E   ANGLE WITH S INSIDE
 299F   ACUTE ANGLE
+       x (angle - 2220)
 29A0   SPHERICAL ANGLE OPENING LEFT
        x (spherical angle - 2222)
 29A1   SPHERICAL ANGLE OPENING UP
 29B4   EMPTY SET WITH LEFT ARROW ABOVE
 @              Circle symbols
 29B5   CIRCLE WITH HORIZONTAL BAR
+       * used in superscripted form to mean standard state (chemistry)
        x (circled minus - 2296)
 29B6   CIRCLED VERTICAL BAR
        x (alchemical symbol for nitre - 1F715)
        x (black rightwards arrow - 27A1)
        x (leftwards black arrow - 2B05)
 @              Arrowheads
-@+     These sets of arrowheads are narrower than the dingbats set.
+@+             These sets of arrowheads are narrower than the dingbats set.
 2B98   THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD
 2B99   THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD
 2B9A   THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD
        = query
        x (apl functional symbol quad question - 2370)
        x (replacement character - FFFD)
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@              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
+       = fast cursor left
+       x (leftwards two headed arrow - 219E)
+2BED   UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
+       = fast cursor up
+2BEE   RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
+       = fast cursor right
+2BEF   DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
+       = fast cursor down
+@~     !
 @@     2C00    Glagolitic      2C5F
 @              Capital letters
 2C00   GLAGOLITIC CAPITAL LETTER AZU
 2DF3   COMBINING CYRILLIC LETTER SHCHA
 2DF4   COMBINING CYRILLIC LETTER FITA
 2DF5   COMBINING CYRILLIC LETTER ES-TE
+       * preferred representation is the sequence: 2DED 2DEE 
 2DF6   COMBINING CYRILLIC LETTER A
        x (combining latin small letter a - 0363)
 2DF7   COMBINING CYRILLIC LETTER IE
        * ancestor of the pilcrow sign
        x (pilcrow sign - 00B6)
 @              Double hyphen
-@+     The double hyphen is used in transcription of old German manuscripts, and occasionally as a non-standard punctuation mark. It is not intended for the representation of normal hyphens, whose doubled forms in Fraktur text are considered glyphic variants.
+@+             The double hyphen is used in transcription of old German manuscripts, and occasionally as a non-standard punctuation mark. It is not intended for the representation of normal hyphens, whose doubled forms in Fraktur text are considered glyphic variants.
 2E40   DOUBLE HYPHEN
        x (equals sign - 003D)
        x (hyphen - 2010)
        x (mathematical right white square bracket - 27E7)
 @              CJK symbols and punctuation
 301C   WAVE DASH
-@+             * This character was encoded to match JIS C 6226-1978 1-33 "wave dash". The JIS standards and some industry practice disagree in mapping.
+@+             This character was encoded to match JIS C 6226-1978 1-33 "wave dash".
+       x (swung dash - 2053)
        x (wavy dash - 3030)
        x (fullwidth tilde - FF5E)
 301D   REVERSED DOUBLE PRIME QUOTATION MARK
 3030   WAVY DASH
        x (wavy line - 2307)
        x (wave dash - 301C)
+       ~ 3030 FE0E text style
+       ~ 3030 FE0F emoji style
 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
        * 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
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     3040    Hiragana        309F
 @              Hiragana letters
 3041   HIRAGANA LETTER SMALL A
 3125   BOPOMOFO LETTER ENG
 3126   BOPOMOFO LETTER ER
 3127   BOPOMOFO LETTER I
-       * the horizontal stroke form is considered a vertical variant
+       * the vertical stroke form is considered a rendering variant
 3128   BOPOMOFO LETTER U
 3129   BOPOMOFO LETTER IU
 @              Dialect (non-Mandarin) letters
        # <circle> 30F1
 32FE   CIRCLED KATAKANA WO
        # <circle> 30F2
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     3300    CJK Compatibility       33FF
 @              Squared Katakana words
 3300   SQUARE APAATO
 4DFD   HEXAGRAM FOR SMALL PREPONDERANCE
 4DFE   HEXAGRAM FOR AFTER COMPLETION
 4DFF   HEXAGRAM FOR BEFORE COMPLETION
-@@     4E00    CJK Unified Ideographs  9FCC
+@@     4E00    CJK Unified Ideographs  9FD5
 @@     A000    Yi Syllables    A48F
 @@+
 @              Syllables
@@ -23033,7 +23152,8 @@ A69C    MODIFIER LETTER CYRILLIC HARD SIGN
        # <super> 044A
 A69D   MODIFIER LETTER CYRILLIC SOFT SIGN
        # <super> 044C
-@              Combining mark for Old Cyrillic
+@              Combining marks for Old Cyrillic
+A69E   COMBINING CYRILLIC LETTER EF
 A69F   COMBINING CYRILLIC LETTER IOTIFIED E
 @@     A6A0    Bamum   A6FF
 @              Syllables
@@ -23197,6 +23317,7 @@ A728    LATIN CAPITAL LETTER TZ
 A729   LATIN SMALL LETTER TZ
 A72A   LATIN CAPITAL LETTER TRESILLO
 A72B   LATIN SMALL LETTER TRESILLO
+       x (turned digit three - 218B)
 A72C   LATIN CAPITAL LETTER CUATRILLO
 A72D   LATIN SMALL LETTER CUATRILLO
 A72E   LATIN CAPITAL LETTER CUATRILLO WITH COMMA
@@ -23324,6 +23445,10 @@ A78D   LATIN CAPITAL LETTER TURNED H
 A78E   LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
        * voiceless lateral retroflex fricative
        * used to transcribe Toda
+@              Transliteration letter
+A78F   LATIN LETTER SINOLOGICAL DOT
+       * used for transliteration for Phags-Pa and phonetic transcription for Tangut
+       x (middle dot - 00B7)
 @              Additional letters
 A790   LATIN CAPITAL LETTER N WITH DESCENDER
 A791   LATIN SMALL LETTER N WITH DESCENDER
@@ -23381,6 +23506,20 @@ A7B0   LATIN CAPITAL LETTER TURNED K
 A7B1   LATIN CAPITAL LETTER TURNED T
        * lowercase is 0287
        * also used in Unifon
+@              Letter for African languages
+A7B2   LATIN CAPITAL LETTER J WITH CROSSED-TAIL
+       * lowercase is 029D
+@              Letter for German dialectology
+A7B3   LATIN CAPITAL LETTER CHI
+       * lower case is AB53
+       x (greek capital letter chi - 03A7)
+@              Letters for African languages
+A7B4   LATIN CAPITAL LETTER BETA
+A7B5   LATIN SMALL LETTER BETA
+       x (greek small letter beta - 03B2)
+A7B6   LATIN CAPITAL LETTER OMEGA
+A7B7   LATIN SMALL LETTER OMEGA
+       x (greek small letter omega - 03C9)
 @              Additional letter
 A7F7   LATIN EPIGRAPHIC LETTER SIDEWAYS I
        * Celtic inscriptions
@@ -23731,7 +23870,7 @@ A8D8    SAURASHTRA DIGIT EIGHT
 A8D9   SAURASHTRA DIGIT NINE
 @@     A8E0    Devanagari Extended     A8FF
 @              Cantillation marks (svara) for the Samaveda
-@+     See the similar set of Grantha svara markers for the Samaveda, encoded in the range 11366-11374.
+@+             See the similar set of Grantha svara markers for the Samaveda, encoded in the range 11366-11374.
 A8E0   COMBINING DEVANAGARI DIGIT ZERO
        = vaidika saamasvara anka shuunya
 A8E1   COMBINING DEVANAGARI DIGIT ONE
@@ -23797,6 +23936,13 @@ A8FA   DEVANAGARI CARET
 A8FB   DEVANAGARI HEADSTROKE
        = shirorekhaa
        * used to indicate uncertain manuscript readings
+       x (sharada headstroke - 111DC)
+@              Signs
+A8FC   DEVANAGARI SIGN SIDDHAM
+       = siddhirastu
+       * used at the beginning of texts as an invocation
+       x (sharada sign siddham - 111DB)
+A8FD   DEVANAGARI JAIN OM
 @@     A900    Kayah Li        A92F
 @              Digits
 A900   KAYAH LI DIGIT ZERO
@@ -24453,6 +24599,7 @@ AB50    LATIN SMALL LETTER UI
 AB51   LATIN SMALL LETTER TURNED UI
 AB52   LATIN SMALL LETTER U WITH LEFT HOOK
 AB53   LATIN SMALL LETTER CHI
+       * uppercase is A7B3
        x (greek small letter chi - 03C7)
 AB54   LATIN SMALL LETTER CHI WITH LOW RIGHT RING
 AB55   LATIN SMALL LETTER CHI WITH LOW LEFT SERIF
@@ -24474,6 +24621,15 @@ AB5E   MODIFIER LETTER SMALL L WITH MIDDLE TILDE
        # <super> 026B
 AB5F   MODIFIER LETTER SMALL U WITH LEFT HOOK
        # <super> AB52
+@              Historic letters for Sakha (Yakut)
+@+             These letters were used from 1917 to 1927 in the official IPA-based Latin orthography of that era.
+AB60   LATIN SMALL LETTER SAKHA YAT
+       x (cyrillic small letter yat - 0463)
+AB61   LATIN SMALL LETTER IOTIFIED E
+       x (cyrillic small letter iotified e - 0465)
+AB62   LATIN SMALL LETTER OPEN OE
+       x (latin small letter open o - 0254)
+AB63   LATIN SMALL LETTER UO
 @              Letters for Americanist orthographies
 AB64   LATIN SMALL LETTER INVERTED ALPHA
        x (latin small letter turned alpha - 0252)
@@ -24481,6 +24637,89 @@ AB65   GREEK LETTER SMALL CAPITAL OMEGA
        * obsolete for mid back rounded vowel
        x (latin small letter closed omega - 0277)
        x (greek small letter omega - 03C9)
+@@     AB70    Cherokee Supplement     ABBF
+@+             The uppercase Cherokee syllables are encoded in the Cherokee block at 13A0..13FF. Lowercase ye, yi, yo, yu, yv, and mv are encoded in that same block.
+@              Lowercase syllables
+AB70   CHEROKEE SMALL LETTER A
+AB71   CHEROKEE SMALL LETTER E
+AB72   CHEROKEE SMALL LETTER I
+AB73   CHEROKEE SMALL LETTER O
+AB74   CHEROKEE SMALL LETTER U
+AB75   CHEROKEE SMALL LETTER V
+AB76   CHEROKEE SMALL LETTER GA
+AB77   CHEROKEE SMALL LETTER KA
+AB78   CHEROKEE SMALL LETTER GE
+AB79   CHEROKEE SMALL LETTER GI
+AB7A   CHEROKEE SMALL LETTER GO
+AB7B   CHEROKEE SMALL LETTER GU
+AB7C   CHEROKEE SMALL LETTER GV
+AB7D   CHEROKEE SMALL LETTER HA
+AB7E   CHEROKEE SMALL LETTER HE
+AB7F   CHEROKEE SMALL LETTER HI
+AB80   CHEROKEE SMALL LETTER HO
+AB81   CHEROKEE SMALL LETTER HU
+AB82   CHEROKEE SMALL LETTER HV
+AB83   CHEROKEE SMALL LETTER LA
+AB84   CHEROKEE SMALL LETTER LE
+AB85   CHEROKEE SMALL LETTER LI
+AB86   CHEROKEE SMALL LETTER LO
+AB87   CHEROKEE SMALL LETTER LU
+AB88   CHEROKEE SMALL LETTER LV
+AB89   CHEROKEE SMALL LETTER MA
+AB8A   CHEROKEE SMALL LETTER ME
+AB8B   CHEROKEE SMALL LETTER MI
+AB8C   CHEROKEE SMALL LETTER MO
+AB8D   CHEROKEE SMALL LETTER MU
+AB8E   CHEROKEE SMALL LETTER NA
+AB8F   CHEROKEE SMALL LETTER HNA
+AB90   CHEROKEE SMALL LETTER NAH
+AB91   CHEROKEE SMALL LETTER NE
+AB92   CHEROKEE SMALL LETTER NI
+AB93   CHEROKEE SMALL LETTER NO
+AB94   CHEROKEE SMALL LETTER NU
+AB95   CHEROKEE SMALL LETTER NV
+AB96   CHEROKEE SMALL LETTER QUA
+AB97   CHEROKEE SMALL LETTER QUE
+AB98   CHEROKEE SMALL LETTER QUI
+AB99   CHEROKEE SMALL LETTER QUO
+AB9A   CHEROKEE SMALL LETTER QUU
+AB9B   CHEROKEE SMALL LETTER QUV
+AB9C   CHEROKEE SMALL LETTER SA
+AB9D   CHEROKEE SMALL LETTER S
+AB9E   CHEROKEE SMALL LETTER SE
+AB9F   CHEROKEE SMALL LETTER SI
+ABA0   CHEROKEE SMALL LETTER SO
+ABA1   CHEROKEE SMALL LETTER SU
+ABA2   CHEROKEE SMALL LETTER SV
+ABA3   CHEROKEE SMALL LETTER DA
+ABA4   CHEROKEE SMALL LETTER TA
+ABA5   CHEROKEE SMALL LETTER DE
+ABA6   CHEROKEE SMALL LETTER TE
+ABA7   CHEROKEE SMALL LETTER DI
+ABA8   CHEROKEE SMALL LETTER TI
+ABA9   CHEROKEE SMALL LETTER DO
+ABAA   CHEROKEE SMALL LETTER DU
+ABAB   CHEROKEE SMALL LETTER DV
+ABAC   CHEROKEE SMALL LETTER DLA
+ABAD   CHEROKEE SMALL LETTER TLA
+ABAE   CHEROKEE SMALL LETTER TLE
+ABAF   CHEROKEE SMALL LETTER TLI
+ABB0   CHEROKEE SMALL LETTER TLO
+ABB1   CHEROKEE SMALL LETTER TLU
+ABB2   CHEROKEE SMALL LETTER TLV
+ABB3   CHEROKEE SMALL LETTER TSA
+ABB4   CHEROKEE SMALL LETTER TSE
+ABB5   CHEROKEE SMALL LETTER TSI
+ABB6   CHEROKEE SMALL LETTER TSO
+ABB7   CHEROKEE SMALL LETTER TSU
+ABB8   CHEROKEE SMALL LETTER TSV
+ABB9   CHEROKEE SMALL LETTER WA
+ABBA   CHEROKEE SMALL LETTER WE
+ABBB   CHEROKEE SMALL LETTER WI
+ABBC   CHEROKEE SMALL LETTER WO
+ABBD   CHEROKEE SMALL LETTER WU
+ABBE   CHEROKEE SMALL LETTER WV
+ABBF   CHEROKEE SMALL LETTER YA
 @@     ABC0    Meetei Mayek    ABFF
 @+             The name "Meetei Mayek" is used in official documentation in Manipur. Many linguists also use the name "Meitei Mayek", and other transliterations also occur.
 @              Letters
@@ -25763,7 +26002,7 @@ FB4E    HEBREW LETTER PE WITH RAFE
 FB4F   HEBREW LIGATURE ALEF LAMED
        # 05D0 05DC
 @@     FB50    Arabic Presentation Forms-A     FDFF
-@+             Preferred characters are found in the Arabic block 0600 - 06FF. This block also contains 32 noncharacters in the range FDD0 - FDDF.
+@+             Preferred characters are found in the Arabic block 0600-06FF. This block also contains 32 noncharacters in the range FDD0-FDEF.
 @              Glyphs for contextual forms of letters for Persian, Urdu, Sindhi, etc.
 FB50   ARABIC LETTER ALEF WASLA ISOLATED FORM
        # <isolated> 0671
@@ -27089,7 +27328,7 @@ FE26    COMBINING CONJOINING MACRON
        x (combining macron - 0304)
        x (combining double macron - 035E)
 @              Combining half marks below
-@+     These are used in combinations to represent a ligature, tilde, or macron that extend underneath more than two characters.
+@+             These are used in combinations to represent a ligature, tilde, or macron that extend underneath more than two characters.
 FE27   COMBINING LIGATURE LEFT HALF BELOW
 FE28   COMBINING LIGATURE RIGHT HALF BELOW
        x (combining double breve below - 035C)
@@ -27100,6 +27339,10 @@ FE2C   COMBINING MACRON RIGHT HALF BELOW
 FE2D   COMBINING CONJOINING MACRON BELOW
        x (combining macron below - 0331)
        x (combining double macron below - 035F)
+@              Combining half marks
+@+             These are used for supralineation in Church Slavonic texts.
+FE2E   COMBINING CYRILLIC TITLO LEFT HALF
+FE2F   COMBINING CYRILLIC TITLO RIGHT HALF
 @@     FE30    CJK Compatibility Forms FE4F
 @              Glyphs for vertical variants
 FE30   PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
@@ -27534,7 +27777,7 @@ FEFF    ZERO WIDTH NO-BREAK SPACE
        x (<not a character> - FFFE)
 @@     FF00    Halfwidth and Fullwidth Forms   FFEF
 @              Fullwidth ASCII variants
-@+             See ASCII 0020 - 007E
+@+             See ASCII 0020-007E
 FF01   FULLWIDTH EXCLAMATION MARK
        # <wide> 0021
 FF02   FULLWIDTH QUOTATION MARK
@@ -29818,6 +30061,35 @@ FFFF   <not a character>
 108AD  NABATAEAN NUMBER TEN
 108AE  NABATAEAN NUMBER TWENTY
 108AF  NABATAEAN NUMBER ONE HUNDRED
+@@     108E0   Hatran  108FF
+@              Letters
+108E0  HATRAN LETTER ALEPH
+108E1  HATRAN LETTER BETH
+108E2  HATRAN LETTER GIMEL
+108E3  HATRAN LETTER DALETH-RESH
+108E4  HATRAN LETTER HE
+108E5  HATRAN LETTER WAW
+108E6  HATRAN LETTER ZAYN
+108E7  HATRAN LETTER HETH
+108E8  HATRAN LETTER TETH
+108E9  HATRAN LETTER YODH
+108EA  HATRAN LETTER KAPH
+108EB  HATRAN LETTER LAMEDH
+108EC  HATRAN LETTER MEM
+108ED  HATRAN LETTER NUN
+108EE  HATRAN LETTER SAMEKH
+108EF  HATRAN LETTER AYN
+108F0  HATRAN LETTER PE
+108F1  HATRAN LETTER SADHE
+108F2  HATRAN LETTER QOPH
+108F4  HATRAN LETTER SHIN
+108F5  HATRAN LETTER TAW
+@              Numbers
+108FB  HATRAN NUMBER ONE
+108FC  HATRAN NUMBER FIVE
+108FD  HATRAN NUMBER TEN
+108FE  HATRAN NUMBER TWENTY
+108FF  HATRAN NUMBER ONE HUNDRED
 @@     10900   Phoenician      1091F
 @              Letters
 10900  PHOENICIAN LETTER ALF
@@ -30000,9 +30272,81 @@ FFFF   <not a character>
 109B5  MEROITIC CURSIVE LETTER TE
 109B6  MEROITIC CURSIVE LETTER TO
 109B7  MEROITIC CURSIVE LETTER DA
+@              Fractions
+109BC  MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS
+109BD  MEROITIC CURSIVE FRACTION ONE HALF
 @              Logograms
 109BE  MEROITIC CURSIVE LOGOGRAM RMT
 109BF  MEROITIC CURSIVE LOGOGRAM IMN
+@              Digits
+109C0  MEROITIC CURSIVE NUMBER ONE
+109C1  MEROITIC CURSIVE NUMBER TWO
+109C2  MEROITIC CURSIVE NUMBER THREE
+109C3  MEROITIC CURSIVE NUMBER FOUR
+109C4  MEROITIC CURSIVE NUMBER FIVE
+109C5  MEROITIC CURSIVE NUMBER SIX
+109C6  MEROITIC CURSIVE NUMBER SEVEN
+109C7  MEROITIC CURSIVE NUMBER EIGHT
+109C8  MEROITIC CURSIVE NUMBER NINE
+@              Tens
+109C9  MEROITIC CURSIVE NUMBER TEN
+109CA  MEROITIC CURSIVE NUMBER TWENTY
+109CB  MEROITIC CURSIVE NUMBER THIRTY
+109CC  MEROITIC CURSIVE NUMBER FORTY
+109CD  MEROITIC CURSIVE NUMBER FIFTY
+109CE  MEROITIC CURSIVE NUMBER SIXTY
+109CF  MEROITIC CURSIVE NUMBER SEVENTY
+@              Hundreds
+109D2  MEROITIC CURSIVE NUMBER ONE HUNDRED
+109D3  MEROITIC CURSIVE NUMBER TWO HUNDRED
+109D4  MEROITIC CURSIVE NUMBER THREE HUNDRED
+109D5  MEROITIC CURSIVE NUMBER FOUR HUNDRED
+109D6  MEROITIC CURSIVE NUMBER FIVE HUNDRED
+109D7  MEROITIC CURSIVE NUMBER SIX HUNDRED
+109D8  MEROITIC CURSIVE NUMBER SEVEN HUNDRED
+109D9  MEROITIC CURSIVE NUMBER EIGHT HUNDRED
+109DA  MEROITIC CURSIVE NUMBER NINE HUNDRED
+@              Thousands
+109DB  MEROITIC CURSIVE NUMBER ONE THOUSAND
+109DC  MEROITIC CURSIVE NUMBER TWO THOUSAND
+109DD  MEROITIC CURSIVE NUMBER THREE THOUSAND
+109DE  MEROITIC CURSIVE NUMBER FOUR THOUSAND
+109DF  MEROITIC CURSIVE NUMBER FIVE THOUSAND
+109E0  MEROITIC CURSIVE NUMBER SIX THOUSAND
+109E1  MEROITIC CURSIVE NUMBER SEVEN THOUSAND
+109E2  MEROITIC CURSIVE NUMBER EIGHT THOUSAND
+109E3  MEROITIC CURSIVE NUMBER NINE THOUSAND
+@              Ten thousands
+109E4  MEROITIC CURSIVE NUMBER TEN THOUSAND
+109E5  MEROITIC CURSIVE NUMBER TWENTY THOUSAND
+109E6  MEROITIC CURSIVE NUMBER THIRTY THOUSAND
+109E7  MEROITIC CURSIVE NUMBER FORTY THOUSAND
+109E8  MEROITIC CURSIVE NUMBER FIFTY THOUSAND
+109E9  MEROITIC CURSIVE NUMBER SIXTY THOUSAND
+109EA  MEROITIC CURSIVE NUMBER SEVENTY THOUSAND
+109EB  MEROITIC CURSIVE NUMBER EIGHTY THOUSAND
+109EC  MEROITIC CURSIVE NUMBER NINETY THOUSAND
+@              Hundred thousands
+109ED  MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND
+109EE  MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND
+109EF  MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND
+109F0  MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND
+109F1  MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND
+109F2  MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND
+109F3  MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND
+109F4  MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND
+109F5  MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND
+@              Fractions
+109F6  MEROITIC CURSIVE FRACTION ONE TWELFTH
+109F7  MEROITIC CURSIVE FRACTION TWO TWELFTHS
+109F8  MEROITIC CURSIVE FRACTION THREE TWELFTHS
+109F9  MEROITIC CURSIVE FRACTION FOUR TWELFTHS
+109FA  MEROITIC CURSIVE FRACTION FIVE TWELFTHS
+109FB  MEROITIC CURSIVE FRACTION SIX TWELFTHS
+109FC  MEROITIC CURSIVE FRACTION SEVEN TWELFTHS
+109FD  MEROITIC CURSIVE FRACTION EIGHT TWELFTHS
+109FE  MEROITIC CURSIVE FRACTION NINE TWELFTHS
+109FF  MEROITIC CURSIVE FRACTION TEN TWELFTHS
 @@     10A00   Kharoshthi      10A5F
 @              Vowels
 10A00  KHAROSHTHI LETTER A
@@ -30322,7 +30666,9 @@ FFFF    <not a character>
 10AC3  MANICHAEAN LETTER GIMEL
 10AC4  MANICHAEAN LETTER GHIMEL
 10AC5  MANICHAEAN LETTER DALETH
+       ~ 10AC5 FE00 alternate form (isolate)
 10AC6  MANICHAEAN LETTER HE
+       ~ 10AC6 FE00 alternate form (isolate)
 10AC7  MANICHAEAN LETTER WAW
 10AC8  MANICHAEAN SIGN UD
 10AC9  MANICHAEAN LETTER ZAYIN
@@ -30339,7 +30685,10 @@ FFFF   <not a character>
 10AD4  MANICHAEAN LETTER DHAMEDH
 10AD5  MANICHAEAN LETTER THAMEDH
 10AD6  MANICHAEAN LETTER MEM
+       ~ 10AD6 FE00 alternate form (isolate)
+       ~ 10AD6 FE00 alternate form (final)
 10AD7  MANICHAEAN LETTER NUN
+       ~ 10AD7 FE00 alternate form (isolate)
 10AD8  MANICHAEAN LETTER SAMEKH
 10AD9  MANICHAEAN LETTER AYIN
 10ADA  MANICHAEAN LETTER AAYIN
@@ -30350,10 +30699,11 @@ FFFF  <not a character>
 10ADF  MANICHAEAN LETTER XOPH
 10AE0  MANICHAEAN LETTER QHOPH
 10AE1  MANICHAEAN LETTER RESH
+       ~ 10AE1 FE00 alternate form (isolate)
 10AE2  MANICHAEAN LETTER SHIN
 10AE3  MANICHAEAN LETTER SSHIN
 10AE4  MANICHAEAN LETTER TAW
-@      Combining marks
+@              Combining marks
 10AE5  MANICHAEAN ABBREVIATION MARK ABOVE
 10AE6  MANICHAEAN ABBREVIATION MARK BELOW
 @              Numbers
@@ -30370,6 +30720,7 @@ FFFF    <not a character>
 10AF4  MANICHAEAN PUNCTUATION DOT
 10AF5  MANICHAEAN PUNCTUATION TWO DOTS
 10AF6  MANICHAEAN PUNCTUATION LINE FILLER
+@~     Standardized Variation Sequences
 @@     10B00   Avestan 10B3F
 @              Vowels
 10B00  AVESTAN LETTER A
@@ -30610,6 +30961,200 @@ FFFF  <not a character>
 10C46  OLD TURKIC LETTER YENISEI AET
 10C47  OLD TURKIC LETTER ORKHON OT
 10C48  OLD TURKIC LETTER ORKHON BASH
+@@     10C80   Old Hungarian   10CFF
+@              Uppercase letters
+@+             The use of uppercase letters is a modern innovation.
+10C80  OLD HUNGARIAN CAPITAL LETTER A
+10C81  OLD HUNGARIAN CAPITAL LETTER AA
+       = Á
+10C82  OLD HUNGARIAN CAPITAL LETTER EB
+       = B
+10C83  OLD HUNGARIAN CAPITAL LETTER AMB
+10C84  OLD HUNGARIAN CAPITAL LETTER EC
+       = C
+10C85  OLD HUNGARIAN CAPITAL LETTER ENC
+10C86  OLD HUNGARIAN CAPITAL LETTER ECS
+       = Cs
+10C87  OLD HUNGARIAN CAPITAL LETTER ED
+       = D
+10C88  OLD HUNGARIAN CAPITAL LETTER AND
+10C89  OLD HUNGARIAN CAPITAL LETTER E
+10C8A  OLD HUNGARIAN CAPITAL LETTER CLOSE E
+       = Ë
+10C8B  OLD HUNGARIAN CAPITAL LETTER EE
+       = É
+10C8C  OLD HUNGARIAN CAPITAL LETTER EF
+       = F
+10C8D  OLD HUNGARIAN CAPITAL LETTER EG
+       = G
+10C8E  OLD HUNGARIAN CAPITAL LETTER EGY
+       = Gy
+10C8F  OLD HUNGARIAN CAPITAL LETTER EH
+       = H
+10C90  OLD HUNGARIAN CAPITAL LETTER I
+10C91  OLD HUNGARIAN CAPITAL LETTER II
+       = Í
+10C92  OLD HUNGARIAN CAPITAL LETTER EJ
+       = J
+10C93  OLD HUNGARIAN CAPITAL LETTER EK
+       = K
+10C94  OLD HUNGARIAN CAPITAL LETTER AK
+10C95  OLD HUNGARIAN CAPITAL LETTER UNK
+10C96  OLD HUNGARIAN CAPITAL LETTER EL
+       = L
+10C97  OLD HUNGARIAN CAPITAL LETTER ELY
+       = Ly
+10C98  OLD HUNGARIAN CAPITAL LETTER EM
+       = M
+10C99  OLD HUNGARIAN CAPITAL LETTER EN
+       = N
+10C9A  OLD HUNGARIAN CAPITAL LETTER ENY
+       = Ny
+10C9B  OLD HUNGARIAN CAPITAL LETTER O
+       = O
+10C9C  OLD HUNGARIAN CAPITAL LETTER OO
+       = Ó
+10C9D  OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE
+       = Ö
+10C9E  OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE
+       = Ö
+10C9F  OLD HUNGARIAN CAPITAL LETTER OEE
+       = O with double acute
+10CA0  OLD HUNGARIAN CAPITAL LETTER EP
+       = P
+10CA1  OLD HUNGARIAN CAPITAL LETTER EMP
+10CA2  OLD HUNGARIAN CAPITAL LETTER ER
+       = R
+10CA3  OLD HUNGARIAN CAPITAL LETTER SHORT ER
+10CA4  OLD HUNGARIAN CAPITAL LETTER ES
+       = S
+10CA5  OLD HUNGARIAN CAPITAL LETTER ESZ
+       = Sz
+10CA6  OLD HUNGARIAN CAPITAL LETTER ET
+       = T
+10CA7  OLD HUNGARIAN CAPITAL LETTER ENT
+       * also used for Ant and Int
+10CA8  OLD HUNGARIAN CAPITAL LETTER ETY
+       = Ty
+10CA9  OLD HUNGARIAN CAPITAL LETTER ECH
+10CAA  OLD HUNGARIAN CAPITAL LETTER U
+10CAB  OLD HUNGARIAN CAPITAL LETTER UU
+       = Ú
+10CAC  OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE
+       = Ü
+       * also used for Ö
+       * used for U with double acute in Sándor Forrai's orthography
+10CAD  OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE
+       = Ü, U with double acute
+       * used for Ü in Sándor Forrai's orthography
+10CAE  OLD HUNGARIAN CAPITAL LETTER EV
+       = V
+10CAF  OLD HUNGARIAN CAPITAL LETTER EZ
+       = Z
+10CB0  OLD HUNGARIAN CAPITAL LETTER EZS
+       = Zs
+10CB1  OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN
+10CB2  OLD HUNGARIAN CAPITAL LETTER US
+@              Lowercase letters
+10CC0  OLD HUNGARIAN SMALL LETTER A
+10CC1  OLD HUNGARIAN SMALL LETTER AA
+       = á
+10CC2  OLD HUNGARIAN SMALL LETTER EB
+       = b
+10CC3  OLD HUNGARIAN SMALL LETTER AMB
+10CC4  OLD HUNGARIAN SMALL LETTER EC
+       = c
+10CC5  OLD HUNGARIAN SMALL LETTER ENC
+10CC6  OLD HUNGARIAN SMALL LETTER ECS
+       = cs
+10CC7  OLD HUNGARIAN SMALL LETTER ED
+       = d
+10CC8  OLD HUNGARIAN SMALL LETTER AND
+10CC9  OLD HUNGARIAN SMALL LETTER E
+10CCA  OLD HUNGARIAN SMALL LETTER CLOSE E
+       = ë
+10CCB  OLD HUNGARIAN SMALL LETTER EE
+       = é
+10CCC  OLD HUNGARIAN SMALL LETTER EF
+       = f
+10CCD  OLD HUNGARIAN SMALL LETTER EG
+       = g
+10CCE  OLD HUNGARIAN SMALL LETTER EGY
+       = gy
+10CCF  OLD HUNGARIAN SMALL LETTER EH
+       = h
+10CD0  OLD HUNGARIAN SMALL LETTER I
+10CD1  OLD HUNGARIAN SMALL LETTER II
+       = í
+10CD2  OLD HUNGARIAN SMALL LETTER EJ
+       = j
+10CD3  OLD HUNGARIAN SMALL LETTER EK
+       = k
+10CD4  OLD HUNGARIAN SMALL LETTER AK
+10CD5  OLD HUNGARIAN SMALL LETTER UNK
+10CD6  OLD HUNGARIAN SMALL LETTER EL
+       = l
+10CD7  OLD HUNGARIAN SMALL LETTER ELY
+       = ly
+10CD8  OLD HUNGARIAN SMALL LETTER EM
+       = m
+10CD9  OLD HUNGARIAN SMALL LETTER EN
+       = n
+10CDA  OLD HUNGARIAN SMALL LETTER ENY
+       = ny
+10CDB  OLD HUNGARIAN SMALL LETTER O
+10CDC  OLD HUNGARIAN SMALL LETTER OO
+       = ó
+10CDD  OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE
+       = ö
+       * also used for ü
+10CDE  OLD HUNGARIAN SMALL LETTER RUDIMENTA OE
+       = ö
+10CDF  OLD HUNGARIAN SMALL LETTER OEE
+       = o with double acute
+10CE0  OLD HUNGARIAN SMALL LETTER EP
+       = p
+10CE1  OLD HUNGARIAN SMALL LETTER EMP
+10CE2  OLD HUNGARIAN SMALL LETTER ER
+       = r
+10CE3  OLD HUNGARIAN SMALL LETTER SHORT ER
+10CE4  OLD HUNGARIAN SMALL LETTER ES
+       = s
+10CE5  OLD HUNGARIAN SMALL LETTER ESZ
+       = sz
+10CE6  OLD HUNGARIAN SMALL LETTER ET
+       = t
+10CE7  OLD HUNGARIAN SMALL LETTER ENT
+       * also used for ant and int
+10CE8  OLD HUNGARIAN SMALL LETTER ETY
+       = ty
+10CE9  OLD HUNGARIAN SMALL LETTER ECH
+10CEA  OLD HUNGARIAN SMALL LETTER U
+10CEB  OLD HUNGARIAN SMALL LETTER UU
+       = ú
+10CEC  OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE
+       = ü
+       * also used for ö
+       * used for u with double acute in Sándor Forrai's orthography
+10CED  OLD HUNGARIAN SMALL LETTER RUDIMENTA UE
+       = ü, u with double acute
+       * used for ü in Sándor Forrai's orthography
+10CEE  OLD HUNGARIAN SMALL LETTER EV
+       = v
+10CEF  OLD HUNGARIAN SMALL LETTER EZ
+       = z
+10CF0  OLD HUNGARIAN SMALL LETTER EZS
+       = zs
+10CF1  OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN
+       * in earlier literature called "tprus" (later recognized as an abbreviation for "temperius")
+10CF2  OLD HUNGARIAN SMALL LETTER US
+@              Numbers
+10CFA  OLD HUNGARIAN NUMBER ONE
+10CFB  OLD HUNGARIAN NUMBER FIVE
+10CFC  OLD HUNGARIAN NUMBER TEN
+10CFD  OLD HUNGARIAN NUMBER FIFTY
+10CFE  OLD HUNGARIAN NUMBER ONE HUNDRED
+10CFF  OLD HUNGARIAN NUMBER ONE THOUSAND
 @@     10E60   Rumi Numeral Symbols    10E7F
 @              Digits
 10E60  RUMI DIGIT ONE
@@ -31147,6 +31692,16 @@ FFFF   <not a character>
 111C6  SHARADA DOUBLE DANDA
 111C7  SHARADA ABBREVIATION SIGN
 111C8  SHARADA SEPARATOR
+111C9  SHARADA SANDHI MARK
+       * indicates external sandhi in Sanskrit documents
+@              Signs for Kashmiri
+111CA  SHARADA SIGN NUKTA
+       * for extending the alphabet to new letters
+111CB  SHARADA VOWEL MODIFIER MARK
+       * represents regressive metaphony
+111CC  SHARADA EXTRA SHORT VOWEL MARK
+       * used for writing "matra-vowels"
+@              Punctuation
 111CD  SHARADA SUTRA MARK
        * used for indicating the end of a sutra in the Bakhshali manuscript
 @              Digits
@@ -31163,8 +31718,20 @@ FFFF   <not a character>
 @              Punctuation
 111DA  SHARADA EKAM
        * invocation symbol used at the beginning or end of texts
+111DB  SHARADA SIGN SIDDHAM
+       = siddhirastu
+       * used at the beginning of texts as an invocation
+       x (devanagari sign siddham - A8FC)
+111DC  SHARADA HEADSTROKE
+       * used for joining words across imperfections
+       x (devanagari headstroke - A8FB)
+111DD  SHARADA CONTINUATION SIGN
+       * indicates a breaking opportunity within a word
+@              Section marks
+111DE  SHARADA SECTION MARK-1
+111DF  SHARADA SECTION MARK-2
 @@     111E0   Sinhala Archaic Numbers 111FF
-@+     This number system is also known as Sinhala Illakkam. This number system does not have a zero place holder concept, unlike the Sinhala astrological numbers, Sinhala Lith Illakkam, encoded in the range 0DE6-0DEF.
+@+             This number system is also known as Sinhala Illakkam. This number system does not have a zero place holder concept, unlike the Sinhala astrological numbers, Sinhala Lith Illakkam, encoded in the range 0DE6-0DEF.
 @              Historical digits
 111E1  SINHALA ARCHAIC DIGIT ONE
 111E2  SINHALA ARCHAIC DIGIT TWO
@@ -31258,6 +31825,49 @@ FFFF   <not a character>
        * delimits larger chunks of text, such as paragraphs
        x (kaithi double section mark - 110BF)
 1123D  KHOJKI ABBREVIATION SIGN
+@@     11280   Multani 112AF
+@              Vowels
+11280  MULTANI LETTER A
+11281  MULTANI LETTER I
+11282  MULTANI LETTER U
+11283  MULTANI LETTER E
+@              Consonants
+11284  MULTANI LETTER KA
+11285  MULTANI LETTER KHA
+11286  MULTANI LETTER GA
+11288  MULTANI LETTER GHA
+1128A  MULTANI LETTER CA
+1128B  MULTANI LETTER CHA
+1128C  MULTANI LETTER JA
+1128D  MULTANI LETTER JJA
+1128F  MULTANI LETTER NYA
+11290  MULTANI LETTER TTA
+11291  MULTANI LETTER TTHA
+11292  MULTANI LETTER DDA
+11293  MULTANI LETTER DDDA
+       = tra
+11294  MULTANI LETTER DDHA
+11295  MULTANI LETTER NNA
+11296  MULTANI LETTER TA
+11297  MULTANI LETTER THA
+11298  MULTANI LETTER DA
+11299  MULTANI LETTER DHA
+1129A  MULTANI LETTER NA
+1129B  MULTANI LETTER PA
+1129C  MULTANI LETTER PHA
+1129D  MULTANI LETTER BA
+1129F  MULTANI LETTER BHA
+112A0  MULTANI LETTER MA
+112A1  MULTANI LETTER YA
+112A2  MULTANI LETTER RA
+112A3  MULTANI LETTER LA
+112A4  MULTANI LETTER VA
+112A5  MULTANI LETTER SA
+112A6  MULTANI LETTER HA
+112A7  MULTANI LETTER RRA
+112A8  MULTANI LETTER RHA
+@              Punctuation
+112A9  MULTANI SECTION MARK
 @@     112B0   Khudawadi       112FF
 @              Independent vowels
 112B0  KHUDAWADI LETTER A
@@ -31336,8 +31946,11 @@ FFFF   <not a character>
 112F9  KHUDAWADI DIGIT NINE
 @@     11300   Grantha 1137F
 @              Various signs
+11300  GRANTHA SIGN COMBINING ANUSVARA ABOVE
+       * used in Prakrit language Jain texts for the linguistic anusvara
 11301  GRANTHA SIGN CANDRABINDU
 11302  GRANTHA SIGN ANUSVARA
+       * used in Prakrit language Jain texts to indicate gemination of the following consonant
 11303  GRANTHA SIGN VISARGA
 @              Independent vowels
 11305  GRANTHA LETTER A
@@ -31407,6 +32020,8 @@ FFFF    <not a character>
        : 11347 11357
 @              Virama
 1134D  GRANTHA SIGN VIRAMA
+@              Sign
+11350  GRANTHA OM
 @              Dependent vowel sign
 11357  GRANTHA AU LENGTH MARK
 @              Sign
@@ -31422,7 +32037,7 @@ FFFF    <not a character>
 11362  GRANTHA VOWEL SIGN VOCALIC L
 11363  GRANTHA VOWEL SIGN VOCALIC LL
 @              Cantillation marks (svara) for the Samaveda
-@+     See the similar set of Devanagari svara markers for the Samaveda, encoded in the range A8E0-A8F1.
+@+             See the similar set of Devanagari svara markers for the Samaveda, encoded in the range A8E0-A8F1.
 11366  COMBINING GRANTHA DIGIT ZERO
 11367  COMBINING GRANTHA DIGIT ONE
 11368  COMBINING GRANTHA DIGIT TWO
@@ -31436,7 +32051,7 @@ FFFF    <not a character>
 11373  COMBINING GRANTHA LETTER VI
 11374  COMBINING GRANTHA LETTER PA
 @@     11480   Tirhuta 114DF
-@+     The Tirhuta script is also known by the names 'Mithilakshara' and 'Maithili'.
+@+             The Tirhuta script is also known by the names 'Mithilakshara' and 'Maithili'.
 @              Sign
 11480  TIRHUTA ANJI
 @              Independent vowels
@@ -31620,6 +32235,34 @@ FFFF   <not a character>
 @              Terminal mark
 115C9  SIDDHAM END OF TEXT MARK
        * indicates the completion of a text
+@              Section marks
+@+             These characters are used at the end of a section or text.
+115CA  SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS
+115CB  SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS
+115CC  SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS
+115CD  SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS
+115CE  SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS
+115CF  SIDDHAM SECTION MARK DOUBLE RING
+115D0  SIDDHAM SECTION MARK DOUBLE RING WITH RAYS
+115D1  SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS
+115D2  SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS
+115D3  SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS
+115D4  SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS
+115D5  SIDDHAM SECTION MARK WITH CIRCLES AND RAYS
+115D6  SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES
+115D7  SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+@              Alternate letters
+115D8  SIDDHAM LETTER THREE-CIRCLE ALTERNATE I
+       x (siddham letter i - 11582)
+115D9  SIDDHAM LETTER TWO-CIRCLE ALTERNATE I
+115DA  SIDDHAM LETTER TWO-CIRCLE ALTERNATE II
+       x (siddham letter ii - 11583)
+115DB  SIDDHAM LETTER ALTERNATE U
+       x (siddham letter u - 11584)
+@              Alternate vowel signs
+@+             These alternate vowel signs are the 'warbler' forms while the regular vowel signs are the 'cloud' forms.
+115DC  SIDDHAM VOWEL SIGN ALTERNATE U
+115DD  SIDDHAM VOWEL SIGN ALTERNATE UU
 @@     11600   Modi    1165F
 @              Independent vowels
 11600  MODI LETTER A
@@ -31784,6 +32427,70 @@ FFFF   <not a character>
 116C7  TAKRI DIGIT SEVEN
 116C8  TAKRI DIGIT EIGHT
 116C9  TAKRI DIGIT NINE
+@@     11700   Ahom    1173F
+@              Consonants
+11700  AHOM LETTER KA
+11701  AHOM LETTER KHA
+11702  AHOM LETTER NGA
+11703  AHOM LETTER NA
+11704  AHOM LETTER TA
+11705  AHOM LETTER ALTERNATE TA
+11706  AHOM LETTER PA
+11707  AHOM LETTER PHA
+11708  AHOM LETTER BA
+11709  AHOM LETTER MA
+1170A  AHOM LETTER JA
+1170B  AHOM LETTER CHA
+1170C  AHOM LETTER THA
+1170D  AHOM LETTER RA
+1170E  AHOM LETTER LA
+1170F  AHOM LETTER SA
+11710  AHOM LETTER NYA
+11711  AHOM LETTER HA
+11712  AHOM LETTER A
+11713  AHOM LETTER DA
+11714  AHOM LETTER DHA
+11715  AHOM LETTER GA
+11716  AHOM LETTER ALTERNATE GA
+11717  AHOM LETTER GHA
+11718  AHOM LETTER BHA
+11719  AHOM LETTER JHA
+@              Medials
+1171D  AHOM CONSONANT SIGN MEDIAL LA
+1171E  AHOM CONSONANT SIGN MEDIAL RA
+1171F  AHOM CONSONANT SIGN MEDIAL LIGATING RA
+@              Vowel signs
+11720  AHOM VOWEL SIGN A
+11721  AHOM VOWEL SIGN AA
+11722  AHOM VOWEL SIGN I
+11723  AHOM VOWEL SIGN II
+11724  AHOM VOWEL SIGN U
+11725  AHOM VOWEL SIGN UU
+11726  AHOM VOWEL SIGN E
+11727  AHOM VOWEL SIGN AW
+11728  AHOM VOWEL SIGN O
+11729  AHOM VOWEL SIGN AI
+1172A  AHOM VOWEL SIGN AM
+1172B  AHOM SIGN KILLER
+@              Digits
+11730  AHOM DIGIT ZERO
+11731  AHOM DIGIT ONE
+11732  AHOM DIGIT TWO
+11733  AHOM DIGIT THREE
+11734  AHOM DIGIT FOUR
+11735  AHOM DIGIT FIVE
+11736  AHOM DIGIT SIX
+11737  AHOM DIGIT SEVEN
+11738  AHOM DIGIT EIGHT
+11739  AHOM DIGIT NINE
+@              Numbers
+1173A  AHOM NUMBER TEN
+1173B  AHOM NUMBER TWENTY
+@              Punctuation
+1173C  AHOM SIGN SMALL SECTION
+1173D  AHOM SIGN SECTION
+1173E  AHOM SIGN RULAI
+1173F  AHOM SYMBOL VI
 @@     118A0   Warang Citi     118FF
 @              Uppercase vowels
 118A0  WARANG CITI CAPITAL LETTER NGAA
@@ -32867,6 +33574,7 @@ FFFF    <not a character>
 12396  CUNEIFORM SIGN SAG TIMES IGI GUNU
 12397  CUNEIFORM SIGN TI2
 12398  CUNEIFORM SIGN UM TIMES ME
+12399  CUNEIFORM SIGN U U
 @@     12400   Cuneiform Numbers and Punctuation       1247F
 @              Numeric signs
 12400  CUNEIFORM NUMERIC SIGN TWO ASH
@@ -32992,6 +33700,204 @@ FFFF  <not a character>
 12472  CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
 12473  CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
 12474  CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
+@@     12480   Early Dynastic Cuneiform        1254F
+@              Signs
+12480  CUNEIFORM SIGN AB TIMES NUN TENU
+12481  CUNEIFORM SIGN AB TIMES SHU2
+12482  CUNEIFORM SIGN AD TIMES ESH2
+12483  CUNEIFORM SIGN BAD TIMES DISH TENU
+12484  CUNEIFORM SIGN BAHAR2 TIMES AB2
+12485  CUNEIFORM SIGN BAHAR2 TIMES NI
+12486  CUNEIFORM SIGN BAHAR2 TIMES ZA
+12487  CUNEIFORM SIGN BU OVER BU TIMES NA2
+12488  CUNEIFORM SIGN DA TIMES TAK4
+12489  CUNEIFORM SIGN DAG TIMES KUR
+1248A  CUNEIFORM SIGN DIM TIMES IGI
+1248B  CUNEIFORM SIGN DIM TIMES U U U
+1248C  CUNEIFORM SIGN DIM2 TIMES UD
+1248D  CUNEIFORM SIGN DUG TIMES ANSHE
+1248E  CUNEIFORM SIGN DUG TIMES ASH
+1248F  CUNEIFORM SIGN DUG TIMES ASH AT LEFT
+12490  CUNEIFORM SIGN DUG TIMES DIN
+12491  CUNEIFORM SIGN DUG TIMES DUN
+12492  CUNEIFORM SIGN DUG TIMES ERIN2
+12493  CUNEIFORM SIGN DUG TIMES GA
+12494  CUNEIFORM SIGN DUG TIMES GI
+12495  CUNEIFORM SIGN DUG TIMES GIR2 GUNU
+12496  CUNEIFORM SIGN DUG TIMES GISH
+12497  CUNEIFORM SIGN DUG TIMES HA
+12498  CUNEIFORM SIGN DUG TIMES HI
+12499  CUNEIFORM SIGN DUG TIMES IGI GUNU
+1249A  CUNEIFORM SIGN DUG TIMES KASKAL
+1249B  CUNEIFORM SIGN DUG TIMES KUR
+1249C  CUNEIFORM SIGN DUG TIMES KUSHU2
+1249D  CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL
+1249E  CUNEIFORM SIGN DUG TIMES LAK-020
+1249F  CUNEIFORM SIGN DUG TIMES LAM
+124A0  CUNEIFORM SIGN DUG TIMES LAM TIMES KUR
+124A1  CUNEIFORM SIGN DUG TIMES LUH PLUS GISH
+124A2  CUNEIFORM SIGN DUG TIMES MASH
+124A3  CUNEIFORM SIGN DUG TIMES MES
+124A4  CUNEIFORM SIGN DUG TIMES MI
+124A5  CUNEIFORM SIGN DUG TIMES NI
+124A6  CUNEIFORM SIGN DUG TIMES PI
+124A7  CUNEIFORM SIGN DUG TIMES SHE
+124A8  CUNEIFORM SIGN DUG TIMES SI GUNU
+124A9  CUNEIFORM SIGN E2 TIMES KUR
+124AA  CUNEIFORM SIGN E2 TIMES PAP
+124AB  CUNEIFORM SIGN ERIN2 X
+124AC  CUNEIFORM SIGN ESH2 CROSSING ESH2
+124AD  CUNEIFORM SIGN EZEN SHESHIG TIMES ASH
+124AE  CUNEIFORM SIGN EZEN SHESHIG TIMES HI
+124AF  CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU
+124B0  CUNEIFORM SIGN EZEN SHESHIG TIMES LA
+124B1  CUNEIFORM SIGN EZEN SHESHIG TIMES LAL
+124B2  CUNEIFORM SIGN EZEN SHESHIG TIMES ME
+124B3  CUNEIFORM SIGN EZEN SHESHIG TIMES MES
+124B4  CUNEIFORM SIGN EZEN SHESHIG TIMES SU
+124B5  CUNEIFORM SIGN EZEN TIMES SU
+124B6  CUNEIFORM SIGN GA2 TIMES BAHAR2
+124B7  CUNEIFORM SIGN GA2 TIMES DIM GUNU
+124B8  CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU
+124B9  CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL
+124BA  CUNEIFORM SIGN GA2 TIMES EREN
+124BB  CUNEIFORM SIGN GA2 TIMES GA
+124BC  CUNEIFORM SIGN GA2 TIMES GAR PLUS DI
+124BD  CUNEIFORM SIGN GA2 TIMES GAR PLUS NE
+124BE  CUNEIFORM SIGN GA2 TIMES HA PLUS A
+124BF  CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL
+124C0  CUNEIFORM SIGN GA2 TIMES LAM
+124C1  CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR
+124C2  CUNEIFORM SIGN GA2 TIMES LUH
+124C3  CUNEIFORM SIGN GA2 TIMES MUSH
+124C4  CUNEIFORM SIGN GA2 TIMES NE
+124C5  CUNEIFORM SIGN GA2 TIMES NE PLUS E2
+124C6  CUNEIFORM SIGN GA2 TIMES NE PLUS GI
+124C7  CUNEIFORM SIGN GA2 TIMES SHIM
+124C8  CUNEIFORM SIGN GA2 TIMES ZIZ2
+124C9  CUNEIFORM SIGN GABA ROTATED NINETY DEGREES
+124CA  CUNEIFORM SIGN GESHTIN TIMES U
+124CB  CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH
+124CC  CUNEIFORM SIGN GU2 TIMES IGI GUNU
+124CD  CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4
+124CE  CUNEIFORM SIGN HA TENU GUNU
+124CF  CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH
+124D0  CUNEIFORM SIGN KA TIMES BU
+124D1  CUNEIFORM SIGN KA TIMES KA
+124D2  CUNEIFORM SIGN KA TIMES U U U
+124D3  CUNEIFORM SIGN KA TIMES UR
+124D4  CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU
+124D5  CUNEIFORM SIGN LAK-003
+124D6  CUNEIFORM SIGN LAK-021
+124D7  CUNEIFORM SIGN LAK-025
+124D8  CUNEIFORM SIGN LAK-030
+124D9  CUNEIFORM SIGN LAK-050
+124DA  CUNEIFORM SIGN LAK-051
+124DB  CUNEIFORM SIGN LAK-062
+124DC  CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU
+124DD  CUNEIFORM SIGN LAK-080
+124DE  CUNEIFORM SIGN LAK-081 OVER LAK-081
+124DF  CUNEIFORM SIGN LAK-092
+124E0  CUNEIFORM SIGN LAK-130
+124E1  CUNEIFORM SIGN LAK-142
+124E2  CUNEIFORM SIGN LAK-210
+124E3  CUNEIFORM SIGN LAK-219
+124E4  CUNEIFORM SIGN LAK-220
+124E5  CUNEIFORM SIGN LAK-225
+124E6  CUNEIFORM SIGN LAK-228
+124E7  CUNEIFORM SIGN LAK-238
+124E8  CUNEIFORM SIGN LAK-265
+124E9  CUNEIFORM SIGN LAK-266
+124EA  CUNEIFORM SIGN LAK-343
+124EB  CUNEIFORM SIGN LAK-347
+124EC  CUNEIFORM SIGN LAK-348
+124ED  CUNEIFORM SIGN LAK-383
+124EE  CUNEIFORM SIGN LAK-384
+124EF  CUNEIFORM SIGN LAK-390
+124F0  CUNEIFORM SIGN LAK-441
+124F1  CUNEIFORM SIGN LAK-449
+124F2  CUNEIFORM SIGN LAK-449 TIMES GU
+124F3  CUNEIFORM SIGN LAK-449 TIMES IGI
+124F4  CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3
+124F5  CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3
+124F6  CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA
+124F7  CUNEIFORM SIGN LAK-450
+124F8  CUNEIFORM SIGN LAK-457
+124F9  CUNEIFORM SIGN LAK-470
+124FA  CUNEIFORM SIGN LAK-483
+124FB  CUNEIFORM SIGN LAK-490
+124FC  CUNEIFORM SIGN LAK-492
+124FD  CUNEIFORM SIGN LAK-493
+124FE  CUNEIFORM SIGN LAK-495
+124FF  CUNEIFORM SIGN LAK-550
+12500  CUNEIFORM SIGN LAK-608
+12501  CUNEIFORM SIGN LAK-617
+12502  CUNEIFORM SIGN LAK-617 TIMES ASH
+12503  CUNEIFORM SIGN LAK-617 TIMES BAD
+12504  CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU
+12505  CUNEIFORM SIGN LAK-617 TIMES KU3
+12506  CUNEIFORM SIGN LAK-617 TIMES LA
+12507  CUNEIFORM SIGN LAK-617 TIMES TAR
+12508  CUNEIFORM SIGN LAK-617 TIMES TE
+12509  CUNEIFORM SIGN LAK-617 TIMES U2
+1250A  CUNEIFORM SIGN LAK-617 TIMES UD
+1250B  CUNEIFORM SIGN LAK-617 TIMES URUDA
+1250C  CUNEIFORM SIGN LAK-636
+1250D  CUNEIFORM SIGN LAK-648
+1250E  CUNEIFORM SIGN LAK-648 TIMES DUB
+1250F  CUNEIFORM SIGN LAK-648 TIMES GA
+12510  CUNEIFORM SIGN LAK-648 TIMES IGI
+12511  CUNEIFORM SIGN LAK-648 TIMES IGI GUNU
+12512  CUNEIFORM SIGN LAK-648 TIMES NI
+12513  CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3
+12514  CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI
+12515  CUNEIFORM SIGN LAK-648 TIMES UD
+12516  CUNEIFORM SIGN LAK-648 TIMES URUDA
+12517  CUNEIFORM SIGN LAK-724
+12518  CUNEIFORM SIGN LAK-749
+12519  CUNEIFORM SIGN LU2 GUNU TIMES ASH
+1251A  CUNEIFORM SIGN LU2 TIMES DISH
+1251B  CUNEIFORM SIGN LU2 TIMES HAL
+1251C  CUNEIFORM SIGN LU2 TIMES PAP
+1251D  CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3
+1251E  CUNEIFORM SIGN LU2 TIMES TAK4
+1251F  CUNEIFORM SIGN MI PLUS ZA7
+12520  CUNEIFORM SIGN MUSH OVER MUSH TIMES GA
+12521  CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK
+12522  CUNEIFORM SIGN NINDA2 TIMES DIM GUNU
+12523  CUNEIFORM SIGN NINDA2 TIMES GISH
+12524  CUNEIFORM SIGN NINDA2 TIMES GUL
+12525  CUNEIFORM SIGN NINDA2 TIMES HI
+12526  CUNEIFORM SIGN NINDA2 TIMES KESH2
+12527  CUNEIFORM SIGN NINDA2 TIMES LAK-050
+12528  CUNEIFORM SIGN NINDA2 TIMES MASH
+12529  CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP
+1252A  CUNEIFORM SIGN NINDA2 TIMES U
+1252B  CUNEIFORM SIGN NINDA2 TIMES U PLUS U
+1252C  CUNEIFORM SIGN NINDA2 TIMES URUDA
+1252D  CUNEIFORM SIGN SAG GUNU TIMES HA
+1252E  CUNEIFORM SIGN SAG TIMES EN
+1252F  CUNEIFORM SIGN SAG TIMES SHE AT LEFT
+12530  CUNEIFORM SIGN SAG TIMES TAK4
+12531  CUNEIFORM SIGN SHA6 TENU
+12532  CUNEIFORM SIGN SHE OVER SHE
+12533  CUNEIFORM SIGN SHE PLUS HUB2
+12534  CUNEIFORM SIGN SHE PLUS NAM2
+12535  CUNEIFORM SIGN SHE PLUS SAR
+12536  CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI
+12537  CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN
+12538  CUNEIFORM SIGN SI TIMES TAK4
+12539  CUNEIFORM SIGN TAK4 PLUS SAG
+1253A  CUNEIFORM SIGN TUM TIMES GAN2 TENU
+1253B  CUNEIFORM SIGN TUM TIMES THREE DISH
+1253C  CUNEIFORM SIGN UR2 INVERTED
+1253D  CUNEIFORM SIGN UR2 TIMES UD
+1253E  CUNEIFORM SIGN URU TIMES DARA3
+1253F  CUNEIFORM SIGN URU TIMES LAK-668
+12540  CUNEIFORM SIGN URU TIMES LU3
+12541  CUNEIFORM SIGN ZA7
+12542  CUNEIFORM SIGN ZU OVER ZU PLUS SAR
+12543  CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
 @@     13000   Egyptian Hieroglyphs    1342F
 @+             The characters in this block are taken primarily from Alan Gardiner's works on Middle Egyptian.
 @              A. Man and his occupations
@@ -34244,6 +35150,1033 @@ FFFF <not a character>
 1342C  EGYPTIAN HIEROGLYPH AA030
 1342D  EGYPTIAN HIEROGLYPH AA031
 1342E  EGYPTIAN HIEROGLYPH AA032
+@@     14400   Anatolian Hieroglyphs   1467F
+@+             In the names list, most of the comments are in Latin. Those which have a Luwian phonetic value are identified as syllabic.
+@              A. The human body and clothing
+14400  ANATOLIAN HIEROGLYPH A001
+       = ego
+14401  ANATOLIAN HIEROGLYPH A002
+       = ego2
+14402  ANATOLIAN HIEROGLYPH A003
+14403  ANATOLIAN HIEROGLYPH A004
+       = mons2
+14404  ANATOLIAN HIEROGLYPH A005
+14405  ANATOLIAN HIEROGLYPH A006
+       = adorare
+14406  ANATOLIAN HIEROGLYPH A007
+       = edere
+14407  ANATOLIAN HIEROGLYPH A008
+       = bibere
+14408  ANATOLIAN HIEROGLYPH A009
+       = amplecti
+14409  ANATOLIAN HIEROGLYPH A010
+       = caput
+1440A  ANATOLIAN HIEROGLYPH A010A
+       = caput+scalprum
+1440B  ANATOLIAN HIEROGLYPH A011
+1440C  ANATOLIAN HIEROGLYPH A012
+       = statua
+1440D  ANATOLIAN HIEROGLYPH A013
+1440E  ANATOLIAN HIEROGLYPH A014
+       = prae
+       = logosyllabic pari
+1440F  ANATOLIAN HIEROGLYPH A015
+       = domina
+14410  ANATOLIAN HIEROGLYPH A016
+       = magnus.domina
+14411  ANATOLIAN HIEROGLYPH A017
+       = rex
+14412  ANATOLIAN HIEROGLYPH A018
+       = magnus.rex
+14413  ANATOLIAN HIEROGLYPH A019
+       = syllabic á
+14414  ANATOLIAN HIEROGLYPH A020
+14415  ANATOLIAN HIEROGLYPH A021
+       = heros
+14416  ANATOLIAN HIEROGLYPH A022
+       = loqui
+14417  ANATOLIAN HIEROGLYPH A023
+14418  ANATOLIAN HIEROGLYPH A024
+       = lis
+14419  ANATOLIAN HIEROGLYPH A025
+       = oculus
+1441A  ANATOLIAN HIEROGLYPH A026
+       = frons
+1441B  ANATOLIAN HIEROGLYPH A026A
+       = versus
+1441C  ANATOLIAN HIEROGLYPH A027
+       = libare
+1441D  ANATOLIAN HIEROGLYPH A028
+       = fortis
+1441E  ANATOLIAN HIEROGLYPH A029
+       = syllabic tá
+1441F  ANATOLIAN HIEROGLYPH A030
+14420  ANATOLIAN HIEROGLYPH A031
+       = ligare, pugnus+pugnus
+14421  ANATOLIAN HIEROGLYPH A032
+       = bracchium
+14422  ANATOLIAN HIEROGLYPH A033
+14423  ANATOLIAN HIEROGLYPH A034
+       = post
+14424  ANATOLIAN HIEROGLYPH A035
+       = syllabic na
+14425  ANATOLIAN HIEROGLYPH A036
+       = lituus+na
+14426  ANATOLIAN HIEROGLYPH A037
+14427  ANATOLIAN HIEROGLYPH A038
+14428  ANATOLIAN HIEROGLYPH A039
+       = pugnus
+14429  ANATOLIAN HIEROGLYPH A039A
+       = pugnus+x
+1442A  ANATOLIAN HIEROGLYPH A040
+1442B  ANATOLIAN HIEROGLYPH A041
+       = capere
+       = syllabic tà
+1442C  ANATOLIAN HIEROGLYPH A041A
+       = syllabic tà
+1442D  ANATOLIAN HIEROGLYPH A042
+       = capere2.capere2
+       = syllabic ta-x?
+1442E  ANATOLIAN HIEROGLYPH A043
+       = capere2
+1442F  ANATOLIAN HIEROGLYPH A044
+14430  ANATOLIAN HIEROGLYPH A045
+       = infans, filius, frater
+14431  ANATOLIAN HIEROGLYPH A045A
+       = filia
+14432  ANATOLIAN HIEROGLYPH A046
+       = rex.infans, rex.filius
+14433  ANATOLIAN HIEROGLYPH A046A
+       = rex.filia
+14434  ANATOLIAN HIEROGLYPH A046B
+       = magnus.filia
+14435  ANATOLIAN HIEROGLYPH A047
+14436  ANATOLIAN HIEROGLYPH A048
+14437  ANATOLIAN HIEROGLYPH A049
+       = syllabic a+tá
+14438  ANATOLIAN HIEROGLYPH A050
+14439  ANATOLIAN HIEROGLYPH A051
+1443A  ANATOLIAN HIEROGLYPH A052
+       = manus.culter
+1443B  ANATOLIAN HIEROGLYPH A053
+       = manus+culter, ensis
+1443C  ANATOLIAN HIEROGLYPH A054
+1443D  ANATOLIAN HIEROGLYPH A055
+       = syllabic nì
+1443E  ANATOLIAN HIEROGLYPH A056
+       = syllabic ká
+1443F  ANATOLIAN HIEROGLYPH A057
+       = infra, sub
+       = syllabic ká
+14440  ANATOLIAN HIEROGLYPH A058
+       = cum
+14441  ANATOLIAN HIEROGLYPH A059
+       = manus
+14442  ANATOLIAN HIEROGLYPH A060
+14443  ANATOLIAN HIEROGLYPH A061
+14444  ANATOLIAN HIEROGLYPH A062
+       = longus, manus+minus?
+14445  ANATOLIAN HIEROGLYPH A063
+14446  ANATOLIAN HIEROGLYPH A064
+14447  ANATOLIAN HIEROGLYPH A065
+       = ponere
+14448  ANATOLIAN HIEROGLYPH A066
+       = dare
+       = syllabic pi
+14449  ANATOLIAN HIEROGLYPH A066A
+       = syllabic pi
+1444A  ANATOLIAN HIEROGLYPH A066B
+       = mandare, dare.dare
+1444B  ANATOLIAN HIEROGLYPH A066C
+       = mandare2
+1444C  ANATOLIAN HIEROGLYPH A067
+1444D  ANATOLIAN HIEROGLYPH A068
+1444E  ANATOLIAN HIEROGLYPH A069
+1444F  ANATOLIAN HIEROGLYPH A070
+       = super
+       = logosyllabic sara/i
+14450  ANATOLIAN HIEROGLYPH A071
+14451  ANATOLIAN HIEROGLYPH A072
+14452  ANATOLIAN HIEROGLYPH A073
+       = audire, auris+tu+mi
+14453  ANATOLIAN HIEROGLYPH A074
+14454  ANATOLIAN HIEROGLYPH A075
+14455  ANATOLIAN HIEROGLYPH A076
+14456  ANATOLIAN HIEROGLYPH A077
+14457  ANATOLIAN HIEROGLYPH A078
+       = ala
+14458  ANATOLIAN HIEROGLYPH A079
+       = femina, mater
+14459  ANATOLIAN HIEROGLYPH A080
+       = Sarma
+1445A  ANATOLIAN HIEROGLYPH A081
+       = Sarma2
+1445B  ANATOLIAN HIEROGLYPH A082
+       = crus
+       = syllabic ta6
+1445C  ANATOLIAN HIEROGLYPH A083
+       = crus+flumen
+1445D  ANATOLIAN HIEROGLYPH A084
+       = crus2
+       = syllabic nà
+1445E  ANATOLIAN HIEROGLYPH A085
+       = genuflectere
+1445F  ANATOLIAN HIEROGLYPH A086
+       = crus.crus
+14460  ANATOLIAN HIEROGLYPH A087
+14461  ANATOLIAN HIEROGLYPH A088
+14462  ANATOLIAN HIEROGLYPH A089
+       = syllabic tu
+14463  ANATOLIAN HIEROGLYPH A090
+       = pes
+       = syllabic ti
+14464  ANATOLIAN HIEROGLYPH A091
+       = pes.scala.rotae
+14465  ANATOLIAN HIEROGLYPH A092
+14466  ANATOLIAN HIEROGLYPH A093
+       = pes2
+14467  ANATOLIAN HIEROGLYPH A094
+14468  ANATOLIAN HIEROGLYPH A095
+       = pes2.pes2
+14469  ANATOLIAN HIEROGLYPH A096
+       = pes2.pes
+@              B. Animals
+1446A  ANATOLIAN HIEROGLYPH A097
+       = leo, bestia
+1446B  ANATOLIAN HIEROGLYPH A097A
+       = leo2
+1446C  ANATOLIAN HIEROGLYPH A098
+       = canis
+1446D  ANATOLIAN HIEROGLYPH A098A
+       = canis2
+1446E  ANATOLIAN HIEROGLYPH A099
+       = equus
+1446F  ANATOLIAN HIEROGLYPH A100
+       = asinus
+       = syllabic ta
+14470  ANATOLIAN HIEROGLYPH A100A
+       = syllabic ta
+14471  ANATOLIAN HIEROGLYPH A101
+       = asinus2
+14472  ANATOLIAN HIEROGLYPH A101A
+       = asinus2a
+14473  ANATOLIAN HIEROGLYPH A102
+       = cervus
+       = syllabic rú
+14474  ANATOLIAN HIEROGLYPH A102A
+       = cervus2
+       = syllabic rú
+14475  ANATOLIAN HIEROGLYPH A103
+       = cervus3
+       = syllabic rú
+14476  ANATOLIAN HIEROGLYPH A104
+       = capra
+       = syllabic sà
+14477  ANATOLIAN HIEROGLYPH A104A
+       = syllabic sà
+14478  ANATOLIAN HIEROGLYPH A104B
+       = capra2
+       = syllabic sà
+14479  ANATOLIAN HIEROGLYPH A104C
+       = capra2a
+       = syllabic sà
+1447A  ANATOLIAN HIEROGLYPH A105
+       = bos
+       = syllabic u
+1447B  ANATOLIAN HIEROGLYPH A105A
+       = bos
+       = syllabic u
+1447C  ANATOLIAN HIEROGLYPH A105B
+       = bos2
+       = syllabic u
+1447D  ANATOLIAN HIEROGLYPH A106
+1447E  ANATOLIAN HIEROGLYPH A107
+       = bos+mi
+       = syllabic mu
+       = logosyllabic muwa
+1447F  ANATOLIAN HIEROGLYPH A107A
+       = syllabic mu
+       = logosyllabic muwa
+14480  ANATOLIAN HIEROGLYPH A107B
+       = bos.mi
+       = syllabic mu
+       = logosyllabic muwa
+14481  ANATOLIAN HIEROGLYPH A107C
+       = bos2.mi
+       = syllabic mu
+       = logosyllabic muwa
+14482  ANATOLIAN HIEROGLYPH A108
+       = cornu
+       = sú
+14483  ANATOLIAN HIEROGLYPH A109
+       = vitellus
+       = syllabic ma-x
+14484  ANATOLIAN HIEROGLYPH A110
+       = ovis
+       = syllabic ma
+14485  ANATOLIAN HIEROGLYPH A110A
+       = syllabic ma
+14486  ANATOLIAN HIEROGLYPH A110B
+       = ovis2
+       = syllabic ma
+14487  ANATOLIAN HIEROGLYPH A111
+       = ovis3
+14488  ANATOLIAN HIEROGLYPH A112
+       = lingere
+       = syllabic za4
+14489  ANATOLIAN HIEROGLYPH A113
+1448A  ANATOLIAN HIEROGLYPH A114
+       = lituus+u
+1448B  ANATOLIAN HIEROGLYPH A115
+       = lepus
+       = logosyllabic tapa
+1448C  ANATOLIAN HIEROGLYPH A115A
+       = lepus2
+       = logosyllabic tapa
+1448D  ANATOLIAN HIEROGLYPH A116
+1448E  ANATOLIAN HIEROGLYPH A117
+1448F  ANATOLIAN HIEROGLYPH A118
+14490  ANATOLIAN HIEROGLYPH A119
+14491  ANATOLIAN HIEROGLYPH A120
+       = gryllus
+14492  ANATOLIAN HIEROGLYPH A121
+       = sphinx
+14493  ANATOLIAN HIEROGLYPH A122
+14494  ANATOLIAN HIEROGLYPH A123
+14495  ANATOLIAN HIEROGLYPH A124
+14496  ANATOLIAN HIEROGLYPH A125
+       = syllabic lí
+14497  ANATOLIAN HIEROGLYPH A125A
+       = ungula
+       = syllabic li-x
+14498  ANATOLIAN HIEROGLYPH A126
+14499  ANATOLIAN HIEROGLYPH A127
+1449A  ANATOLIAN HIEROGLYPH A128
+       = avis
+       = zi4
+1449B  ANATOLIAN HIEROGLYPH A129
+1449C  ANATOLIAN HIEROGLYPH A130
+       = avis3
+1449D  ANATOLIAN HIEROGLYPH A131
+       = avis5
+1449E  ANATOLIAN HIEROGLYPH A132
+       = avis2
+1449F  ANATOLIAN HIEROGLYPH A133
+       = aquila, avis4
+       = syllabic ara/i
+144A0  ANATOLIAN HIEROGLYPH A134
+       = syllabic ara/i
+       * 1449F anatolian hieroglyph a133 + 145B1 anatolian hieroglyph a383 ra or ri
+144A1  ANATOLIAN HIEROGLYPH A135
+       = avis-x
+144A2  ANATOLIAN HIEROGLYPH A135A
+144A3  ANATOLIAN HIEROGLYPH A136
+144A4  ANATOLIAN HIEROGLYPH A137
+       = libatio
+144A5  ANATOLIAN HIEROGLYPH A138
+       = piscis
+144A6  ANATOLIAN HIEROGLYPH A139
+144A7  ANATOLIAN HIEROGLYPH A140
+144A8  ANATOLIAN HIEROGLYPH A141
+144A9  ANATOLIAN HIEROGLYPH A142
+144AA  ANATOLIAN HIEROGLYPH A143
+144AB  ANATOLIAN HIEROGLYPH A144
+144AC  ANATOLIAN HIEROGLYPH A145
+144AD  ANATOLIAN HIEROGLYPH A146
+144AE  ANATOLIAN HIEROGLYPH A147
+144AF  ANATOLIAN HIEROGLYPH A148
+       = Janus
+@              C. Plants
+144B0  ANATOLIAN HIEROGLYPH A149
+144B1  ANATOLIAN HIEROGLYPH A150
+144B2  ANATOLIAN HIEROGLYPH A151
+       = Telipinu
+144B3  ANATOLIAN HIEROGLYPH A152
+144B4  ANATOLIAN HIEROGLYPH A153
+       = syllabic nu
+144B5  ANATOLIAN HIEROGLYPH A154
+144B6  ANATOLIAN HIEROGLYPH A155
+144B7  ANATOLIAN HIEROGLYPH A156
+144B8  ANATOLIAN HIEROGLYPH A157
+144B9  ANATOLIAN HIEROGLYPH A158
+144BA  ANATOLIAN HIEROGLYPH A159
+144BB  ANATOLIAN HIEROGLYPH A160
+       = vitis
+       = syllabic wi(ya)
+144BC  ANATOLIAN HIEROGLYPH A161
+144BD  ANATOLIAN HIEROGLYPH A162
+144BE  ANATOLIAN HIEROGLYPH A163
+144BF  ANATOLIAN HIEROGLYPH A164
+144C0  ANATOLIAN HIEROGLYPH A165
+       = bonus
+       = syllabic wà/ì
+144C1  ANATOLIAN HIEROGLYPH A166
+       = syllabic wá/í
+144C2  ANATOLIAN HIEROGLYPH A167
+144C3  ANATOLIAN HIEROGLYPH A168
+144C4  ANATOLIAN HIEROGLYPH A169
+144C5  ANATOLIAN HIEROGLYPH A170
+144C6  ANATOLIAN HIEROGLYPH A171
+144C7  ANATOLIAN HIEROGLYPH A172
+       = syllabic ta/i5, lá/í
+144C8  ANATOLIAN HIEROGLYPH A173
+       = hastarius
+144C9  ANATOLIAN HIEROGLYPH A174
+       = syllabic si
+144CA  ANATOLIAN HIEROGLYPH A175
+       = lingua
+       = syllabic la
+144CB  ANATOLIAN HIEROGLYPH A176
+       = syllabic la+la
+144CC  ANATOLIAN HIEROGLYPH A177
+       = lingua+clavus
+144CD  ANATOLIAN HIEROGLYPH A178
+       = syllabic la+ra+a
+144CE  ANATOLIAN HIEROGLYPH A179
+       = hordeum
+       = syllabic hwi-x
+144CF  ANATOLIAN HIEROGLYPH A180
+144D0  ANATOLIAN HIEROGLYPH A181
+       = panis
+       = syllabic pa-x
+@              D. Nature
+144D1  ANATOLIAN HIEROGLYPH A182
+       = caelum
+144D2  ANATOLIAN HIEROGLYPH A183
+144D3  ANATOLIAN HIEROGLYPH A184
+144D4  ANATOLIAN HIEROGLYPH A185
+144D5  ANATOLIAN HIEROGLYPH A186
+144D6  ANATOLIAN HIEROGLYPH A187
+144D7  ANATOLIAN HIEROGLYPH A188
+144D8  ANATOLIAN HIEROGLYPH A189
+144D9  ANATOLIAN HIEROGLYPH A190
+       = sol2
+144DA  ANATOLIAN HIEROGLYPH A191
+       = sol
+144DB  ANATOLIAN HIEROGLYPH A192
+       = oriens
+144DC  ANATOLIAN HIEROGLYPH A193
+       = luna
+144DD  ANATOLIAN HIEROGLYPH A194
+144DE  ANATOLIAN HIEROGLYPH A195
+144DF  ANATOLIAN HIEROGLYPH A196
+       = Hatti
+       = syllabic há
+144E0  ANATOLIAN HIEROGLYPH A197
+       = Hatti+li, Hattusili
+       = logosyllabic há-li
+144E1  ANATOLIAN HIEROGLYPH A198
+144E2  ANATOLIAN HIEROGLYPH A199
+       = tonitrus
+144E3  ANATOLIAN HIEROGLYPH A200
+       = fulgur
+144E4  ANATOLIAN HIEROGLYPH A201
+       = terra, locus
+       = syllabic wa/i6
+144E5  ANATOLIAN HIEROGLYPH A202
+       = via+terra.scalprum
+144E6  ANATOLIAN HIEROGLYPH A202A
+       = via+terra+scalprum
+144E7  ANATOLIAN HIEROGLYPH A202B
+       = (deus)via+terra
+144E8  ANATOLIAN HIEROGLYPH A203
+144E9  ANATOLIAN HIEROGLYPH A204
+       = syllabic wa/i5
+144EA  ANATOLIAN HIEROGLYPH A205
+144EB  ANATOLIAN HIEROGLYPH A206
+144EC  ANATOLIAN HIEROGLYPH A207
+       = mons
+       = syllabic wa/i5
+144ED  ANATOLIAN HIEROGLYPH A207A
+       = leo+mons.tu+leo
+144EE  ANATOLIAN HIEROGLYPH A208
+144EF  ANATOLIAN HIEROGLYPH A209
+       = syllabic i, i(a)
+144F0  ANATOLIAN HIEROGLYPH A209A
+       = syllabic i+ra/i, ri+i
+       * 144EF anatolian hieroglyph a209 + 145B1 anatolian hieroglyph a383 ra or ri
+144F1  ANATOLIAN HIEROGLYPH A210
+       = syllabic ia
+144F2  ANATOLIAN HIEROGLYPH A211
+144F3  ANATOLIAN HIEROGLYPH A212
+       = flumen
+144F4  ANATOLIAN HIEROGLYPH A213
+144F5  ANATOLIAN HIEROGLYPH A214
+       = syllabic ní
+144F6  ANATOLIAN HIEROGLYPH A215
+       = fons
+144F7  ANATOLIAN HIEROGLYPH A215A
+       = syllabic ha
+144F8  ANATOLIAN HIEROGLYPH A216
+       = fines
+       = syllabic arha
+144F9  ANATOLIAN HIEROGLYPH A216A
+       = fines+ha, arha
+144FA  ANATOLIAN HIEROGLYPH A217
+144FB  ANATOLIAN HIEROGLYPH A218
+144FC  ANATOLIAN HIEROGLYPH A219
+144FD  ANATOLIAN HIEROGLYPH A220
+144FE  ANATOLIAN HIEROGLYPH A221
+       = via
+144FF  ANATOLIAN HIEROGLYPH A222
+14500  ANATOLIAN HIEROGLYPH A223
+       = syllabic sa6
+14501  ANATOLIAN HIEROGLYPH A224
+       = syllabic ha? pa?
+@              E. Buildings
+14502  ANATOLIAN HIEROGLYPH A225
+       = urbs
+14503  ANATOLIAN HIEROGLYPH A226
+       = Ishuwa
+14504  ANATOLIAN HIEROGLYPH A227
+       = urbs+ra/i?+li, urbs+ra/i?-li
+14505  ANATOLIAN HIEROGLYPH A227A
+       = urbs+li, urbs-li, Mursili
+14506  ANATOLIAN HIEROGLYPH A228
+       = regio
+       = syllabic tu4
+14507  ANATOLIAN HIEROGLYPH A229
+       = syllabic mí.regio
+14508  ANATOLIAN HIEROGLYPH A230
+14509  ANATOLIAN HIEROGLYPH A231
+       = castrum
+1450A  ANATOLIAN HIEROGLYPH A232
+1450B  ANATOLIAN HIEROGLYPH A233
+1450C  ANATOLIAN HIEROGLYPH A234
+1450D  ANATOLIAN HIEROGLYPH A235
+       = turris?
+1450E  ANATOLIAN HIEROGLYPH A236
+       = murus?
+1450F  ANATOLIAN HIEROGLYPH A237
+       = porta
+14510  ANATOLIAN HIEROGLYPH A238
+14511  ANATOLIAN HIEROGLYPH A239
+       = porta2
+14512  ANATOLIAN HIEROGLYPH A240
+14513  ANATOLIAN HIEROGLYPH A241
+       = syllabic ki-x
+14514  ANATOLIAN HIEROGLYPH A242
+14515  ANATOLIAN HIEROGLYPH A243
+       = cubitum
+14516  ANATOLIAN HIEROGLYPH A244
+       = aedificium
+14517  ANATOLIAN HIEROGLYPH A245
+       = vacuus, aedificium+minus
+14518  ANATOLIAN HIEROGLYPH A246
+       = aedificare, aedificium.ponere
+14519  ANATOLIAN HIEROGLYPH A247
+       = domus
+1451A  ANATOLIAN HIEROGLYPH A248
+       = delere, domus+minus
+1451B  ANATOLIAN HIEROGLYPH A249
+       = deus.domus
+1451C  ANATOLIAN HIEROGLYPH A250
+       = magnus.domus
+1451D  ANATOLIAN HIEROGLYPH A251
+       = domus+x
+1451E  ANATOLIAN HIEROGLYPH A252
+       = domus+scala
+1451F  ANATOLIAN HIEROGLYPH A253
+14520  ANATOLIAN HIEROGLYPH A254
+       = eunuchus2
+14521  ANATOLIAN HIEROGLYPH A255
+       = horreum
+14522  ANATOLIAN HIEROGLYPH A256
+14523  ANATOLIAN HIEROGLYPH A257
+       = argentum
+14524  ANATOLIAN HIEROGLYPH A258
+14525  ANATOLIAN HIEROGLYPH A259
+14526  ANATOLIAN HIEROGLYPH A260
+14527  ANATOLIAN HIEROGLYPH A261
+14528  ANATOLIAN HIEROGLYPH A262
+14529  ANATOLIAN HIEROGLYPH A263
+1452A  ANATOLIAN HIEROGLYPH A264
+       = podium
+1452B  ANATOLIAN HIEROGLYPH A265
+1452C  ANATOLIAN HIEROGLYPH A266
+       = pes.regio
+1452D  ANATOLIAN HIEROGLYPH A267
+       = stele, lapis+scalprum
+1452E  ANATOLIAN HIEROGLYPH A267A
+       = lapis
+1452F  ANATOLIAN HIEROGLYPH A268
+       = scalprum
+@              F. Arms, tools, furniture, and other instruments
+14530  ANATOLIAN HIEROGLYPH A269
+       = exercitus
+14531  ANATOLIAN HIEROGLYPH A270
+14532  ANATOLIAN HIEROGLYPH A271
+14533  ANATOLIAN HIEROGLYPH A272
+       = scutum
+14534  ANATOLIAN HIEROGLYPH A273
+14535  ANATOLIAN HIEROGLYPH A274
+14536  ANATOLIAN HIEROGLYPH A275
+14537  ANATOLIAN HIEROGLYPH A276
+       = frater2
+14538  ANATOLIAN HIEROGLYPH A277
+       =  iudex.la, iudex+la
+14539  ANATOLIAN HIEROGLYPH A278
+       = syllabic li
+1453A  ANATOLIAN HIEROGLYPH A279
+1453B  ANATOLIAN HIEROGLYPH A280
+       = malleus
+       = syllabic wa/i9
+1453C  ANATOLIAN HIEROGLYPH A281
+       = ascia
+1453D  ANATOLIAN HIEROGLYPH A282
+1453E  ANATOLIAN HIEROGLYPH A283
+       = logosyllabic tuzzi
+1453F  ANATOLIAN HIEROGLYPH A284
+14540  ANATOLIAN HIEROGLYPH A285
+       = iaculum
+       = syllabic zu?
+       = logosyllabic zuwa
+14541  ANATOLIAN HIEROGLYPH A286
+       = syllabic wa/i7
+14542  ANATOLIAN HIEROGLYPH A287
+14543  ANATOLIAN HIEROGLYPH A288
+       = currus
+14544  ANATOLIAN HIEROGLYPH A289
+       = auriga
+14545  ANATOLIAN HIEROGLYPH A289A
+       = auriga2
+14546  ANATOLIAN HIEROGLYPH A290
+       = syllabic hara/i
+       * 14548 anatolian hieroglyph a292 + 145B1 anatolian hieroglyph a383 ra or ri
+14547  ANATOLIAN HIEROGLYPH A291
+       = syllabic lì
+14548  ANATOLIAN HIEROGLYPH A292
+       = rota
+       = logosyllabic hala/i
+14549  ANATOLIAN HIEROGLYPH A293
+1454A  ANATOLIAN HIEROGLYPH A294
+       = thronus, mensa
+1454B  ANATOLIAN HIEROGLYPH A294A
+       = thronus, mensa2
+       = Sarpa
+1454C  ANATOLIAN HIEROGLYPH A295
+       = sol2.thronus/mensa
+1454D  ANATOLIAN HIEROGLYPH A296
+       = (deus)mons.Sarpa, (deus)mons.mensa
+       = thronus
+1454E  ANATOLIAN HIEROGLYPH A297
+1454F  ANATOLIAN HIEROGLYPH A298
+       = thronus2
+14550  ANATOLIAN HIEROGLYPH A299
+       = solium
+       = syllabic í
+14551  ANATOLIAN HIEROGLYPH A299A
+       = syllabic iá
+14552  ANATOLIAN HIEROGLYPH A300
+       = nepos
+14553  ANATOLIAN HIEROGLYPH A301
+       = lectus
+14554  ANATOLIAN HIEROGLYPH A302
+14555  ANATOLIAN HIEROGLYPH A303
+       = syllabic sara/i
+       * 1456E anatolian hieroglyph a327 + 145B1 anatolian hieroglyph a383 ra or ri
+14556  ANATOLIAN HIEROGLYPH A304
+       = syllabic mà
+14557  ANATOLIAN HIEROGLYPH A305
+       = fusus
+14558  ANATOLIAN HIEROGLYPH A306
+       = syllabic hí
+14559  ANATOLIAN HIEROGLYPH A307
+       = syllabic hu
+1455A  ANATOLIAN HIEROGLYPH A308
+1455B  ANATOLIAN HIEROGLYPH A309
+       = crux
+1455C  ANATOLIAN HIEROGLYPH A309A
+       = crux2
+1455D  ANATOLIAN HIEROGLYPH A310
+1455E  ANATOLIAN HIEROGLYPH A311
+1455F  ANATOLIAN HIEROGLYPH A312
+14560  ANATOLIAN HIEROGLYPH A313
+       = vir
+       = syllabic zí
+14561  ANATOLIAN HIEROGLYPH A314
+       = syllabic ha-x
+14562  ANATOLIAN HIEROGLYPH A315
+       = syllabic kar
+       * 14561 anatolian hieroglyph a314 + 145B1 anatolian hieroglyph a383 ra or ri
+14563  ANATOLIAN HIEROGLYPH A316
+       = syllabic sa7
+14564  ANATOLIAN HIEROGLYPH A317
+14565  ANATOLIAN HIEROGLYPH A318
+       = Teshub
+14566  ANATOLIAN HIEROGLYPH A319
+       = syllabic ta/i4, la/i
+14567  ANATOLIAN HIEROGLYPH A320
+14568  ANATOLIAN HIEROGLYPH A321
+14569  ANATOLIAN HIEROGLYPH A322
+       = purus
+1456A  ANATOLIAN HIEROGLYPH A323
+1456B  ANATOLIAN HIEROGLYPH A324
+1456C  ANATOLIAN HIEROGLYPH A325
+       = syllabic tú
+1456D  ANATOLIAN HIEROGLYPH A326
+       = scriba
+       = syllabic tù
+1456E  ANATOLIAN HIEROGLYPH A327
+       = sigillum
+       = syllabic sa5
+1456F  ANATOLIAN HIEROGLYPH A328
+       = syllabic pu
+14570  ANATOLIAN HIEROGLYPH A329
+       = relative
+       = syllabic kwi/a
+14571  ANATOLIAN HIEROGLYPH A329A
+14572  ANATOLIAN HIEROGLYPH A330
+       = capere+scalprum
+14573  ANATOLIAN HIEROGLYPH A331
+       = avus
+14574  ANATOLIAN HIEROGLYPH A332A
+       = negative
+14575  ANATOLIAN HIEROGLYPH A332B
+       = negative2
+       = syllabic ná
+14576  ANATOLIAN HIEROGLYPH A332C
+       = negative3
+@              G. Vases and receptacles
+14577  ANATOLIAN HIEROGLYPH A333
+14578  ANATOLIAN HIEROGLYPH A334
+       = syllabic pa
+14579  ANATOLIAN HIEROGLYPH A335
+       = syllabic zá
+1457A  ANATOLIAN HIEROGLYPH A336
+       = annus, pithos.scutella, pithos
+       = syllabic zì
+1457B  ANATOLIAN HIEROGLYPH A336A
+       = syllabic zì
+1457C  ANATOLIAN HIEROGLYPH A336B
+       = syllabic zà
+1457D  ANATOLIAN HIEROGLYPH A336C
+       = syllabic za-x
+1457E  ANATOLIAN HIEROGLYPH A337
+       = pithos
+1457F  ANATOLIAN HIEROGLYPH A338
+       = culter
+14580  ANATOLIAN HIEROGLYPH A339
+14581  ANATOLIAN HIEROGLYPH A340
+       = annus+annus
+14582  ANATOLIAN HIEROGLYPH A341
+       = vas
+14583  ANATOLIAN HIEROGLYPH A342
+14584  ANATOLIAN HIEROGLYPH A343
+       = pithos
+14585  ANATOLIAN HIEROGLYPH A344
+       = contractus
+14586  ANATOLIAN HIEROGLYPH A345
+       = urceus
+14587  ANATOLIAN HIEROGLYPH A346
+       = poculum
+14588  ANATOLIAN HIEROGLYPH A347
+       = syllabic hú
+14589  ANATOLIAN HIEROGLYPH A348
+1458A  ANATOLIAN HIEROGLYPH A349
+1458B  ANATOLIAN HIEROGLYPH A350
+1458C  ANATOLIAN HIEROGLYPH A351
+1458D  ANATOLIAN HIEROGLYPH A352
+1458E  ANATOLIAN HIEROGLYPH A353
+1458F  ANATOLIAN HIEROGLYPH A354
+14590  ANATOLIAN HIEROGLYPH A355
+       = sacerdos
+14591  ANATOLIAN HIEROGLYPH A356
+14592  ANATOLIAN HIEROGLYPH A357
+14593  ANATOLIAN HIEROGLYPH A358
+       = dies
+14594  ANATOLIAN HIEROGLYPH A359
+14595  ANATOLIAN HIEROGLYPH A359A
+@              H. Symbols
+14596  ANATOLIAN HIEROGLYPH A360
+       = deus
+14597  ANATOLIAN HIEROGLYPH A361
+14598  ANATOLIAN HIEROGLYPH A362
+       = syllabic má
+14599  ANATOLIAN HIEROGLYPH A363
+       = magnus
+       = syllabic ur
+1459A  ANATOLIAN HIEROGLYPH A364
+       = syllabic u
+1459B  ANATOLIAN HIEROGLYPH A364A
+       = syllabic mu
+1459C  ANATOLIAN HIEROGLYPH A365
+1459D  ANATOLIAN HIEROGLYPH A366
+       = omnis(+mi)
+1459E  ANATOLIAN HIEROGLYPH A367
+       = logosyllabic tala
+1459F  ANATOLIAN HIEROGLYPH A368
+       = malus
+145A0  ANATOLIAN HIEROGLYPH A368A
+       = malus2
+145A1  ANATOLIAN HIEROGLYPH A369
+       = vita
+145A2  ANATOLIAN HIEROGLYPH A370
+       = bonus2
+       = syllabic su
+145A3  ANATOLIAN HIEROGLYPH A371
+       = iustitia, iudex
+145A4  ANATOLIAN HIEROGLYPH A371A
+       = iudex+ra/i, tara/i-x
+       * 145A3 anatolian hieroglyph a371 + 145B1 anatolian hieroglyph a383 ra or ri
+145A5  ANATOLIAN HIEROGLYPH A372
+       = sacerdos2
+145A6  ANATOLIAN HIEROGLYPH A373
+145A7  ANATOLIAN HIEROGLYPH A374
+145A8  ANATOLIAN HIEROGLYPH A375
+145A9  ANATOLIAN HIEROGLYPH A376
+       = syllabic zi, zi/a
+145AA  ANATOLIAN HIEROGLYPH A377
+       = syllabic za
+145AB  ANATOLIAN HIEROGLYPH A378
+       = lituus
+145AC  ANATOLIAN HIEROGLYPH A379
+       = occidens
+       = syllabic ià
+@              J. Lines, numbers, and geometric shapes
+145AD  ANATOLIAN HIEROGLYPH A380
+       = one
+       = unus
+       = syllabic sa8
+145AE  ANATOLIAN HIEROGLYPH A381
+       = minus
+145AF  ANATOLIAN HIEROGLYPH A381A
+       = mori, vir2.minus
+145B0  ANATOLIAN HIEROGLYPH A382
+       = lignum
+145B1  ANATOLIAN HIEROGLYPH A383 RA OR RI
+       x (anatolian hieroglyph a134 - 144A0)
+       x (anatolian hieroglyph a209a - 144F0)
+       x (anatolian hieroglyph a290 - 14546)
+       x (anatolian hieroglyph a303 - 14555)
+       x (anatolian hieroglyph a315 - 14562)
+       x (anatolian hieroglyph a371a - 145A4)
+       x (anatolian hieroglyph a389 - 145B9)
+       x (anatolian hieroglyph a450a - 145F8)
+145B2  ANATOLIAN HIEROGLYPH A383A
+       = personal determinative
+145B3  ANATOLIAN HIEROGLYPH A384
+       = two
+145B4  ANATOLIAN HIEROGLYPH A385
+       = two
+145B5  ANATOLIAN HIEROGLYPH A386
+       = vir2
+       = word divider
+145B6  ANATOLIAN HIEROGLYPH A386A
+       = vir2a
+145B7  ANATOLIAN HIEROGLYPH A387
+       = servus
+       = syllabic mì
+145B8  ANATOLIAN HIEROGLYPH A388
+       = three
+       = tara/i
+145B9  ANATOLIAN HIEROGLYPH A389
+       = tara/i
+       * 145B8 anatolian hieroglyph a388 + 145B1 anatolian hieroglyph a383 ra or ri
+145BA  ANATOLIAN HIEROGLYPH A390
+       = dominus
+145BB  ANATOLIAN HIEROGLYPH A391
+       = four
+       = syllabic mi
+145BC  ANATOLIAN HIEROGLYPH A392
+       = five
+145BD  ANATOLIAN HIEROGLYPH A393 EIGHT
+       = eight
+145BE  ANATOLIAN HIEROGLYPH A394
+145BF  ANATOLIAN HIEROGLYPH A395
+       = nine
+       = syllabic nú
+145C0  ANATOLIAN HIEROGLYPH A396
+145C1  ANATOLIAN HIEROGLYPH A397
+       = ten
+       = decem
+145C2  ANATOLIAN HIEROGLYPH A398
+145C3  ANATOLIAN HIEROGLYPH A399
+       = hundred
+       = centum
+145C4  ANATOLIAN HIEROGLYPH A400
+       = thousand
+       = mille
+145C5  ANATOLIAN HIEROGLYPH A401
+145C6  ANATOLIAN HIEROGLYPH A402
+       = scutella
+       = syllabic sa4
+145C7  ANATOLIAN HIEROGLYPH A403
+145C8  ANATOLIAN HIEROGLYPH A404
+       = animal
+145C9  ANATOLIAN HIEROGLYPH A405
+145CA  ANATOLIAN HIEROGLYPH A406
+145CB  ANATOLIAN HIEROGLYPH A407
+145CC  ANATOLIAN HIEROGLYPH A408
+145CD  ANATOLIAN HIEROGLYPH A409
+145CE  ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK
+145CF  ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK
+145D0  ANATOLIAN HIEROGLYPH A411
+       = syllabic ni
+145D1  ANATOLIAN HIEROGLYPH A412
+       = syllabic ru
+145D2  ANATOLIAN HIEROGLYPH A413
+       = syllabic hi
+145D3  ANATOLIAN HIEROGLYPH A414
+145D4  ANATOLIAN HIEROGLYPH A415
+       = syllabic sa
+145D5  ANATOLIAN HIEROGLYPH A416
+145D6  ANATOLIAN HIEROGLYPH A417
+       = syllabic sa-x
+145D7  ANATOLIAN HIEROGLYPH A418
+145D8  ANATOLIAN HIEROGLYPH A419
+       = syllabic mí
+       = logosyllabic urhi
+145D9  ANATOLIAN HIEROGLYPH A420
+145DA  ANATOLIAN HIEROGLYPH A421
+       = syllabic us
+145DB  ANATOLIAN HIEROGLYPH A422
+       = panis.scutella
+145DC  ANATOLIAN HIEROGLYPH A423
+       = syllabic ku
+145DD  ANATOLIAN HIEROGLYPH A424
+145DE  ANATOLIAN HIEROGLYPH A425
+145DF  ANATOLIAN HIEROGLYPH A426
+145E0  ANATOLIAN HIEROGLYPH A427
+145E1  ANATOLIAN HIEROGLYPH A428
+145E2  ANATOLIAN HIEROGLYPH A429
+       = syllabic tana
+145E3  ANATOLIAN HIEROGLYPH A430
+       = omnis2
+       = syllabic pú
+145E4  ANATOLIAN HIEROGLYPH A431
+145E5  ANATOLIAN HIEROGLYPH A432
+       = syllabic zu?
+@              K. Varia
+145E6  ANATOLIAN HIEROGLYPH A433
+       = syllabic sá
+145E7  ANATOLIAN HIEROGLYPH A434
+       = syllabic ka
+145E8  ANATOLIAN HIEROGLYPH A435
+       = syllabic a-x?
+145E9  ANATOLIAN HIEROGLYPH A436
+145EA  ANATOLIAN HIEROGLYPH A437
+145EB  ANATOLIAN HIEROGLYPH A438
+       = pastor
+145EC  ANATOLIAN HIEROGLYPH A439
+       = syllabic wa/i
+145ED  ANATOLIAN HIEROGLYPH A440
+145EE  ANATOLIAN HIEROGLYPH A441
+145EF  ANATOLIAN HIEROGLYPH A442
+145F0  ANATOLIAN HIEROGLYPH A443
+145F1  ANATOLIAN HIEROGLYPH A444
+145F2  ANATOLIAN HIEROGLYPH A445
+       = syllabic la, li, lu
+145F3  ANATOLIAN HIEROGLYPH A446
+       = syllabic ki
+145F4  ANATOLIAN HIEROGLYPH A447
+       = syllabic ni-x
+145F5  ANATOLIAN HIEROGLYPH A448
+       = syllabic sù?, zú?
+145F6  ANATOLIAN HIEROGLYPH A449
+145F7  ANATOLIAN HIEROGLYPH A450
+       = syllabic a
+       = end of a word
+145F8  ANATOLIAN HIEROGLYPH A450A
+       = a+ra/i, ra+a
+       * 145F7 anatolian hieroglyph a450 + 145B1 anatolian hieroglyph a383 ra or ri
+145F9  ANATOLIAN HIEROGLYPH A451
+       = logosyllabic huru
+145FA  ANATOLIAN HIEROGLYPH A452
+145FB  ANATOLIAN HIEROGLYPH A453
+145FC  ANATOLIAN HIEROGLYPH A454
+145FD  ANATOLIAN HIEROGLYPH A455
+       = syllabic la-x
+145FE  ANATOLIAN HIEROGLYPH A456
+       = syllabic sí?
+145FF  ANATOLIAN HIEROGLYPH A457
+14600  ANATOLIAN HIEROGLYPH A457A
+14601  ANATOLIAN HIEROGLYPH A458
+14602  ANATOLIAN HIEROGLYPH A459
+14603  ANATOLIAN HIEROGLYPH A460
+14604  ANATOLIAN HIEROGLYPH A461
+14605  ANATOLIAN HIEROGLYPH A462
+       = syllabic ma-x?
+14606  ANATOLIAN HIEROGLYPH A463
+14607  ANATOLIAN HIEROGLYPH A464
+14608  ANATOLIAN HIEROGLYPH A465
+14609  ANATOLIAN HIEROGLYPH A466
+1460A  ANATOLIAN HIEROGLYPH A467
+1460B  ANATOLIAN HIEROGLYPH A468
+1460C  ANATOLIAN HIEROGLYPH A469
+1460D  ANATOLIAN HIEROGLYPH A470
+       = twelve
+1460E  ANATOLIAN HIEROGLYPH A471
+1460F  ANATOLIAN HIEROGLYPH A472
+14610  ANATOLIAN HIEROGLYPH A473
+14611  ANATOLIAN HIEROGLYPH A474
+       = eunuchus
+14612  ANATOLIAN HIEROGLYPH A475
+14613  ANATOLIAN HIEROGLYPH A476
+14614  ANATOLIAN HIEROGLYPH A477
+       = flammae?
+14615  ANATOLIAN HIEROGLYPH A478
+14616  ANATOLIAN HIEROGLYPH A479
+14617  ANATOLIAN HIEROGLYPH A480
+14618  ANATOLIAN HIEROGLYPH A481
+14619  ANATOLIAN HIEROGLYPH A482
+1461A  ANATOLIAN HIEROGLYPH A483
+1461B  ANATOLIAN HIEROGLYPH A484
+1461C  ANATOLIAN HIEROGLYPH A485
+1461D  ANATOLIAN HIEROGLYPH A486
+       = falx?
+1461E  ANATOLIAN HIEROGLYPH A487
+1461F  ANATOLIAN HIEROGLYPH A488
+       = syllabic tí
+14620  ANATOLIAN HIEROGLYPH A489
+14621  ANATOLIAN HIEROGLYPH A490
+14622  ANATOLIAN HIEROGLYPH A491
+14623  ANATOLIAN HIEROGLYPH A492
+14624  ANATOLIAN HIEROGLYPH A493
+14625  ANATOLIAN HIEROGLYPH A494
+14626  ANATOLIAN HIEROGLYPH A495
+14627  ANATOLIAN HIEROGLYPH A496
+14628  ANATOLIAN HIEROGLYPH A497
+@              M. Additional signs
+14629  ANATOLIAN HIEROGLYPH A501
+1462A  ANATOLIAN HIEROGLYPH A502
+1462B  ANATOLIAN HIEROGLYPH A503
+1462C  ANATOLIAN HIEROGLYPH A504
+1462D  ANATOLIAN HIEROGLYPH A505
+1462E  ANATOLIAN HIEROGLYPH A506
+       = syllabic hana
+1462F  ANATOLIAN HIEROGLYPH A507
+14630  ANATOLIAN HIEROGLYPH A508
+       = currere
+       = syllabic hwi/a
+14631  ANATOLIAN HIEROGLYPH A509
+14632  ANATOLIAN HIEROGLYPH A510
+14633  ANATOLIAN HIEROGLYPH A511
+14634  ANATOLIAN HIEROGLYPH A512
+14635  ANATOLIAN HIEROGLYPH A513
+14636  ANATOLIAN HIEROGLYPH A514
+14637  ANATOLIAN HIEROGLYPH A515
+14638  ANATOLIAN HIEROGLYPH A516
+14639  ANATOLIAN HIEROGLYPH A517
+1463A  ANATOLIAN HIEROGLYPH A518
+1463B  ANATOLIAN HIEROGLYPH A519
+1463C  ANATOLIAN HIEROGLYPH A520
+1463D  ANATOLIAN HIEROGLYPH A521
+1463E  ANATOLIAN HIEROGLYPH A522
+1463F  ANATOLIAN HIEROGLYPH A523
+14640  ANATOLIAN HIEROGLYPH A524
+       = propheta?, cornu+caput
+14641  ANATOLIAN HIEROGLYPH A525
+       = princeps
+14642  ANATOLIAN HIEROGLYPH A526
+       = Güterbock G195
+14643  ANATOLIAN HIEROGLYPH A527
+       = aper
+14644  ANATOLIAN HIEROGLYPH A528
+       = tì
+14645  ANATOLIAN HIEROGLYPH A529
+       = lingua+x
+14646  ANATOLIAN HIEROGLYPH A530
 @@     16800   Bamum Supplement        16A3F
 @              Characters found through Phase A
 16800  BAMUM LETTER PHASE-A NGKUE MFON
@@ -34939,7 +36872,7 @@ FFFF    <not a character>
 @              Punctuation
 16AF5  BASSA VAH FULL STOP
 @@     16B00   Pahawh Hmong    16B8F
-@+     The character names used for Pahawh Hmong vowel rimes and consonant onsets follow the Third Stage Reduced Version orthography. Annotations give the character names in the Second Stage Reduced Version orthography.
+@+             The character names used for Pahawh Hmong vowel rimes and consonant onsets follow the Third Stage Reduced Version orthography. Annotations give the character names in the Second Stage Reduced Version orthography.
 @              Vowel rimes
 16B00  PAHAWH HMONG VOWEL KEEB
        = keem
@@ -35633,7 +37566,7 @@ FFFF    <not a character>
 1BC60  DUPLOYAN LETTER WOW
        * Salishan
 @              Basic nasal vowels
-@+     These nasal vowel characters position diacritically, as an orientating vowel, or as an invariant vowel.
+@+             These nasal vowel characters position diacritically, as an orientating vowel, or as an invariant vowel.
 1BC61  DUPLOYAN LETTER NASAL U
        * secondary orientating; invariant direction downwards
        * French number 1
@@ -35668,7 +37601,7 @@ FFFF    <not a character>
        * primary orientating vowel
        * Perrault am, em, im, um (with accents)
 @              Attached affixes
-@+     The dots in the chart glyphs for these attached affixes show the position on and relative orientation to the base glyph they are attached to, and are not visibly rendered.
+@+             The dots in the chart glyphs for these attached affixes show the position on and relative orientation to the base glyph they are attached to, and are not visibly rendered.
 1BC70  DUPLOYAN AFFIX LEFT HORIZONTAL SECANT
        * Pernin Reporters' extra-
        x (duployan letter d - 1BC08)
@@ -36340,6 +38273,8 @@ FFFF    <not a character>
 1D1B4  MUSICAL SYMBOL DAMP
 1D1B5  MUSICAL SYMBOL DAMP ALL
 @              Mensural notation
+@+             The following range is specific to Mensural notation.
+@              Mensural notes
 1D1B6  MUSICAL SYMBOL MAXIMA
 1D1B7  MUSICAL SYMBOL LONGA
 1D1B8  MUSICAL SYMBOL BREVIS
@@ -36376,9 +38311,13 @@ FFFF   <not a character>
 @              Miscellaneous symbol
 1D1CF  MUSICAL SYMBOL CROIX
 @              Gregorian notation
+@+             The following range is specific to Gregorian notation.
+@              Clefs
 1D1D0  MUSICAL SYMBOL GREGORIAN C CLEF
 1D1D1  MUSICAL SYMBOL GREGORIAN F CLEF
+@              Accidental
 1D1D2  MUSICAL SYMBOL SQUARE B
+@              Notes
 1D1D3  MUSICAL SYMBOL VIRGA
 1D1D4  MUSICAL SYMBOL PODATUS
 1D1D5  MUSICAL SYMBOL CLIVIS
@@ -36390,6 +38329,28 @@ FFFF   <not a character>
 1D1DB  MUSICAL SYMBOL SCANDICUS FLEXUS
 1D1DC  MUSICAL SYMBOL TORCULUS RESUPINUS
 1D1DD  MUSICAL SYMBOL PES SUBPUNCTIS
+@              Kievan notation
+@+             The following range is specific to Kievan notation.
+@              Clef
+1D1DE  MUSICAL SYMBOL KIEVAN C CLEF
+       * Tsefaut (do or fa) clef
+@              Ornamentation
+1D1DF  MUSICAL SYMBOL KIEVAN END OF PIECE
+@              Notes
+1D1E0  MUSICAL SYMBOL KIEVAN FINAL NOTE
+       * nominal note located between the two rectangles
+1D1E1  MUSICAL SYMBOL KIEVAN RECITATIVE MARK
+       * nominal note located between the two rectangles
+1D1E2  MUSICAL SYMBOL KIEVAN WHOLE NOTE
+       * nominal note located between the two diamonds
+1D1E3  MUSICAL SYMBOL KIEVAN HALF NOTE
+1D1E4  MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN
+1D1E5  MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP
+1D1E6  MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN
+       * nominal note located on the top diamond
+1D1E7  MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP
+@              Accidental
+1D1E8  MUSICAL SYMBOL KIEVAN FLAT SIGN
 @@     1D200   Ancient Greek Musical Notation  1D24F
 @              Ancient Greek vocalic notation
 @+             In a few instances vocalic and instrumental symbols have been unified with each other. In other instances they have been unified with regular Greek letters.
@@ -38769,6 +40730,701 @@ FFFF  <not a character>
        # <font> 0038 digit eight
 1D7FF  MATHEMATICAL MONOSPACE DIGIT NINE
        # <font> 0039 digit nine
+@@     1D800   Sutton SignWriting      1DAAF
+@              Hand shapes with index finger
+1D800  SIGNWRITING HAND-FIST INDEX
+1D801  SIGNWRITING HAND-CIRCLE INDEX
+1D802  SIGNWRITING HAND-CUP INDEX
+1D803  SIGNWRITING HAND-OVAL INDEX
+1D804  SIGNWRITING HAND-HINGE INDEX
+1D805  SIGNWRITING HAND-ANGLE INDEX
+1D806  SIGNWRITING HAND-FIST INDEX BENT
+1D807  SIGNWRITING HAND-CIRCLE INDEX BENT
+1D808  SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT
+1D809  SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE
+1D80A  SIGNWRITING HAND-FIST INDEX CUPPED
+1D80B  SIGNWRITING HAND-FIST INDEX HINGED
+1D80C  SIGNWRITING HAND-FIST INDEX HINGED LOW
+1D80D  SIGNWRITING HAND-CIRCLE INDEX HINGE
+@              Hand shapes with index and middle fingers
+1D80E  SIGNWRITING HAND-FIST INDEX MIDDLE
+1D80F  SIGNWRITING HAND-CIRCLE INDEX MIDDLE
+1D810  SIGNWRITING HAND-FIST INDEX MIDDLE BENT
+1D811  SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES
+1D812  SIGNWRITING HAND-FIST INDEX MIDDLE HINGED
+1D813  SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED
+1D814  SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP
+1D815  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED
+1D816  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT
+1D817  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT
+1D818  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED
+1D819  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED
+1D81A  SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED
+1D81B  SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED
+1D81C  SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX
+1D81D  SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE
+@              Hand shapes with index and middle fingers and thumb
+1D81E  SIGNWRITING HAND-FIST INDEX MIDDLE THUMB
+1D81F  SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB
+1D820  SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT
+1D821  SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT
+1D822  SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT
+1D823  SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE
+1D824  SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE
+1D825  SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED
+1D826  SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE
+1D827  SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD
+1D828  SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED
+1D829  SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED
+1D82A  SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED
+1D82B  SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED
+1D82C  SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT
+1D82D  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE
+1D82E  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED
+1D82F  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT
+1D830  SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP
+1D831  SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP
+1D832  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE
+1D833  SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE
+1D834  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD
+1D835  SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD
+1D836  SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP
+1D837  SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP
+1D838  SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP
+1D839  SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED
+1D83A  SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP
+1D83B  SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP
+1D83C  SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP
+1D83D  SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED
+1D83E  SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT
+1D83F  SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED
+1D840  SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP
+1D841  SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED
+1D842  SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP
+1D843  SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED
+@              Hand shapes with four fingers
+1D844  SIGNWRITING HAND-FLAT FOUR FINGERS
+1D845  SIGNWRITING HAND-FLAT FOUR FINGERS BENT
+1D846  SIGNWRITING HAND-FLAT FOUR FINGERS HINGED
+1D847  SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED
+1D848  SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT
+1D849  SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED
+1D84A  SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT
+1D84B  SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED
+@              Hand shapes with five fingers
+1D84C  SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD
+1D84D  SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD
+1D84E  SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT
+1D84F  SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT
+1D850  SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT
+1D851  SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT
+1D852  SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD
+1D853  SIGNWRITING HAND-CUP FIVE FINGERS SPREAD
+1D854  SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN
+1D855  SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN
+1D856  SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD
+1D857  SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED
+1D858  SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE
+1D859  SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB
+1D85A  SIGNWRITING HAND-FLAT
+1D85B  SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS
+1D85C  SIGNWRITING HAND-FLAT HEEL
+1D85D  SIGNWRITING HAND-FLAT THUMB SIDE
+1D85E  SIGNWRITING HAND-FLAT HEEL THUMB SIDE
+1D85F  SIGNWRITING HAND-FLAT THUMB BENT
+1D860  SIGNWRITING HAND-FLAT THUMB FORWARD
+1D861  SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE
+1D862  SIGNWRITING HAND-FLAT SPLIT CENTRE
+1D863  SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE
+1D864  SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT
+1D865  SIGNWRITING HAND-FLAT SPLIT LITTLE
+1D866  SIGNWRITING HAND-CLAW
+1D867  SIGNWRITING HAND-CLAW THUMB SIDE
+1D868  SIGNWRITING HAND-CLAW NO THUMB
+1D869  SIGNWRITING HAND-CLAW THUMB FORWARD
+1D86A  SIGNWRITING HAND-HOOK CURLICUE
+1D86B  SIGNWRITING HAND-HOOK
+1D86C  SIGNWRITING HAND-CUP OPEN
+1D86D  SIGNWRITING HAND-CUP
+1D86E  SIGNWRITING HAND-CUP OPEN THUMB SIDE
+1D86F  SIGNWRITING HAND-CUP THUMB SIDE
+1D870  SIGNWRITING HAND-CUP OPEN NO THUMB
+1D871  SIGNWRITING HAND-CUP NO THUMB
+1D872  SIGNWRITING HAND-CUP OPEN THUMB FORWARD
+1D873  SIGNWRITING HAND-CUP THUMB FORWARD
+1D874  SIGNWRITING HAND-CURLICUE OPEN
+1D875  SIGNWRITING HAND-CURLICUE
+1D876  SIGNWRITING HAND-CIRCLE
+1D877  SIGNWRITING HAND-OVAL
+1D878  SIGNWRITING HAND-OVAL THUMB SIDE
+1D879  SIGNWRITING HAND-OVAL NO THUMB
+1D87A  SIGNWRITING HAND-OVAL THUMB FORWARD
+1D87B  SIGNWRITING HAND-HINGE OPEN
+1D87C  SIGNWRITING HAND-HINGE OPEN THUMB FORWARD
+1D87D  SIGNWRITING HAND-HINGE
+1D87E  SIGNWRITING HAND-HINGE SMALL
+1D87F  SIGNWRITING HAND-HINGE OPEN THUMB SIDE
+1D880  SIGNWRITING HAND-HINGE THUMB SIDE
+1D881  SIGNWRITING HAND-HINGE OPEN NO THUMB
+1D882  SIGNWRITING HAND-HINGE NO THUMB
+1D883  SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX
+1D884  SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING
+1D885  SIGNWRITING HAND-ANGLE
+@              Hand shapes with little finger
+1D886  SIGNWRITING HAND-FIST INDEX MIDDLE RING
+1D887  SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING
+1D888  SIGNWRITING HAND-HINGE INDEX MIDDLE RING
+1D889  SIGNWRITING HAND-ANGLE INDEX MIDDLE RING
+1D88A  SIGNWRITING HAND-HINGE LITTLE
+1D88B  SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT
+1D88C  SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED
+1D88D  SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED
+1D88E  SIGNWRITING HAND-FIST LITTLE DOWN
+1D88F  SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT
+1D890  SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED
+1D891  SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED
+1D892  SIGNWRITING HAND-FIST LITTLE UP
+1D893  SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP
+1D894  SIGNWRITING HAND-CIRCLE LITTLE UP
+1D895  SIGNWRITING HAND-OVAL LITTLE UP
+1D896  SIGNWRITING HAND-ANGLE LITTLE UP
+1D897  SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE
+1D898  SIGNWRITING HAND-FIST LITTLE BENT
+1D899  SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB
+1D89A  SIGNWRITING HAND-FIST LITTLE THUMB
+1D89B  SIGNWRITING HAND-HINGE LITTLE THUMB
+1D89C  SIGNWRITING HAND-FIST LITTLE INDEX THUMB
+1D89D  SIGNWRITING HAND-HINGE LITTLE INDEX THUMB
+1D89E  SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT
+1D89F  SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB
+1D8A0  SIGNWRITING HAND-FIST LITTLE INDEX
+1D8A1  SIGNWRITING HAND-CIRCLE LITTLE INDEX
+1D8A2  SIGNWRITING HAND-HINGE LITTLE INDEX
+1D8A3  SIGNWRITING HAND-ANGLE LITTLE INDEX
+@              Hand shapes with ring finger
+1D8A4  SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE
+1D8A5  SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE
+1D8A6  SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE
+1D8A7  SIGNWRITING HAND-HINGE RING
+1D8A8  SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE
+1D8A9  SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE
+1D8AA  SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE
+1D8AB  SIGNWRITING HAND-FIST RING DOWN
+1D8AC  SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE
+1D8AD  SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS
+1D8AE  SIGNWRITING HAND-FIST RING UP
+1D8AF  SIGNWRITING HAND-FIST RING RAISED KNUCKLE
+1D8B0  SIGNWRITING HAND-FIST RING LITTLE
+1D8B1  SIGNWRITING HAND-CIRCLE RING LITTLE
+1D8B2  SIGNWRITING HAND-OVAL RING LITTLE
+1D8B3  SIGNWRITING HAND-ANGLE RING LITTLE
+1D8B4  SIGNWRITING HAND-FIST RING MIDDLE
+1D8B5  SIGNWRITING HAND-FIST RING MIDDLE CONJOINED
+1D8B6  SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES
+1D8B7  SIGNWRITING HAND-FIST RING INDEX
+1D8B8  SIGNWRITING HAND-FIST RING THUMB
+1D8B9  SIGNWRITING HAND-HOOK RING THUMB
+@              Hand shapes with middle finger
+1D8BA  SIGNWRITING HAND-FIST INDEX RING LITTLE
+1D8BB  SIGNWRITING HAND-CIRCLE INDEX RING LITTLE
+1D8BC  SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON
+1D8BD  SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT
+1D8BE  SIGNWRITING HAND-HOOK INDEX RING LITTLE IN
+1D8BF  SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER
+1D8C0  SIGNWRITING HAND-CUP INDEX RING LITTLE
+1D8C1  SIGNWRITING HAND-HINGE INDEX RING LITTLE
+1D8C2  SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT
+1D8C3  SIGNWRITING HAND-ANGLE INDEX RING LITTLE
+1D8C4  SIGNWRITING HAND-FIST MIDDLE DOWN
+1D8C5  SIGNWRITING HAND-HINGE MIDDLE
+1D8C6  SIGNWRITING HAND-FIST MIDDLE UP
+1D8C7  SIGNWRITING HAND-CIRCLE MIDDLE UP
+1D8C8  SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE
+1D8C9  SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE
+1D8CA  SIGNWRITING HAND-HOOK MIDDLE THUMB
+1D8CB  SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE
+1D8CC  SIGNWRITING HAND-FIST MIDDLE LITTLE
+@              Hand shapes with index finger and thumb
+1D8CD  SIGNWRITING HAND-FIST MIDDLE RING LITTLE
+1D8CE  SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE
+1D8CF  SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON
+1D8D0  SIGNWRITING HAND-CUP MIDDLE RING LITTLE
+1D8D1  SIGNWRITING HAND-HINGE MIDDLE RING LITTLE
+1D8D2  SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT
+1D8D3  SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN
+1D8D4  SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE
+1D8D5  SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT
+1D8D6  SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED
+1D8D7  SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE
+1D8D8  SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT
+1D8D9  SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN
+1D8DA  SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED
+1D8DB  SIGNWRITING HAND-HINGE INDEX HINGED
+1D8DC  SIGNWRITING HAND-FIST INDEX THUMB SIDE
+1D8DD  SIGNWRITING HAND-HINGE INDEX THUMB SIDE
+1D8DE  SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL
+1D8DF  SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED
+1D8E0  SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT
+1D8E1  SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT
+1D8E2  SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT
+1D8E3  SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE
+1D8E4  SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT
+1D8E5  SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT
+1D8E6  SIGNWRITING HAND-FIST INDEX THUMB HOOK
+1D8E7  SIGNWRITING HAND-FIST INDEX THUMB CURLICUE
+1D8E8  SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE
+1D8E9  SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE
+1D8EA  SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER
+1D8EB  SIGNWRITING HAND-FIST INDEX THUMB CIRCLE
+1D8EC  SIGNWRITING HAND-CUP INDEX THUMB
+1D8ED  SIGNWRITING HAND-CUP INDEX THUMB OPEN
+1D8EE  SIGNWRITING HAND-HINGE INDEX THUMB OPEN
+1D8EF  SIGNWRITING HAND-HINGE INDEX THUMB LARGE
+1D8F0  SIGNWRITING HAND-HINGE INDEX THUMB
+1D8F1  SIGNWRITING HAND-HINGE INDEX THUMB SMALL
+1D8F2  SIGNWRITING HAND-ANGLE INDEX THUMB OUT
+1D8F3  SIGNWRITING HAND-ANGLE INDEX THUMB IN
+1D8F4  SIGNWRITING HAND-ANGLE INDEX THUMB
+@              Hand shapes with thumb
+1D8F5  SIGNWRITING HAND-FIST THUMB
+1D8F6  SIGNWRITING HAND-FIST THUMB HEEL
+1D8F7  SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL
+1D8F8  SIGNWRITING HAND-FIST THUMB SIDE CONJOINED
+1D8F9  SIGNWRITING HAND-FIST THUMB SIDE BENT
+1D8FA  SIGNWRITING HAND-FIST THUMB FORWARD
+1D8FB  SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE
+1D8FC  SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING
+1D8FD  SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE
+1D8FE  SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS
+1D8FF  SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS
+1D900  SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS
+1D901  SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS
+1D902  SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES
+1D903  SIGNWRITING HAND-FIST
+1D904  SIGNWRITING HAND-FIST HEEL
+@              Contact movement indicators
+1D905  SIGNWRITING TOUCH SINGLE
+1D906  SIGNWRITING TOUCH MULTIPLE
+1D907  SIGNWRITING TOUCH BETWEEN
+1D908  SIGNWRITING GRASP SINGLE
+1D909  SIGNWRITING GRASP MULTIPLE
+1D90A  SIGNWRITING GRASP BETWEEN
+1D90B  SIGNWRITING STRIKE SINGLE
+1D90C  SIGNWRITING STRIKE MULTIPLE
+1D90D  SIGNWRITING STRIKE BETWEEN
+1D90E  SIGNWRITING BRUSH SINGLE
+1D90F  SIGNWRITING BRUSH MULTIPLE
+1D910  SIGNWRITING BRUSH BETWEEN
+1D911  SIGNWRITING RUB SINGLE
+1D912  SIGNWRITING RUB MULTIPLE
+1D913  SIGNWRITING RUB BETWEEN
+1D914  SIGNWRITING SURFACE SYMBOLS
+1D915  SIGNWRITING SURFACE BETWEEN
+@              Finger movement indicators
+1D916  SIGNWRITING SQUEEZE LARGE SINGLE
+1D917  SIGNWRITING SQUEEZE SMALL SINGLE
+1D918  SIGNWRITING SQUEEZE LARGE MULTIPLE
+1D919  SIGNWRITING SQUEEZE SMALL MULTIPLE
+1D91A  SIGNWRITING SQUEEZE SEQUENTIAL
+1D91B  SIGNWRITING FLICK LARGE SINGLE
+1D91C  SIGNWRITING FLICK SMALL SINGLE
+1D91D  SIGNWRITING FLICK LARGE MULTIPLE
+1D91E  SIGNWRITING FLICK SMALL MULTIPLE
+1D91F  SIGNWRITING FLICK SEQUENTIAL
+1D920  SIGNWRITING SQUEEZE FLICK ALTERNATING
+1D921  SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE
+1D922  SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL
+1D923  SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL
+1D924  SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL
+1D925  SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE
+1D926  SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL
+1D927  SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS
+1D928  SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT
+1D929  SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT
+@              Movement indicators
+1D92A  SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL
+1D92B  SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM
+1D92C  SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE
+1D92D  SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST
+1D92E  SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX
+1D92F  SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT
+1D930  SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX
+1D931  SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING
+1D932  SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX
+1D933  SIGNWRITING MOVEMENT-WALLPLANE CROSS
+1D934  SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT
+1D935  SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX
+1D936  SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING
+1D937  SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX
+1D938  SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL
+1D939  SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM
+1D93A  SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE
+1D93B  SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL
+1D93C  SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM
+1D93D  SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE
+1D93E  SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION
+1D93F  SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL
+1D940  SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM
+1D941  SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE
+1D942  SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL
+1D943  SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM
+1D944  SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE
+1D945  SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL
+1D946  SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM
+1D947  SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE
+1D948  SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL
+1D949  SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM
+1D94A  SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE
+1D94B  SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE
+1D94C  SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE
+1D94D  SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING
+1D94E  SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE
+1D94F  SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE
+1D950  SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING
+1D951  SIGNWRITING TRAVEL-WALLPLANE SHAKING
+1D952  SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE
+1D953  SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE
+1D954  SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE
+1D955  SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL
+1D956  SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM
+1D957  SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE
+1D958  SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST
+1D959  SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL
+1D95A  SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM
+1D95B  SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE
+1D95C  SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST
+1D95D  SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL
+1D95E  SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM
+1D95F  SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE
+1D960  SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST
+1D961  SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL
+1D962  SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM
+1D963  SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE
+1D964  SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST
+1D965  SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL
+1D966  SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM
+1D967  SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE
+1D968  SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST
+1D969  SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX
+1D96A  SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT
+1D96B  SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX
+1D96C  SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING
+1D96D  SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX
+1D96E  SIGNWRITING MOVEMENT-FLOORPLANE CROSS
+1D96F  SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT
+1D970  SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX
+1D971  SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT
+1D972  SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX
+1D973  SIGNWRITING MOVEMENT-FLOORPLANE BEND
+1D974  SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL
+1D975  SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM
+1D976  SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE
+1D977  SIGNWRITING MOVEMENT-FLOORPLANE CHECK
+1D978  SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL
+1D979  SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM
+1D97A  SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE
+1D97B  SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL
+1D97C  SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM
+1D97D  SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE
+1D97E  SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL
+1D97F  SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM
+1D980  SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE
+1D981  SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE
+1D982  SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE
+1D983  SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING
+1D984  SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE
+1D985  SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE
+1D986  SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING
+1D987  SIGNWRITING TRAVEL-FLOORPLANE SHAKING
+1D988  SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL
+1D989  SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM
+1D98A  SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE
+1D98B  SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST
+1D98C  SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL
+1D98D  SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM
+1D98E  SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE
+1D98F  SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST
+1D990  SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL
+1D991  SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM
+1D992  SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL
+1D993  SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM
+1D994  SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE
+1D995  SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL
+1D996  SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM
+1D997  SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE
+1D998  SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE
+1D999  SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL
+1D99A  SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM
+1D99B  SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE
+1D99C  SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL
+1D99D  SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM
+1D99E  SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE
+1D99F  SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT
+1D9A0  SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL
+1D9A1  SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM
+1D9A2  SIGNWRITING ROTATION-WALLPLANE SINGLE
+1D9A3  SIGNWRITING ROTATION-WALLPLANE DOUBLE
+1D9A4  SIGNWRITING ROTATION-WALLPLANE ALTERNATE
+1D9A5  SIGNWRITING MOVEMENT-WALLPLANE SHAKING
+1D9A6  SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL
+1D9A7  SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL
+1D9A8  SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL
+1D9A9  SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL
+1D9AA  SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL
+1D9AB  SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL
+1D9AC  SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL
+1D9AD  SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST
+1D9AE  SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST
+1D9AF  SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST
+1D9B0  SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST
+1D9B1  SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST
+1D9B2  SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST
+1D9B3  SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST
+1D9B4  SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL
+1D9B5  SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM
+1D9B6  SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE
+1D9B7  SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL
+1D9B8  SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE
+1D9B9  SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE
+1D9BA  SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE
+1D9BB  SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE
+1D9BC  SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE
+1D9BD  SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE
+1D9BE  SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE
+1D9BF  SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE
+1D9C0  SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE
+1D9C1  SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL
+1D9C2  SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE
+1D9C3  SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING
+1D9C4  SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING
+1D9C5  SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING
+1D9C6  SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL
+1D9C7  SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE
+1D9C8  SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE
+1D9C9  SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE
+1D9CA  SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE
+1D9CB  SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE
+1D9CC  SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE
+1D9CD  SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE
+1D9CE  SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE
+1D9CF  SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE
+1D9D0  SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL
+1D9D1  SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE
+1D9D2  SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR
+1D9D3  SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR
+1D9D4  SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR
+1D9D5  SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL
+1D9D6  SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM
+1D9D7  SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE
+1D9D8  SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST
+1D9D9  SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED
+1D9DA  SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL
+1D9DB  SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL
+1D9DC  SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE
+1D9DD  SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL
+1D9DE  SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE
+1D9DF  SIGNWRITING ROTATION-FLOORPLANE SINGLE
+1D9E0  SIGNWRITING ROTATION-FLOORPLANE DOUBLE
+1D9E1  SIGNWRITING ROTATION-FLOORPLANE ALTERNATING
+1D9E2  SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL
+1D9E3  SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE
+1D9E4  SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE
+1D9E5  SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE
+1D9E6  SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE
+1D9E7  SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE
+1D9E8  SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE
+1D9E9  SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE
+1D9EA  SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE
+1D9EB  SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE
+1D9EC  SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE
+1D9ED  SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE
+1D9EE  SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE
+1D9EF  SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE
+1D9F0  SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE
+1D9F1  SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE
+1D9F2  SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE
+1D9F3  SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE
+1D9F4  SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE
+@              Dynamics indicators
+1D9F5  SIGNWRITING DYNAMIC ARROWHEAD SMALL
+1D9F6  SIGNWRITING DYNAMIC ARROWHEAD LARGE
+1D9F7  SIGNWRITING DYNAMIC FAST
+1D9F8  SIGNWRITING DYNAMIC SLOW
+1D9F9  SIGNWRITING DYNAMIC TENSE
+1D9FA  SIGNWRITING DYNAMIC RELAXED
+1D9FB  SIGNWRITING DYNAMIC SIMULTANEOUS
+1D9FC  SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING
+1D9FD  SIGNWRITING DYNAMIC EVERY OTHER TIME
+1D9FE  SIGNWRITING DYNAMIC GRADUAL
+@              Head shapes
+1D9FF  SIGNWRITING HEAD
+1DA00  SIGNWRITING HEAD RIM
+1DA01  SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT
+1DA02  SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT
+1DA03  SIGNWRITING HEAD MOVEMENT-FLOORPLANE STRAIGHT
+1DA04  SIGNWRITING HEAD MOVEMENT-WALLPLANE CURVE
+1DA05  SIGNWRITING HEAD MOVEMENT-FLOORPLANE CURVE
+1DA06  SIGNWRITING HEAD MOVEMENT CIRCLE
+1DA07  SIGNWRITING FACE DIRECTION POSITION NOSE FORWARD TILTING
+1DA08  SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN
+1DA09  SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN TILTING
+1DA0A  SIGNWRITING EYEBROWS STRAIGHT UP
+1DA0B  SIGNWRITING EYEBROWS STRAIGHT NEUTRAL
+1DA0C  SIGNWRITING EYEBROWS STRAIGHT DOWN
+1DA0D  SIGNWRITING DREAMY EYEBROWS NEUTRAL DOWN
+1DA0E  SIGNWRITING DREAMY EYEBROWS DOWN NEUTRAL
+1DA0F  SIGNWRITING DREAMY EYEBROWS UP NEUTRAL
+1DA10  SIGNWRITING DREAMY EYEBROWS NEUTRAL UP
+1DA11  SIGNWRITING FOREHEAD NEUTRAL
+1DA12  SIGNWRITING FOREHEAD CONTACT
+1DA13  SIGNWRITING FOREHEAD WRINKLED
+1DA14  SIGNWRITING EYES OPEN
+1DA15  SIGNWRITING EYES SQUEEZED
+1DA16  SIGNWRITING EYES CLOSED
+1DA17  SIGNWRITING EYE BLINK SINGLE
+1DA18  SIGNWRITING EYE BLINK MULTIPLE
+1DA19  SIGNWRITING EYES HALF OPEN
+1DA1A  SIGNWRITING EYES WIDE OPEN
+1DA1B  SIGNWRITING EYES HALF CLOSED
+1DA1C  SIGNWRITING EYES WIDENING MOVEMENT
+1DA1D  SIGNWRITING EYE WINK
+       * squeezed eye blink
+1DA1E  SIGNWRITING EYELASHES UP
+1DA1F  SIGNWRITING EYELASHES DOWN
+1DA20  SIGNWRITING EYELASHES FLUTTERING
+1DA21  SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT
+1DA22  SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT DOUBLE
+1DA23  SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ALTERNATING
+1DA24  SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT
+1DA25  SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT DOUBLE
+1DA26  SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ALTERNATING
+1DA27  SIGNWRITING EYEGAZE-WALLPLANE CURVED
+1DA28  SIGNWRITING EYEGAZE-FLOORPLANE CURVED
+1DA29  SIGNWRITING EYEGAZE-WALLPLANE CIRCLING
+1DA2A  SIGNWRITING CHEEKS PUFFED
+1DA2B  SIGNWRITING CHEEKS NEUTRAL
+1DA2C  SIGNWRITING CHEEKS SUCKED
+1DA2D  SIGNWRITING TENSE CHEEKS HIGH
+1DA2E  SIGNWRITING TENSE CHEEKS MIDDLE
+1DA2F  SIGNWRITING TENSE CHEEKS LOW
+1DA30  SIGNWRITING EARS
+1DA31  SIGNWRITING NOSE NEUTRAL
+1DA32  SIGNWRITING NOSE CONTACT
+1DA33  SIGNWRITING NOSE WRINKLES
+1DA34  SIGNWRITING NOSE WIGGLES
+1DA35  SIGNWRITING AIR BLOWING OUT
+1DA36  SIGNWRITING AIR SUCKING IN
+1DA37  SIGNWRITING AIR BLOW SMALL ROTATIONS
+1DA38  SIGNWRITING AIR SUCK SMALL ROTATIONS
+1DA39  SIGNWRITING BREATH INHALE
+1DA3A  SIGNWRITING BREATH EXHALE
+1DA3B  SIGNWRITING MOUTH CLOSED NEUTRAL
+1DA3C  SIGNWRITING MOUTH CLOSED FORWARD
+1DA3D  SIGNWRITING MOUTH CLOSED CONTACT
+1DA3E  SIGNWRITING MOUTH SMILE
+1DA3F  SIGNWRITING MOUTH SMILE WRINKLED
+1DA40  SIGNWRITING MOUTH SMILE OPEN
+1DA41  SIGNWRITING MOUTH FROWN
+1DA42  SIGNWRITING MOUTH FROWN WRINKLED
+1DA43  SIGNWRITING MOUTH FROWN OPEN
+1DA44  SIGNWRITING MOUTH OPEN CIRCLE
+1DA45  SIGNWRITING MOUTH OPEN FORWARD
+1DA46  SIGNWRITING MOUTH OPEN WRINKLED
+1DA47  SIGNWRITING MOUTH OPEN OVAL
+1DA48  SIGNWRITING MOUTH OPEN OVAL WRINKLED
+1DA49  SIGNWRITING MOUTH OPEN OVAL YAWN
+1DA4A  SIGNWRITING MOUTH OPEN RECTANGLE
+1DA4B  SIGNWRITING MOUTH OPEN RECTANGLE WRINKLED
+1DA4C  SIGNWRITING MOUTH OPEN RECTANGLE YAWN
+1DA4D  SIGNWRITING MOUTH KISS
+1DA4E  SIGNWRITING MOUTH KISS FORWARD
+1DA4F  SIGNWRITING MOUTH KISS WRINKLED
+1DA50  SIGNWRITING MOUTH TENSE
+1DA51  SIGNWRITING MOUTH TENSE FORWARD
+1DA52  SIGNWRITING MOUTH TENSE SUCKED
+1DA53  SIGNWRITING LIPS PRESSED TOGETHER
+1DA54  SIGNWRITING LIP LOWER OVER UPPER
+1DA55  SIGNWRITING LIP UPPER OVER LOWER
+1DA56  SIGNWRITING MOUTH CORNERS
+1DA57  SIGNWRITING MOUTH WRINKLES SINGLE
+1DA58  SIGNWRITING MOUTH WRINKLES DOUBLE
+1DA59  SIGNWRITING TONGUE STICKING OUT FAR
+1DA5A  SIGNWRITING TONGUE LICKING LIPS
+1DA5B  SIGNWRITING TONGUE TIP BETWEEN LIPS
+1DA5C  SIGNWRITING TONGUE TIP TOUCHING INSIDE MOUTH
+1DA5D  SIGNWRITING TONGUE INSIDE MOUTH RELAXED
+1DA5E  SIGNWRITING TONGUE MOVES AGAINST CHEEK
+1DA5F  SIGNWRITING TONGUE CENTRE STICKING OUT
+1DA60  SIGNWRITING TONGUE CENTRE INSIDE MOUTH
+1DA61  SIGNWRITING TEETH
+1DA62  SIGNWRITING TEETH MOVEMENT
+1DA63  SIGNWRITING TEETH ON TONGUE
+1DA64  SIGNWRITING TEETH ON TONGUE MOVEMENT
+1DA65  SIGNWRITING TEETH ON LIPS
+1DA66  SIGNWRITING TEETH ON LIPS MOVEMENT
+1DA67  SIGNWRITING TEETH BITE LIPS
+1DA68  SIGNWRITING MOVEMENT-WALLPLANE JAW
+1DA69  SIGNWRITING MOVEMENT-FLOORPLANE JAW
+1DA6A  SIGNWRITING NECK
+1DA6B  SIGNWRITING HAIR
+1DA6C  SIGNWRITING EXCITEMENT
+@              Body shapes
+1DA6D  SIGNWRITING SHOULDER HIP SPINE
+1DA6E  SIGNWRITING SHOULDER HIP POSITIONS
+1DA6F  SIGNWRITING WALLPLANE SHOULDER HIP MOVE
+1DA70  SIGNWRITING FLOORPLANE SHOULDER HIP MOVE
+1DA71  SIGNWRITING SHOULDER TILTING FROM WAIST
+1DA72  SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH
+1DA73  SIGNWRITING TORSO-WALLPLANE CURVED BEND
+1DA74  SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA75  SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA76  SIGNWRITING LIMB COMBINATION
+1DA77  SIGNWRITING LIMB LENGTH-1
+1DA78  SIGNWRITING LIMB LENGTH-2
+1DA79  SIGNWRITING LIMB LENGTH-3
+1DA7A  SIGNWRITING LIMB LENGTH-4
+1DA7B  SIGNWRITING LIMB LENGTH-5
+1DA7C  SIGNWRITING LIMB LENGTH-6
+1DA7D  SIGNWRITING LIMB LENGTH-7
+1DA7E  SIGNWRITING FINGER
+@              Location bases
+1DA7F  SIGNWRITING LOCATION-WALLPLANE SPACE
+1DA80  SIGNWRITING LOCATION-FLOORPLANE SPACE
+1DA81  SIGNWRITING LOCATION HEIGHT
+1DA82  SIGNWRITING LOCATION WIDTH
+1DA83  SIGNWRITING LOCATION DEPTH
+1DA84  SIGNWRITING LOCATION HEAD NECK
+1DA85  SIGNWRITING LOCATION TORSO
+1DA86  SIGNWRITING LOCATION LIMBS DIGITS
+@              Punctuation
+1DA87  SIGNWRITING COMMA
+1DA88  SIGNWRITING FULL STOP
+1DA89  SIGNWRITING SEMICOLON
+1DA8A  SIGNWRITING COLON
+1DA8B  SIGNWRITING PARENTHESIS
+       * is a closing parenthesis when used with 1DAA4 signwriting rotation modifier-5
+@              Fill modifiers
+1DA9B  SIGNWRITING FILL MODIFIER-2
+1DA9C  SIGNWRITING FILL MODIFIER-3
+1DA9D  SIGNWRITING FILL MODIFIER-4
+1DA9E  SIGNWRITING FILL MODIFIER-5
+1DA9F  SIGNWRITING FILL MODIFIER-6
+@              Rotation modifiers
+1DAA1  SIGNWRITING ROTATION MODIFIER-2
+1DAA2  SIGNWRITING ROTATION MODIFIER-3
+1DAA3  SIGNWRITING ROTATION MODIFIER-4
+1DAA4  SIGNWRITING ROTATION MODIFIER-5
+1DAA5  SIGNWRITING ROTATION MODIFIER-6
+1DAA6  SIGNWRITING ROTATION MODIFIER-7
+1DAA7  SIGNWRITING ROTATION MODIFIER-8
+1DAA8  SIGNWRITING ROTATION MODIFIER-9
+1DAA9  SIGNWRITING ROTATION MODIFIER-10
+1DAAA  SIGNWRITING ROTATION MODIFIER-11
+1DAAB  SIGNWRITING ROTATION MODIFIER-12
+1DAAC  SIGNWRITING ROTATION MODIFIER-13
+1DAAD  SIGNWRITING ROTATION MODIFIER-14
+1DAAE  SIGNWRITING ROTATION MODIFIER-15
+1DAAF  SIGNWRITING ROTATION MODIFIER-16
 @@     1E800   Mende Kikakui   1E8DF
 @              Syllables in k-
 1E800  MENDE KIKAKUI SYLLABLE M001 KI
@@ -39450,7 +42106,7 @@ FFFF    <not a character>
 1F02A  MAHJONG TILE JOKER
        = baida
 1F02B  MAHJONG TILE BACK
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     1F030   Domino Tiles    1F09F
 @              Horizontal tiles
 1F030  DOMINO TILE HORIZONTAL BACK
@@ -39934,8 +42590,12 @@ FFFF   <not a character>
 @+             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
@@ -39957,6 +42617,8 @@ FFFF    <not a character>
 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
@@ -40005,7 +42667,7 @@ FFFF    <not a character>
 1F19A  SQUARED VS
        = versus
 @              Regional indicator symbols
-@+     These characters can be used in pairs to represent regional codes. In some emoji implementations, certain pairs may be recognized and displayed by alternate means; for instance, an implementation might recognize F + R and display this combination with a symbol representing the flag of France.
+@+             These characters can be used in pairs to represent regional codes. In some emoji implementations, certain pairs may be recognized and displayed by alternate means; for instance, an implementation might recognize F + R and display this combination with a symbol representing the flag of France.
 1F1E6  REGIONAL INDICATOR SYMBOL LETTER A
 1F1E7  REGIONAL INDICATOR SYMBOL LETTER B
 1F1E8  REGIONAL INDICATOR SYMBOL LETTER C
@@ -40032,7 +42694,7 @@ FFFF    <not a character>
 1F1FD  REGIONAL INDICATOR SYMBOL LETTER X
 1F1FE  REGIONAL INDICATOR SYMBOL LETTER Y
 1F1FF  REGIONAL INDICATOR SYMBOL LETTER Z
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     1F200   Enclosed Ideographic Supplement 1F2FF
 @              Squared hiragana from ARIB STD B24
 1F200  SQUARE HIRAGANA HOKA
@@ -40045,6 +42707,8 @@ FFFF    <not a character>
 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
@@ -40176,6 +42840,8 @@ FFFF    <not a character>
 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
@@ -40221,7 +42887,7 @@ FFFF    <not a character>
 1F251  CIRCLED IDEOGRAPH ACCEPT
        = accept sign
        # <circle> 53EF
-@~     !{FE0E FE0F} Standardized Variation Sequences
+@~     !
 @@     1F300   Miscellaneous Symbols and Pictographs   1F5FF
 @              Weather, landscape, and sky symbols
 1F300  CYCLONE
@@ -40301,6 +42967,10 @@ FFFF   <not a character>
        x (foggy - 1F301)
 1F32C  WIND BLOWING FACE
        = wind
+@              Food symbols
+1F32D  HOT DOG
+1F32E  TACO
+1F32F  BURRITO
 @              Plant symbols
 1F330  CHESTNUT
 1F331  SEEDLING
@@ -40411,6 +43081,9 @@ FFFF    <not a character>
 1F37D  FORK AND KNIFE WITH PLATE
        = dining
        x (fork and knife - 1F374)
+@              Beverage and food symbols
+1F37E  BOTTLE WITH POPPING CORK
+1F37F  POPCORN
 @              Celebration symbols
 1F380  RIBBON
 1F381  WRAPPED PRESENT
@@ -40518,6 +43191,7 @@ FFFF    <not a character>
        x (bullseye - 25CE)
 1F3B0  SLOT MACHINE
 1F3B1  BILLIARDS
+       * sometimes depicted as just an 8-ball
 1F3B2  GAME DIE
 1F3B3  BOWLING
 1F3B4  FLOWER PLAYING CARDS
@@ -40565,8 +43239,14 @@ FFFF   <not a character>
 1F3CC  GOLFER
 1F3CD  RACING MOTORCYCLE
        = motorcycle
+       * may be depicted as an ordinary motorcycle, especially in emoji presentation
 1F3CE  RACING CAR
        = race car
+1F3CF  CRICKET BAT AND BALL
+1F3D0  VOLLEYBALL
+1F3D1  FIELD HOCKEY STICK AND BALL
+1F3D2  ICE HOCKEY STICK AND PUCK
+1F3D3  TABLE TENNIS PADDLE AND BALL
 @              Buiding and map symbols
 1F3D4  SNOW CAPPED MOUNTAIN
        x (mountain - 26F0)
@@ -40595,6 +43275,7 @@ FFFF    <not a character>
        = island
        x (palm tree - 1F334)
 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)
 1F3DF  STADIUM
 1F3E0  HOUSE BUILDING
@@ -40644,6 +43325,21 @@ FFFF   <not a character>
 1F3F7  LABEL
        = price, price tag
        x (bookmark - 1F516)
+@              Sport symbols
+1F3F8  BADMINTON RACQUET AND SHUTTLECOCK
+1F3F9  BOW AND ARROW
+       * used for Sagittarius
+       x (sagittarius - 2650)
+@              Miscellaneous symbol
+1F3FA  AMPHORA
+       * used for Aquarius
+       x (aquarius - 2652)
+@              Emoji modifiers
+1F3FB  EMOJI MODIFIER FITZPATRICK TYPE-1-2
+1F3FC  EMOJI MODIFIER FITZPATRICK TYPE-3
+1F3FD  EMOJI MODIFIER FITZPATRICK TYPE-4
+1F3FE  EMOJI MODIFIER FITZPATRICK TYPE-5
+1F3FF  EMOJI MODIFIER FITZPATRICK TYPE-6
 @              Animal symbols
 1F400  RAT
        * first of the signs of the Asian zodiac
@@ -40822,14 +43518,18 @@ FFFF  <not a character>
 1F46D  TWO WOMEN HOLDING HANDS
 1F46E  POLICE OFFICER
 1F46F  WOMAN WITH BUNNY EARS
+       * most popularly depicted as two women dancing
 1F470  BRIDE WITH VEIL
 1F471  PERSON WITH BLOND HAIR
 1F472  MAN WITH GUA PI MAO
 1F473  MAN WITH TURBAN
+       * may be shown with or without a beard
 1F474  OLDER MAN
 1F475  OLDER WOMAN
 1F476  BABY
 1F477  CONSTRUCTION WORKER
+       * the helmet may show a green cross, used as a safety reminder in Japan
+       x (helmet with white cross - 26D1)
 @              Fairy tale symbols
 1F478  PRINCESS
 1F479  JAPANESE OGRE
@@ -40838,12 +43538,16 @@ FFFF  <not a character>
 1F47C  BABY ANGEL
 1F47D  EXTRATERRESTRIAL ALIEN
 1F47E  ALIEN MONSTER
+       x (robot face - 1F916)
 1F47F  IMP
+       * commonly depicted as a frowning/angry version of 1F608 smiling face with horns
 1F480  SKULL
 @              Role symbols
 1F481  INFORMATION DESK PERSON
+       * often used to indicate "sassy" or "carefree"
 1F482  GUARDSMAN
 1F483  DANCER
+       * also used for "let's party"
 @              Personal care symbols
 1F484  LIPSTICK
 1F485  NAIL POLISH
@@ -40909,6 +43613,7 @@ FFFF    <not a character>
        = running dash, briffits
 1F4A9  PILE OF POO
        = dog dirt
+       * may be depicted with a friendly face
 1F4AA  FLEXED BICEPS
        = strong, muscled
 1F4AB  DIZZY SYMBOL
@@ -40938,6 +43643,7 @@ FFFF    <not a character>
 1F4B9  CHART WITH UPWARDS TREND AND YEN SIGN
 @              Office symbols
 1F4BA  SEAT
+       * intended to denote a reserved or ticketed seat, as for an airplane, train, or theater
 1F4BB  PERSONAL COMPUTER
        x (old personal computer - 1F5B3)
 1F4BC  BRIEFCASE
@@ -40993,6 +43699,7 @@ FFFF    <not a character>
 @              Communication symbols
 1F4DD  MEMO
 1F4DE  TELEPHONE RECEIVER
+       * commonly oriented rightwards, so that a face emoticon can be positioned to the right
        x (left hand telephone receiver - 1F57B)
        x (right hand telephone receiver - 1F57D)
 1F4DF  PAGER
@@ -41011,7 +43718,7 @@ FFFF    <not a character>
 1F4E6  PACKAGE
        x (wrapped present - 1F381)
 1F4E7  E-MAIL SYMBOL
-       * glyph may show an @-sign instead of an E
+       * glyph may show an E instead of an @-sign
        x (envelope with lightning - 1F584)
 1F4E8  INCOMING ENVELOPE
        x (envelope - 2709)
@@ -41052,6 +43759,8 @@ FFFF    <not a character>
        x (cinema - 1F3A6)
 1F4FE  PORTABLE STEREO
        = stereo
+@              Religious symbol
+1F4FF  PRAYER BEADS
 @              User interface symbols
 1F500  TWISTED RIGHTWARDS ARROWS
        = shuffle
@@ -41101,6 +43810,7 @@ FFFF    <not a character>
        x (ringing bell - 1F56D)
 1F515  BELL WITH CANCELLATION STROKE
 1F516  BOOKMARK
+       * indicates a bookmark, not a price tag
        x (label - 1F3F7)
 1F517  LINK SYMBOL
 1F518  RADIO BUTTON
@@ -41199,6 +43909,14 @@ FFFF   <not a character>
        x (devanagari om - 0950)
 1F54A  DOVE OF PEACE
        = peace
+1F54B  KAABA
+1F54C  MOSQUE
+1F54D  SYNAGOGUE
+1F54E  MENORAH WITH NINE BRANCHES
+       = hanukiah
+@              Miscellaneous symbol
+1F54F  BOWL OF HYGIEIA
+       x (staff of aesculapius - 2695)
 @              Clock face symbols
 1F550  CLOCK FACE ONE OCLOCK
        x (watch - 231A)
@@ -41530,7 +44248,7 @@ FFFF    <not a character>
 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.
+@+             The emoticons have been organized by mouth shape to make it easier to locate the different characters in the code chart.
 @              Faces
 1F600  GRINNING FACE
 1F601  GRINNING FACE WITH SMILING EYES
@@ -41542,10 +44260,12 @@ FFFF  <not a character>
 1F606  SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
 1F607  SMILING FACE WITH HALO
 1F608  SMILING FACE WITH HORNS
+       * commonly depicted as a (sinister) smiling version of 1F47F imp
 1F609  WINKING FACE
 1F60A  SMILING FACE WITH SMILING EYES
 1F60B  FACE SAVOURING DELICIOUS FOOD
 1F60C  RELIEVED FACE
+       * indicates relief, not sleeping
 1F60D  SMILING FACE WITH HEART-SHAPED EYES
 1F60E  SMILING FACE WITH SUNGLASSES
 1F60F  SMIRKING FACE
@@ -41571,17 +44291,22 @@ FFFF  <not a character>
 1F61F  WORRIED FACE
 1F620  ANGRY FACE
 1F621  POUTING FACE
+       * intended to depict pouting rather than simply anger
 1F622  CRYING FACE
 1F623  PERSEVERING FACE
 1F624  FACE WITH LOOK OF TRIUMPH
+       * indicates triumph, not anger
 1F625  DISAPPOINTED BUT RELIEVED FACE
 1F626  FROWNING FACE WITH OPEN MOUTH
+       * frowning, not shocked or surprised
 1F627  ANGUISHED FACE
 1F628  FEARFUL FACE
 1F629  WEARY FACE
 1F62A  SLEEPY FACE
 1F62B  TIRED FACE
 1F62C  GRIMACING FACE
+       * should not be depicted with zipper mouth
+       x (zipper-mouth face - 1F910)
 1F62D  LOUDLY CRYING FACE
 1F62E  FACE WITH OPEN MOUTH
 1F62F  HUSHED FACE
@@ -41589,6 +44314,7 @@ FFFF    <not a character>
 1F631  FACE SCREAMING IN FEAR
 1F632  ASTONISHED FACE
 1F633  FLUSHED FACE
+       * embarrassed
 1F634  SLEEPING FACE
 1F635  DIZZY FACE
 1F636  FACE WITHOUT MOUTH
@@ -41603,15 +44329,20 @@ FFFF  <not a character>
 1F63C  CAT FACE WITH WRY SMILE
 1F63D  KISSING CAT FACE WITH CLOSED EYES
 1F63E  POUTING CAT FACE
+       * intended to depict pouting rather than simply anger
 1F63F  CRYING CAT FACE
 1F640  WEARY CAT FACE
+       * indicates tired, not horrified
 @              Faces
 1F641  SLIGHTLY FROWNING FACE
        x (white frowning face - 2639)
 1F642  SLIGHTLY SMILING FACE
        x (white smiling face - 263A)
+1F643  UPSIDE-DOWN FACE
+1F644  FACE WITH ROLLING EYES
 @              Gesture symbols
 1F645  FACE WITH NO GOOD GESTURE
+       * conveys "no deal" or "not ok", not anger; the inverse of 1F646 face with ok gesture
 1F646  FACE WITH OK GESTURE
 1F647  PERSON BOWING DEEPLY
 1F648  SEE-NO-EVIL MONKEY
@@ -41622,11 +44353,13 @@ FFFF  <not a character>
        = banzai!
 1F64D  PERSON FROWNING
 1F64E  PERSON WITH POUTING FACE
+       * intended to depict pouting rather than simply anger
 1F64F  PERSON WITH FOLDED HANDS
        * can indicate sorrow or regret
-       * can indicate pleading
+       * can also indicate pleading, praying, bowing, or thanking
 @@     1F650   Ornamental Dingbats     1F67F
-@              Leaf ornaments
+@              Fleurons
+@+             Fleurons are leaf or floral-shaped ornaments used for text decoration.
 1F650  NORTH WEST POINTING LEAF
 1F651  SOUTH WEST POINTING LEAF
 1F652  NORTH EAST POINTING LEAF
@@ -41635,16 +44368,16 @@ FFFF  <not a character>
 1F655  TURNED SOUTH WEST POINTING LEAF
 1F656  TURNED NORTH EAST POINTING LEAF
 1F657  TURNED SOUTH EAST POINTING LEAF
-@              Vine leaf ornaments
 1F658  NORTH WEST POINTING VINE LEAF
 1F659  SOUTH WEST POINTING VINE LEAF
+       x (reversed rotated floral heart bullet - 2619)
 1F65A  NORTH EAST POINTING VINE LEAF
 1F65B  SOUTH EAST POINTING VINE LEAF
+       x (rotated floral heart bullet - 2767)
 1F65C  HEAVY NORTH WEST POINTING VINE LEAF
 1F65D  HEAVY SOUTH WEST POINTING VINE LEAF
 1F65E  HEAVY NORTH EAST POINTING VINE LEAF
 1F65F  HEAVY SOUTH EAST POINTING VINE LEAF
-@              Pointing bud ornaments
 1F660  NORTH WEST POINTING BUD
 1F661  SOUTH WEST POINTING BUD
 1F662  NORTH EAST POINTING BUD
@@ -41661,6 +44394,7 @@ FFFF    <not a character>
 1F66B  SOLID QUILT SQUARE ORNAMENT IN BLACK SQUARE
        = inverse fourfold knot ornament
 @              Rocket ornaments
+@+             The rocket ornaments function similarly to fleurons for text decoration, and are not intended as pictographs for spaceships.
 1F66C  LEFTWARDS ROCKET
        x (rocket - 1F680)
 1F66D  UPWARDS ROCKET
@@ -41823,6 +44557,8 @@ FFFF    <not a character>
 1F6CE  BELLHOP BELL
        = reception, services
 1F6CF  BED
+@              Signage
+1F6D0  PLACE OF WORSHIP
 @              Miscellaneous symbols
 1F6E0  HAMMER AND WRENCH
        = tools, repair facility
@@ -42087,7 +44823,7 @@ FFFF    <not a character>
        = uncia semis
        x (ounce sign - 2125)
 @@     1F780   Geometric Shapes Extended       1F7FF
-@+     These geometric shapes originate from the Webdings/Wingdings collections.
+@+             These geometric shapes originate from the Webdings/Wingdings collections.
 @              Isosceles right triangles
 1F780  BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE
        x (black medium left-pointing triangle - 23F4)
@@ -42098,11 +44834,11 @@ FFFF  <not a character>
 1F783  BLACK DOWN-POINTING ISOSCELES RIGHT TRIANGLE
        x (black medium down-pointing triangle - 23F7)
 @              Black circles
-@+     Constitute a set as follows: 22C5, 2219, 1F784, 2022, 2981, 26AB, 25CF, and 2B24
+@+             Constitute a set as follows: 22C5, 2219, 1F784, 2022, 2981, 26AB, 25CF, and 2B24
 1F784  BLACK SLIGHTLY SMALL CIRCLE
 @              White circles
-@+     Adjective refers to the thickness of the ring.
-@+     Constitute a set as follows: 25CB, 2B58, 1F785..1F789. 
+@+             Adjective refers to the thickness of the ring.
+@+             Constitute a set as follows: 25CB, 2B58, 1F785-1F789. 
 1F785  MEDIUM BOLD WHITE CIRCLE
        x (medium white circle - 26AA)
 1F786  BOLD WHITE CIRCLE
@@ -42111,7 +44847,7 @@ FFFF    <not a character>
 1F788  VERY HEAVY WHITE CIRCLE
 1F789  EXTREMELY HEAVY WHITE CIRCLE
 @              White circles containing another black circle
-@+     Constitute a set as follows: 2299, 1F78A, and 29BF
+@+             Constitute a set as follows: 2299, 1F78A, and 29BF
 1F78A  WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE
 @              Target symbol
 1F78B  ROUND TARGET
@@ -42119,11 +44855,11 @@ FFFF  <not a character>
        x (circled white bullet - 29BE)
        x (heavy circle with circle inside - 2B57)
 @              Black squares
-@+     Constitute a set as follows: 1F78C, 2B1D, 1F78D, 25AA, 25FE, 25FC, 25A0, and 2B1B
+@+             Constitute a set as follows: 1F78C, 2B1D, 1F78D, 25AA, 25FE, 25FC, 25A0, and 2B1B
 1F78C  BLACK TINY SQUARE
 1F78D  BLACK SLIGHTLY SMALL SQUARE
 @              White squares
-@+     Constitute a set as follows: 25A1, 1F78E..1F792
+@+             Constitute a set as follows: 25A1, 1F78E-1F793
 1F78E  LIGHT WHITE SQUARE
 1F78F  MEDIUM WHITE SQUARE
 1F790  BOLD WHITE SQUARE
@@ -42132,24 +44868,24 @@ FFFF  <not a character>
 1F792  VERY HEAVY WHITE SQUARE
 1F793  EXTREMELY HEAVY WHITE SQUARE
 @              White squares containing another black square
-@+     Constitute a set as follows: 1F794, 25A3, and 1F795
+@+             Constitute a set as follows: 1F794, 25A3, and 1F795
 1F794  WHITE SQUARE CONTAINING BLACK VERY SMALL SQUARE
 1F795  WHITE SQUARE CONTAINING BLACK MEDIUM SQUARE
 @              Target symbol
 1F796  SQUARE TARGET
 @              Black diamonds
-@+     Constitute a set as follows: 1F797, 1F798, 2B29, 1F799, 2B25, and 25C6
+@+             Constitute a set as follows: 1F797, 1F798, 2B29, 1F799, 2B25, and 25C6
 1F797  BLACK TINY DIAMOND
 1F798  BLACK VERY SMALL DIAMOND
 1F799  BLACK MEDIUM SMALL DIAMOND
 @              White diamonds containing another black diamond
-@+     Constitute a set as follows: 1F79A, 25C8, and 1F79B
+@+             Constitute a set as follows: 1F79A, 25C8, and 1F79B
 1F79A  WHITE DIAMOND CONTAINING BLACK VERY SMALL DIAMOND
 1F79B  WHITE DIAMOND CONTAINING BLACK MEDIUM DIAMOND
 @              Target symbol
 1F79C  DIAMOND TARGET
-@              Lozenges
-@+     Constitute a set as follows: 1F79D, 1F79E, 2B2A, 1F79F, 2B27, 29EB, and 25CA
+@              Black lozenges
+@+             Constitute a set as follows: 1F79D, 1F79E, 2B2A, 1F79F, 2B27, and 29EB
 1F79D  BLACK TINY LOZENGE
 1F79E  BLACK VERY SMALL LOZENGE
 1F79F  BLACK MEDIUM SMALL LOZENGE
@@ -42210,16 +44946,16 @@ FFFF  <not a character>
 1F7C8  REVERSE LIGHT FOUR POINTED PINWHEEL STAR
        = navigate
 @              Five pointed stars
-@+     Constitute a set as follows: 1F7C9, 2605, 1F7CA, and 272F
+@+             Constitute a set as follows: 1F7C9, 2605, 1F7CA, and 272F
 1F7C9  LIGHT FIVE POINTED BLACK STAR
 1F7CA  HEAVY FIVE POINTED BLACK STAR
 @              Six pointed stars
-@+     Constitute a set as follows: 2736, 1F7CB..1F7CD
+@+             Constitute a set as follows: 2736, 1F7CB-1F7CD
 1F7CB  MEDIUM SIX POINTED BLACK STAR
 1F7CC  HEAVY SIX POINTED BLACK STAR
 1F7CD  SIX POINTED PINWHEEL STAR
 @              Eight pointed stars
-@+     Constitute a set as follows: 2735, 1F7CE..1F7D1
+@+             Constitute a set as follows: 2735, 1F7CE-1F7D1
 1F7CE  MEDIUM EIGHT POINTED BLACK STAR
        x (eight pointed rectilinear black star - 2737)
 1F7CF  HEAVY EIGHT POINTED BLACK STAR
@@ -42228,7 +44964,7 @@ FFFF    <not a character>
 1F7D1  HEAVY EIGHT POINTED PINWHEEL STAR
        x (eight pointed pinwheel star - 2735)
 @              Twelve pointed stars
-@+     Constitute a set as follows: 1F7D2, 2739, 1F7D3, and 1F7D4
+@+             Constitute a set as follows: 1F7D2, 2739, 1F7D3, and 1F7D4
 1F7D2  LIGHT TWELVE POINTED BLACK STAR
 1F7D3  HEAVY TWELVE POINTED BLACK STAR
 1F7D4  HEAVY TWELVE POINTED PINWHEEL STAR
@@ -42388,7 +45124,7 @@ FFFF    <not a character>
        x (notched lower right-shadowed white rightwards arrow - 27AF)
 1F89B  DOWNWARDS ARROW WITH NOTCHED TAIL
 @              Heavy arrow shafts
-@+     The vertical alignment and thickness of this set are compatible with heavy shaft arrows.
+@+             The vertical alignment and thickness of this set are compatible with heavy shaft arrows.
 1F89C  HEAVY ARROW SHAFT WIDTH ONE
 1F89D  HEAVY ARROW SHAFT WIDTH TWO THIRDS
 1F89E  HEAVY ARROW SHAFT WIDTH ONE HALF
@@ -42411,9 +45147,36 @@ FFFF   <not a character>
 1F8AB  RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW
        x (front-tilted shadowed white rightwards arrow - 27AC)
 @              White arrow shafts
-@+     The vertical alignment and thickness of this set are compatible with white arrows.
+@+             The vertical alignment and thickness of this set are compatible with white arrows.
 1F8AC  WHITE ARROW SHAFT WIDTH ONE
 1F8AD  WHITE ARROW SHAFT WIDTH TWO THIRDS
+@@     1F900   Supplemental Symbols and Pictographs    1F9FF
+@              Emoticon faces
+1F910  ZIPPER-MOUTH FACE
+1F911  MONEY-MOUTH FACE
+1F912  FACE WITH THERMOMETER
+1F913  NERD FACE
+1F914  THINKING FACE
+1F915  FACE WITH HEAD-BANDAGE
+1F916  ROBOT FACE
+       x (alien monster - 1F47E)
+1F917  HUGGING FACE
+@              Hand symbol
+1F918  SIGN OF THE HORNS
+@              Animal symbols
+1F980  CRAB
+       * used for Cancer
+       x (cancer - 264B)
+1F981  LION FACE
+       * used for Leo
+       x (leo - 264C)
+1F982  SCORPION
+       * used for Scorpio
+       x (scorpius - 264F)
+1F983  TURKEY
+1F984  UNICORN FACE
+@              Food symbol
+1F9C0  CHEESE WEDGE
 @@     1FF80   Unassigned      1FFFF
 @              Noncharacters
 @+             These codes are intended for process-internal uses.
@@ -42422,6 +45185,7 @@ FFFF    <not a character>
 @@     20000   CJK Unified Ideographs Extension B      2A6D6
 @@     2A700   CJK Unified Ideographs Extension C      2B734
 @@     2B740   CJK Unified Ideographs Extension D      2B81D
+@@     2B820   CJK Unified Ideographs Extension E      2CEA1
 @@     2F800   CJK Compatibility Ideographs Supplement 2FA1F
 @              Duplicate characters from CNS 11643-1992
 2F800  CJK COMPATIBILITY IDEOGRAPH-2F800
@@ -43581,9 +46345,10 @@ CFFFF  <not a character>
 DFFFE  <not a character>
 DFFFF  <not a character>
 @@     E0000   Tags    E007F
-@+             Tag characters are deprecated, and their use is strongly discouraged.
+@+             The use of tag characters to convey language tags is strongly discouraged.
 @              Tag identifiers
 E0001  LANGUAGE TAG
+       * This character is deprecated, and its use is strongly discouraged.
 @              Tag components
 E0020  TAG SPACE
 E0021  TAG EXCLAMATION MARK
@@ -43680,7 +46445,9 @@ E007B   TAG LEFT CURLY BRACKET
 E007C  TAG VERTICAL LINE
 E007D  TAG RIGHT CURLY BRACKET
 E007E  TAG TILDE
+@              Stateful tag terminator
 E007F  CANCEL TAG
+       * This character is deprecated, and its use is strongly discouraged.
 @@     E0100   Variation Selectors Supplement  E01EF
 @+             These complete the set started at FE00 to FE0F
 @              Variation selectors
index 79c77da..04fc10d 100644 (file)
@@ -1,10 +1,10 @@
-# NormalizationCorrections-7.0.0.txt
-# Date: 2013-12-17, 00:00:00 GMT [KW, LI]
+# NormalizationCorrections-8.0.0.txt
+# Date: 2015-03-07, 01:30:00 GMT [KW, LI]
 #
 # This file is a normative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # The normalization stability policy of the Unicode Consortium
index 82f650d..2eb2926 100644 (file)
@@ -1,8 +1,8 @@
-# PropList-7.0.0.txt
-# Date: 2014-02-19, 15:51:26 GMT [MD]
+# PropList-8.0.0.txt
+# Date: 2015-05-16, 17:50:38 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -189,18 +189,22 @@ FF64          ; Terminal_Punctuation # Po       HALFWIDTH IDEOGRAPHIC COMMA
 11141..11143  ; Terminal_Punctuation # Po   [3] CHAKMA DANDA..CHAKMA QUESTION MARK
 111C5..111C6  ; Terminal_Punctuation # Po   [2] SHARADA DANDA..SHARADA DOUBLE DANDA
 111CD         ; Terminal_Punctuation # Po       SHARADA SUTRA MARK
+111DE..111DF  ; Terminal_Punctuation # Po   [2] SHARADA SECTION MARK-1..SHARADA SECTION MARK-2
 11238..1123C  ; Terminal_Punctuation # Po   [5] KHOJKI DANDA..KHOJKI DOUBLE SECTION MARK
+112A9         ; Terminal_Punctuation # Po       MULTANI SECTION MARK
 115C2..115C5  ; Terminal_Punctuation # Po   [4] SIDDHAM DANDA..SIDDHAM SEPARATOR BAR
-115C9         ; Terminal_Punctuation # Po       SIDDHAM END OF TEXT MARK
+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
 12470..12474  ; Terminal_Punctuation # Po   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
 16A6E..16A6F  ; Terminal_Punctuation # Po   [2] MRO DANDA..MRO DOUBLE DANDA
 16AF5         ; Terminal_Punctuation # Po       BASSA VAH FULL STOP
 16B37..16B39  ; Terminal_Punctuation # Po   [3] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN CIM CHEEM
 16B44         ; Terminal_Punctuation # Po       PAHAWH HMONG SIGN XAUS
 1BC9F         ; Terminal_Punctuation # Po       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
+1DA87..1DA8A  ; Terminal_Punctuation # Po   [4] SIGNWRITING COMMA..SIGNWRITING COLON
 
-# Total code points: 214
+# Total code points: 238
 
 # ================================================
 
@@ -425,7 +429,7 @@ FF41..FF46    ; Hex_Digit # L&   [6] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L
 081B..0823    ; Other_Alphabetic # Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
 0825..0827    ; Other_Alphabetic # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082C    ; Other_Alphabetic # Mn   [4] SAMARITAN VOWEL SIGN LONG I..SAMARITAN VOWEL SIGN SUKUN
-08E4..08E9    ; Other_Alphabetic # Mn   [6] ARABIC CURLY FATHA..ARABIC CURLY KASRATAN
+08E3..08E9    ; Other_Alphabetic # Mn   [7] ARABIC TURNED DAMMA BELOW..ARABIC CURLY KASRATAN
 08F0..0902    ; Other_Alphabetic # Mn  [19] ARABIC OPEN FATHATAN..DEVANAGARI SIGN ANUSVARA
 0903          ; Other_Alphabetic # Mc       DEVANAGARI SIGN VISARGA
 093A          ; Other_Alphabetic # Mn       DEVANAGARI VOWEL SIGN OE
@@ -560,8 +564,6 @@ FF41..FF46    ; Hex_Digit # L&   [6] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L
 1930..1931    ; Other_Alphabetic # Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
 1932          ; Other_Alphabetic # Mn       LIMBU SMALL LETTER ANUSVARA
 1933..1938    ; Other_Alphabetic # Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-19B0..19C0    ; Other_Alphabetic # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9    ; Other_Alphabetic # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
 1A17..1A18    ; Other_Alphabetic # Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
 1A19..1A1A    ; Other_Alphabetic # Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
 1A1B          ; Other_Alphabetic # Mn       BUGINESE VOWEL SIGN AE
@@ -605,7 +607,7 @@ FF41..FF46    ; Hex_Digit # L&   [6] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L
 24B6..24E9    ; Other_Alphabetic # So  [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
 2DE0..2DFF    ; Other_Alphabetic # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
 A674..A67B    ; Other_Alphabetic # Mn   [8] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC LETTER OMEGA
-A69F          ; Other_Alphabetic # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; Other_Alphabetic # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A823..A824    ; Other_Alphabetic # Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
 A825..A826    ; Other_Alphabetic # Mn   [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
 A827          ; Other_Alphabetic # Mc       SYLOTI NAGRI VOWEL SIGN OO
@@ -672,7 +674,7 @@ FB1E          ; Other_Alphabetic # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 112DF         ; Other_Alphabetic # Mn       KHUDAWADI SIGN ANUSVARA
 112E0..112E2  ; Other_Alphabetic # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112E8  ; Other_Alphabetic # Mn   [6] KHUDAWADI VOWEL SIGN U..KHUDAWADI VOWEL SIGN AU
-11301         ; Other_Alphabetic # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Other_Alphabetic # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; Other_Alphabetic # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 1133E..1133F  ; Other_Alphabetic # Mc   [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I
 11340         ; Other_Alphabetic # Mn       GRANTHA VOWEL SIGN II
@@ -693,6 +695,7 @@ FB1E          ; Other_Alphabetic # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 115B8..115BB  ; Other_Alphabetic # Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
 115BC..115BD  ; Other_Alphabetic # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; Other_Alphabetic # Mc       SIDDHAM SIGN VISARGA
+115DC..115DD  ; Other_Alphabetic # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11630..11632  ; Other_Alphabetic # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; Other_Alphabetic # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163B..1163C  ; Other_Alphabetic # Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
@@ -704,6 +707,11 @@ FB1E          ; Other_Alphabetic # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 116AD         ; Other_Alphabetic # Mn       TAKRI VOWEL SIGN AA
 116AE..116AF  ; Other_Alphabetic # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
 116B0..116B5  ; Other_Alphabetic # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+1171D..1171F  ; Other_Alphabetic # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; Other_Alphabetic # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+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
 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
@@ -720,15 +728,16 @@ FB1E          ; Other_Alphabetic # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 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..9FCC    ; Ideographic # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; Ideographic # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
 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
 2F800..2FA1D  ; Ideographic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 75633
+# Total code points: 81404
 
 # ================================================
 
@@ -773,7 +782,7 @@ FA70..FAD9    ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COM
 07EB..07F3    ; Diacritic # Mn   [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
 07F4..07F5    ; Diacritic # Lm   [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
 0818..0819    ; Diacritic # Mn   [2] SAMARITAN MARK OCCLUSION..SAMARITAN MARK DAGESH
-08E4..08FE    ; Diacritic # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
+08E3..08FE    ; Diacritic # Mn  [28] ARABIC TURNED DAMMA BELOW..ARABIC DAMMA WITH DOT
 093C          ; Diacritic # Mn       DEVANAGARI SIGN NUKTA
 094D          ; Diacritic # Mn       DEVANAGARI SIGN VIRAMA
 0951..0954    ; Diacritic # Mn   [4] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI ACUTE ACCENT
@@ -877,7 +886,7 @@ AB5C..AB5F    ; Diacritic # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER
 ABEC          ; Diacritic # Mc       MEETEI MAYEK LUM IYEK
 ABED          ; Diacritic # Mn       MEETEI MAYEK APUN IYEK
 FB1E          ; Diacritic # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
-FE20..FE2D    ; Diacritic # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; Diacritic # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FF3E          ; Diacritic # Sk       FULLWIDTH CIRCUMFLEX ACCENT
 FF40          ; Diacritic # Sk       FULLWIDTH GRAVE ACCENT
 FF70          ; Diacritic # Lm       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
@@ -889,6 +898,7 @@ FFE3          ; Diacritic # Sk       FULLWIDTH MACRON
 11133..11134  ; Diacritic # Mn   [2] CHAKMA VIRAMA..CHAKMA MAAYYAA
 11173         ; Diacritic # Mn       MAHAJANI SIGN NUKTA
 111C0         ; Diacritic # Mc       SHARADA SIGN VIRAMA
+111CA..111CC  ; Diacritic # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 11235         ; Diacritic # Mc       KHOJKI SIGN VIRAMA
 11236         ; Diacritic # Mn       KHOJKI SIGN NUKTA
 112E9..112EA  ; Diacritic # Mn   [2] KHUDAWADI SIGN NUKTA..KHUDAWADI SIGN VIRAMA
@@ -901,6 +911,7 @@ FFE3          ; Diacritic # Sk       FULLWIDTH MACRON
 1163F         ; Diacritic # Mn       MODI SIGN VIRAMA
 116B6         ; Diacritic # Mc       TAKRI SIGN VIRAMA
 116B7         ; Diacritic # Mn       TAKRI SIGN NUKTA
+1172B         ; Diacritic # Mn       AHOM SIGN KILLER
 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
@@ -911,7 +922,7 @@ FFE3          ; Diacritic # Sk       FULLWIDTH MACRON
 1D1AA..1D1AD  ; Diacritic # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1E8D0..1E8D6  ; Diacritic # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 
-# Total code points: 766
+# Total code points: 773
 
 # ================================================
 
@@ -1053,7 +1064,7 @@ FF9E..FF9F    ; Other_Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND
 # ================================================
 
 3400..4DB5    ; Unified_Ideograph # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCC    ; Unified_Ideograph # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; Unified_Ideograph # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -1064,8 +1075,9 @@ FA27..FA29    ; Unified_Ideograph # Lo   [3] CJK COMPATIBILITY IDEOGRAPH-FA27..C
 20000..2A6D6  ; Unified_Ideograph # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 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
 
-# Total code points: 74617
+# Total code points: 80388
 
 # ================================================
 
@@ -1094,9 +1106,9 @@ E01F0..E0FFF  ; Other_Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>.
 2329          ; Deprecated # Ps       LEFT-POINTING ANGLE BRACKET
 232A          ; Deprecated # Pe       RIGHT-POINTING ANGLE BRACKET
 E0001         ; Deprecated # Cf       LANGUAGE TAG
-E0020..E007F  ; Deprecated # Cf  [96] TAG SPACE..CANCEL TAG
+E007F         ; Deprecated # Cf       CANCEL TAG
 
-# Total code points: 111
+# Total code points: 16
 
 # ================================================
 
@@ -1138,11 +1150,13 @@ E0020..E007F  ; Deprecated # Cf  [96] TAG SPACE..CANCEL TAG
 
 0E40..0E44    ; Logical_Order_Exception # Lo   [5] THAI CHARACTER SARA E..THAI CHARACTER SARA AI MAIMALAI
 0EC0..0EC4    ; Logical_Order_Exception # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
+19B5..19B7    ; Logical_Order_Exception # Lo   [3] NEW TAI LUE VOWEL SIGN E..NEW TAI LUE VOWEL SIGN O
+19BA          ; Logical_Order_Exception # Lo       NEW TAI LUE VOWEL SIGN AY
 AAB5..AAB6    ; Logical_Order_Exception # Lo   [2] TAI VIET VOWEL E..TAI VIET VOWEL O
 AAB9          ; Logical_Order_Exception # Lo       TAI VIET VOWEL UEA
 AABB..AABC    ; Logical_Order_Exception # Lo   [2] TAI VIET VOWEL AUE..TAI VIET VOWEL AY
 
-# Total code points: 15
+# Total code points: 19
 
 # ================================================
 
@@ -1213,18 +1227,22 @@ FF61          ; STerm # Po       HALFWIDTH IDEOGRAPHIC FULL STOP
 11141..11143  ; STerm # Po   [3] CHAKMA DANDA..CHAKMA QUESTION MARK
 111C5..111C6  ; STerm # Po   [2] SHARADA DANDA..SHARADA DOUBLE DANDA
 111CD         ; STerm # Po       SHARADA SUTRA MARK
+111DE..111DF  ; STerm # Po   [2] SHARADA SECTION MARK-1..SHARADA SECTION MARK-2
 11238..11239  ; STerm # Po   [2] KHOJKI DANDA..KHOJKI DOUBLE DANDA
 1123B..1123C  ; STerm # Po   [2] KHOJKI SECTION MARK..KHOJKI DOUBLE SECTION MARK
+112A9         ; STerm # Po       MULTANI SECTION MARK
 115C2..115C3  ; STerm # Po   [2] SIDDHAM DANDA..SIDDHAM DOUBLE DANDA
-115C9         ; STerm # Po       SIDDHAM END OF TEXT MARK
+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
 16A6E..16A6F  ; STerm # Po   [2] MRO DANDA..MRO DOUBLE DANDA
 16AF5         ; STerm # Po       BASSA VAH FULL STOP
 16B37..16B38  ; STerm # Po   [2] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN VOS TSHAB CEEB
 16B44         ; STerm # Po       PAHAWH HMONG SIGN XAUS
 1BC9F         ; STerm # Po       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
+1DA88         ; STerm # Po       SIGNWRITING FULL STOP
 
-# Total code points: 99
+# Total code points: 120
 
 # ================================================
 
@@ -1432,7 +1450,9 @@ E0100..E01EF  ; Variation_Selector # Mn [240] VARIATION SELECTOR-17..VARIATION S
 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..2BFF    ; Pattern_Syntax # Cn  [46] <reserved-2BD2>..<reserved-2BFF>
+2BD2..2BEB    ; Pattern_Syntax # Cn  [26] <reserved-2BD2>..<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
 2E02          ; Pattern_Syntax # Pi       LEFT SUBSTITUTION BRACKET
 2E03          ; Pattern_Syntax # Pf       RIGHT SUBSTITUTION BRACKET
index bf1e2eb..5957446 100644 (file)
@@ -1,8 +1,8 @@
-# PropertyValueAliases-7.0.0.txt
-# Date: 2014-05-14, 23:55:16 GMT [MD]
+# PropertyValueAliases-8.0.0.txt
+# Date: 2015-03-11, 22:29:33 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -77,6 +77,7 @@ age; 6.1                              ; V6_1
 age; 6.2                              ; V6_2
 age; 6.3                              ; V6_3
 age; 7.0                              ; V7_0
+age; 8.0                              ; V8_0
 age; NA                               ; Unassigned
 
 # Alphabetic (Alpha)
@@ -138,8 +139,10 @@ bpt; o                                ; Open
 # Block (blk)
 
 blk; Aegean_Numbers                   ; Aegean_Numbers
+blk; Ahom                             ; Ahom
 blk; Alchemical                       ; Alchemical_Symbols
 blk; Alphabetic_PF                    ; Alphabetic_Presentation_Forms
+blk; Anatolian_Hieroglyphs            ; Anatolian_Hieroglyphs
 blk; Ancient_Greek_Music              ; Ancient_Greek_Musical_Notation
 blk; Ancient_Greek_Numbers            ; Ancient_Greek_Numbers
 blk; Ancient_Symbols                  ; Ancient_Symbols
@@ -173,6 +176,7 @@ blk; Caucasian_Albanian               ; Caucasian_Albanian
 blk; Chakma                           ; Chakma
 blk; Cham                             ; Cham
 blk; Cherokee                         ; Cherokee
+blk; Cherokee_Sup                     ; Cherokee_Supplement
 blk; CJK                              ; CJK_Unified_Ideographs
 blk; CJK_Compat                       ; CJK_Compatibility
 blk; CJK_Compat_Forms                 ; CJK_Compatibility_Forms
@@ -182,6 +186,7 @@ blk; CJK_Ext_A                        ; CJK_Unified_Ideographs_Extension_A
 blk; CJK_Ext_B                        ; CJK_Unified_Ideographs_Extension_B
 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_Radicals_Sup                 ; CJK_Radicals_Supplement
 blk; CJK_Strokes                      ; CJK_Strokes
 blk; CJK_Symbols                      ; CJK_Symbols_And_Punctuation
@@ -208,6 +213,7 @@ blk; Diacriticals_Sup                 ; Combining_Diacritical_Marks_Supplement
 blk; Dingbats                         ; Dingbats
 blk; Domino                           ; Domino_Tiles
 blk; Duployan                         ; Duployan
+blk; Early_Dynastic_Cuneiform         ; Early_Dynastic_Cuneiform
 blk; Egyptian_Hieroglyphs             ; Egyptian_Hieroglyphs
 blk; Elbasan                          ; Elbasan
 blk; Emoticons                        ; Emoticons
@@ -234,6 +240,7 @@ blk; Half_And_Full_Forms              ; Halfwidth_And_Fullwidth_Forms
 blk; Half_Marks                       ; Combining_Half_Marks
 blk; Hangul                           ; Hangul_Syllables
 blk; Hanunoo                          ; Hanunoo
+blk; Hatran                           ; Hatran
 blk; Hebrew                           ; Hebrew
 blk; High_PU_Surrogates               ; High_Private_Use_Surrogates
 blk; High_Surrogates                  ; High_Surrogates
@@ -303,6 +310,7 @@ blk; Modifier_Letters                 ; Spacing_Modifier_Letters
 blk; Modifier_Tone_Letters            ; Modifier_Tone_Letters
 blk; Mongolian                        ; Mongolian
 blk; Mro                              ; Mro
+blk; Multani                          ; Multani
 blk; Music                            ; Musical_Symbols
 blk; Myanmar                          ; Myanmar
 blk; Myanmar_Ext_A                    ; Myanmar_Extended_A
@@ -315,6 +323,7 @@ blk; Number_Forms                     ; Number_Forms
 blk; OCR                              ; Optical_Character_Recognition
 blk; Ogham                            ; Ogham
 blk; Ol_Chiki                         ; Ol_Chiki
+blk; Old_Hungarian                    ; Old_Hungarian
 blk; Old_Italic                       ; Old_Italic
 blk; Old_North_Arabian                ; Old_North_Arabian
 blk; Old_Permic                       ; Old_Permic
@@ -359,7 +368,9 @@ blk; Sup_Math_Operators               ; Supplemental_Mathematical_Operators
 blk; Sup_PUA_A                        ; Supplementary_Private_Use_Area_A
 blk; Sup_PUA_B                        ; Supplementary_Private_Use_Area_B
 blk; Sup_Punctuation                  ; Supplemental_Punctuation
+blk; Sup_Symbols_And_Pictographs      ; Supplemental_Symbols_And_Pictographs
 blk; Super_And_Sub                    ; Superscripts_And_Subscripts
+blk; Sutton_SignWriting               ; Sutton_SignWriting
 blk; Syloti_Nagri                     ; Syloti_Nagri
 blk; Syriac                           ; Syriac
 blk; Tagalog                          ; Tagalog
@@ -709,22 +720,22 @@ IDS; Y                                ; Yes                              ; T
 Ideo; N                               ; No                               ; F                                ; False
 Ideo; Y                               ; Yes                              ; T                                ; True
 
-# Indic_Matra_Category (InMC)
-
-InMC; Bottom                          ; Bottom
-InMC; Bottom_And_Right                ; Bottom_And_Right
-InMC; Left                            ; Left
-InMC; Left_And_Right                  ; Left_And_Right
-InMC; NA                              ; NA
-InMC; Overstruck                      ; Overstruck
-InMC; Right                           ; Right
-InMC; Top                             ; Top
-InMC; Top_And_Bottom                  ; Top_And_Bottom
-InMC; Top_And_Bottom_And_Right        ; Top_And_Bottom_And_Right
-InMC; Top_And_Left                    ; Top_And_Left
-InMC; Top_And_Left_And_Right          ; Top_And_Left_And_Right
-InMC; Top_And_Right                   ; Top_And_Right
-InMC; Visual_Order_Left               ; Visual_Order_Left
+# Indic_Positional_Category (InPC)
+
+InPC; Bottom                          ; Bottom
+InPC; Bottom_And_Right                ; Bottom_And_Right
+InPC; Left                            ; Left
+InPC; Left_And_Right                  ; Left_And_Right
+InPC; NA                              ; NA
+InPC; Overstruck                      ; Overstruck
+InPC; Right                           ; Right
+InPC; Top                             ; Top
+InPC; Top_And_Bottom                  ; Top_And_Bottom
+InPC; Top_And_Bottom_And_Right        ; Top_And_Bottom_And_Right
+InPC; Top_And_Left                    ; Top_And_Left
+InPC; Top_And_Left_And_Right          ; Top_And_Left_And_Right
+InPC; Top_And_Right                   ; Top_And_Right
+InPC; Visual_Order_Left               ; Visual_Order_Left
 
 # Indic_Syllabic_Category (InSC)
 
@@ -736,11 +747,14 @@ InSC; Consonant                       ; Consonant
 InSC; Consonant_Dead                  ; Consonant_Dead
 InSC; Consonant_Final                 ; Consonant_Final
 InSC; Consonant_Head_Letter           ; Consonant_Head_Letter
+InSC; Consonant_Killer                ; Consonant_Killer
 InSC; Consonant_Medial                ; Consonant_Medial
 InSC; Consonant_Placeholder           ; Consonant_Placeholder
 InSC; Consonant_Preceding_Repha       ; Consonant_Preceding_Repha
+InSC; Consonant_Prefixed              ; Consonant_Prefixed
 InSC; Consonant_Subjoined             ; Consonant_Subjoined
 InSC; Consonant_Succeeding_Repha      ; Consonant_Succeeding_Repha
+InSC; Consonant_With_Stacker          ; Consonant_With_Stacker
 InSC; Gemination_Mark                 ; Gemination_Mark
 InSC; Invisible_Stacker               ; Invisible_Stacker
 InSC; Joiner                          ; Joiner
@@ -752,6 +766,7 @@ InSC; Number_Joiner                   ; Number_Joiner
 InSC; Other                           ; Other
 InSC; Pure_Killer                     ; Pure_Killer
 InSC; Register_Shifter                ; Register_Shifter
+InSC; Syllable_Modifier               ; Syllable_Modifier
 InSC; Tone_Letter                     ; Tone_Letter
 InSC; Tone_Mark                       ; Tone_Mark
 InSC; Virama                          ; Virama
@@ -1099,6 +1114,7 @@ STerm; Y                              ; Yes                              ; T
 # Script (sc)
 
 sc ; Aghb                             ; Caucasian_Albanian
+sc ; Ahom                             ; Ahom
 sc ; Arab                             ; Arabic
 sc ; Armi                             ; Imperial_Aramaic
 sc ; Armn                             ; Armenian
@@ -1137,10 +1153,13 @@ sc ; Guru                             ; Gurmukhi
 sc ; Hang                             ; Hangul
 sc ; Hani                             ; Han
 sc ; Hano                             ; Hanunoo
+sc ; Hatr                             ; Hatran
 sc ; Hebr                             ; Hebrew
 sc ; Hira                             ; Hiragana
+sc ; Hluw                             ; Anatolian_Hieroglyphs
 sc ; Hmng                             ; Pahawh_Hmong
 sc ; Hrkt                             ; Katakana_Or_Hiragana
+sc ; Hung                             ; Old_Hungarian
 sc ; Ital                             ; Old_Italic
 sc ; Java                             ; Javanese
 sc ; Kali                             ; Kayah_Li
@@ -1171,6 +1190,7 @@ sc ; Modi                             ; Modi
 sc ; Mong                             ; Mongolian
 sc ; Mroo                             ; Mro
 sc ; Mtei                             ; Meetei_Mayek
+sc ; Mult                             ; Multani
 sc ; Mymr                             ; Myanmar
 sc ; Narb                             ; Old_North_Arabian
 sc ; Nbat                             ; Nabataean
@@ -1194,6 +1214,7 @@ sc ; Runr                             ; Runic
 sc ; Samr                             ; Samaritan
 sc ; Sarb                             ; Old_South_Arabian
 sc ; Saur                             ; Saurashtra
+sc ; Sgnw                             ; SignWriting
 sc ; Shaw                             ; Shavian
 sc ; Shrd                             ; Sharada
 sc ; Sidd                             ; Siddham
index 4f0cd2e..18dff71 100644 (file)
@@ -1,8 +1,8 @@
-# PropertyAliases-7.0.0.txt
-# Date: 2013-11-27, 09:54:44 GMT [MD]
+# PropertyAliases-8.0.0.txt
+# Date: 2015-02-14, 10:26:09 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -111,7 +111,7 @@ ea                       ; East_Asian_Width
 gc                       ; General_Category
 GCB                      ; Grapheme_Cluster_Break
 hst                      ; Hangul_Syllable_Type
-InMC                     ; Indic_Matra_Category
+InPC                     ; Indic_Positional_Category
 InSC                     ; Indic_Syllabic_Category
 jg                       ; Joining_Group
 jt                       ; Joining_Type
index 9925915..fc4a904 100644 (file)
@@ -1,7 +1,7 @@
-# Date: 2014-06-12, 20:18:00 GMT [KW]
+# Date: 2015-06-16, 20:24:00 GMT [KW]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # For documentation, see the following:
@@ -9,9 +9,9 @@
 # UAX #38, "Unicode Han Database (Unihan)"
 # UAX #44, "Unicode Character Database."
 #
-# The UAXes can be accessed at http://www.unicode.org/versions/Unicode7.0.0/
+# The UAXes can be accessed at http://www.unicode.org/versions/Unicode8.0.0/
 
 This directory contains the final data files
-for the Unicode Character Database, for Version 7.0.0 of the Unicode
+for the Unicode Character Database, for Version 8.0.0 of the Unicode
 Standard.
 
index cf19923..b0cda87 100644 (file)
@@ -1,16 +1,19 @@
-# ScriptExtensions-7.0.0.txt
-# Date: 2014-05-15, 00:11:35 GMT [MD]
+# ScriptExtensions-8.0.0.txt
+# Date: 2015-05-14, 22:31:55 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
+#
 # The Script_Extensions property indicates which characters are commonly used
 # with more than one script, but with a limited number of scripts.
 # For each code point, there is one or more property values.  Each such value is a Script property value.
 # For more information, see:
-#   UAX #24: http://www.unicode.org/reports/tr24/ and
-#   UAX #44: http://www.unicode.org/reports/tr44/
+#   UAX #24, Unicode Script Property: http://www.unicode.org/reports/tr24/
+#     Especially the sections:
+#       http://www.unicode.org/reports/tr24/#Assignment_Script_Values
+#       http://www.unicode.org/reports/tr24/#Assignment_ScriptX_Values
 #
 # Each Script_Extensions value in this file consists of a set
 # of one or more abbreviated Script property values. The ordering of the
@@ -24,7 +27,6 @@
 # Following each distinct Script_Extensions value is the list of code
 # points associated with that value, listed in code point order.
 #
-#
 # All code points not explicitly listed for Script_Extensions
 # have as their value the corresponding Script property value
 #
 
 # Script_Extensions=Deva
 
-1CD0..1CD2    ; Deva # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0    ; Deva # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
+1CD1          ; Deva # Mn       VEDIC TONE SHARA
+1CD4..1CD6    ; Deva # Mn   [3] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
+1CD8          ; Deva # Mn       VEDIC TONE CANDRA BELOW
+1CDB          ; Deva # Mn       VEDIC TONE TRIPLE SVARITA
+1CDE..1CDF    ; Deva # Mn   [2] VEDIC TONE TWO DOTS BELOW..VEDIC TONE THREE DOTS BELOW
 1CE1          ; Deva # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CE2..1CE8    ; Deva # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
+1CE9..1CEC    ; Deva # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CED          ; Deva # Mn       VEDIC SIGN TIRYAK
-1CF2..1CF3    ; Deva # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
-1CF4          ; Deva # Mn       VEDIC TONE CANDRA ABOVE
-1CF8..1CF9    ; Deva # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
+1CEE..1CF1    ; Deva # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF6          ; Deva # Lo       VEDIC SIGN UPADHMANIYA
 
-# Total code points: 30
+# Total code points: 26
 
 # ================================================
 
 
 # ================================================
 
+# Script_Extensions=Hani
+
+1D360..1D371  ; Hani # No  [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
+
+# Total code points: 18
+
+# ================================================
+
 # Script_Extensions=Latn
 
 0363..036F    ; Latn # Mn  [13] COMBINING LATIN SMALL LETTER A..COMBINING LATIN SMALL LETTER X
@@ -139,6 +152,15 @@ A9CF          ; Bugi Java # Lm       JAVANESE PANGRANGKEP
 
 # ================================================
 
+# Script_Extensions=Cyrl Glag
+
+0487          ; Cyrl Glag # Mn       COMBINING CYRILLIC POKRYTIE
+A66F          ; Cyrl Glag # Mn       COMBINING CYRILLIC VZMET
+
+# Total code points: 2
+
+# ================================================
+
 # Script_Extensions=Cyrl Latn
 
 0485..0486    ; Cyrl Latn # Mn   [2] COMBINING CYRILLIC DASIA PNEUMATA..COMBINING CYRILLIC PSILI PNEUMATA
@@ -147,11 +169,62 @@ A9CF          ; Bugi Java # Lm       JAVANESE PANGRANGKEP
 
 # ================================================
 
-# Script_Extensions=Deva Latn
+# Script_Extensions=Cyrl Perm
 
-0951..0952    ; Deva Latn # Mn   [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA
+0483          ; Cyrl Perm # Mn       COMBINING CYRILLIC TITLO
 
-# Total code points: 2
+# Total code points: 1
+
+# ================================================
+
+# Script_Extensions=Deva Gran
+
+1CD0          ; Deva Gran # Mn       VEDIC TONE KARSHANA
+1CD2          ; Deva Gran # Mn       VEDIC TONE PRENKHA
+1CD3          ; Deva Gran # Po       VEDIC SIGN NIHSHVASA
+1CF2..1CF3    ; Deva Gran # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4          ; Deva Gran # Mn       VEDIC TONE CANDRA ABOVE
+1CF8..1CF9    ; Deva Gran # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
+
+# Total code points: 8
+
+# ================================================
+
+# Script_Extensions=Deva Knda
+
+1CF5          ; Deva Knda # Lo       VEDIC SIGN JIHVAMULIYA
+
+# Total code points: 1
+
+# ================================================
+
+# Script_Extensions=Deva Shrd
+
+1CD7          ; Deva Shrd # Mn       VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
+1CD9          ; Deva Shrd # Mn       VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
+1CDC..1CDD    ; Deva Shrd # Mn   [2] VEDIC TONE KATHAKA ANUDATTA..VEDIC TONE DOT BELOW
+1CE0          ; Deva Shrd # Mn       VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
+
+# Total code points: 5
+
+# ================================================
+
+# Script_Extensions=Deva Taml
+
+A8F3          ; Deva Taml # Lo       DEVANAGARI SIGN CANDRABINDU VIRAMA
+
+# Total code points: 1
+
+# ================================================
+
+# Script_Extensions=Gran Taml
+
+0BAA          ; Gran Taml # Lo       TAMIL LETTER PA
+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
+
+# Total code points: 15
 
 # ================================================
 
@@ -163,6 +236,14 @@ A9CF          ; Bugi Java # Lm       JAVANESE PANGRANGKEP
 
 # ================================================
 
+# Script_Extensions=Guru Mult
+
+0A66..0A6F    ; Guru Mult # Nd  [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
+
+# Total code points: 10
+
+# ================================================
+
 # Script_Extensions=Hira Kana
 
 3031..3035    ; Hira Kana # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
@@ -212,6 +293,14 @@ FF9E..FF9F    ; Hira Kana # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFW
 
 # ================================================
 
+# Script_Extensions=Deva Gran Latn
+
+20F0          ; Deva Gran Latn # Mn       COMBINING ASTERISK ABOVE
+
+# Total code points: 1
+
+# ================================================
+
 # Script_Extensions=Deva Kthi Mahj
 
 0966..096F    ; Deva Kthi Mahj # Nd  [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
@@ -282,6 +371,14 @@ FE45..FE46    ; Bopo Hang Hani Hira Kana # Po   [2] SESAME DOT..WHITE SESAME DOT
 
 # ================================================
 
+# Script_Extensions=Deva Knda Mlym Taml Telu
+
+1CDA          ; Deva Knda Mlym Taml Telu # Mn       VEDIC TONE DOUBLE SVARITA
+
+# Total code points: 1
+
+# ================================================
+
 # Script_Extensions=Bopo Hang Hani Hira Kana Yiii
 
 3001..3002    ; Bopo Hang Hani Hira Kana Yiii # Po   [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP
@@ -324,6 +421,22 @@ A839          ; Deva Gujr Guru Kthi Mahj Modi Sind Takr Tirh # So       NORTH IN
 
 # ================================================
 
+# Script_Extensions=Beng Deva Gran Gujr Guru Knda Latn Mlym Orya Taml Telu
+
+0952          ; Beng Deva Gran Gujr Guru Knda Latn Mlym Orya Taml Telu # Mn       DEVANAGARI STRESS SIGN ANUDATTA
+
+# Total code points: 1
+
+# ================================================
+
+# Script_Extensions=Beng Deva Gran Gujr Guru Knda Latn Mlym Orya Shrd Taml Telu
+
+0951          ; Beng Deva Gran Gujr Guru Knda Latn Mlym Orya Shrd Taml Telu # Mn       DEVANAGARI STRESS SIGN UDATTA
+
+# Total code points: 1
+
+# ================================================
+
 # Script_Extensions=Beng Deva Gran Gujr Guru Knda Mahj Mlym Orya Sind Sinh Sylo Takr Taml Telu Tirh
 
 0964          ; Beng Deva Gran Gujr Guru Knda Mahj Mlym Orya Sind Sinh Sylo Takr Taml Telu Tirh # Po       DEVANAGARI DANDA
index 0b69438..7e42740 100644 (file)
@@ -1,10 +1,16 @@
-# Scripts-7.0.0.txt
-# Date: 2014-05-15, 00:11:35 GMT [MD]
+# Scripts-8.0.0.txt
+# Date: 2015-03-11, 22:29:42 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
+# For more information, see:
+#   UAX #24, Unicode Script Property: http://www.unicode.org/reports/tr24/
+#     Especially the sections:
+#       http://www.unicode.org/reports/tr24/#Assignment_Script_Values
+#       http://www.unicode.org/reports/tr24/#Assignment_ScriptX_Values
+#
 
 # ================================================
 
@@ -89,7 +95,6 @@
 061C          ; Common # Cf       ARABIC LETTER MARK
 061F          ; Common # Po       ARABIC QUESTION MARK
 0640          ; Common # Lm       ARABIC TATWEEL
-0660..0669    ; Common # Nd  [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
 06DD          ; Common # Cf       ARABIC END OF AYAH
 0964..0965    ; Common # Po   [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
 0E3F          ; Common # Sc       THAI CURRENCY SYMBOL BAHT
 208A..208C    ; Common # Sm   [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
 208D          ; Common # Ps       SUBSCRIPT LEFT PARENTHESIS
 208E          ; Common # Pe       SUBSCRIPT RIGHT PARENTHESIS
-20A0..20BD    ; Common # Sc  [30] EURO-CURRENCY SIGN..RUBLE SIGN
+20A0..20BE    ; Common # Sc  [31] EURO-CURRENCY SIGN..LARI 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
 214F          ; Common # So       SYMBOL FOR SAMARITAN SOURCE
 2150..215F    ; Common # No  [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
 2189          ; Common # No       VULGAR FRACTION ZERO THIRDS
+218A..218B    ; Common # So   [2] TURNED DIGIT TWO..TURNED DIGIT THREE
 2190..2194    ; Common # Sm   [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
 2195..2199    ; Common # So   [5] UP DOWN ARROW..SOUTH WEST ARROW
 219A..219B    ; Common # Sm   [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
 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
+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
 2E03          ; Common # Pf       RIGHT SUBSTITUTION BRACKET
@@ -512,7 +519,7 @@ FFFC..FFFD    ; Common # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHAR
 1D173..1D17A  ; Common # Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
 1D183..1D184  ; Common # So   [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
 1D18C..1D1A9  ; Common # So  [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD  ; Common # So  [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
+1D1AE..1D1E8  ; Common # So  [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
 1D300..1D356  ; Common # So  [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
 1D360..1D371  ; Common # No  [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
 1D400..1D454  ; Common # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
@@ -571,16 +578,11 @@ FFFC..FFFD    ; Common # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHAR
 1F210..1F23A  ; Common # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
 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
-1F300..1F32C  ; Common # So  [45] CYCLONE..WIND BLOWING FACE
-1F330..1F37D  ; Common # So  [78] CHESTNUT..FORK AND KNIFE WITH PLATE
-1F380..1F3CE  ; Common # So  [79] RIBBON..RACING CAR
-1F3D4..1F3F7  ; Common # So  [36] SNOW CAPPED MOUNTAIN..LABEL
-1F400..1F4FE  ; Common # So [255] RAT..PORTABLE STEREO
-1F500..1F54A  ; Common # So  [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE
-1F550..1F579  ; Common # So  [42] CLOCK FACE ONE OCLOCK..JOYSTICK
+1F300..1F3FA  ; Common # So [251] CYCLONE..AMPHORA
+1F3FB..1F3FF  ; Common # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
+1F400..1F579  ; Common # So [378] RAT..JOYSTICK
 1F57B..1F5A3  ; Common # So  [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX
-1F5A5..1F642  ; Common # So [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE
-1F645..1F6CF  ; Common # So [139] FACE WITH NO GOOD GESTURE..BED
+1F5A5..1F6D0  ; Common # So [300] DESKTOP COMPUTER..PLACE OF WORSHIP
 1F6E0..1F6EC  ; Common # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6F0..1F6F3  ; Common # So   [4] SATELLITE..PASSENGER SHIP
 1F700..1F773  ; Common # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -590,10 +592,13 @@ FFFC..FFFD    ; Common # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHAR
 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..1F918  ; Common # So   [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984  ; Common # So   [5] CRAB..UNICORN FACE
+1F9C0         ; Common # So       CHEESE WEDGE
 E0001         ; Common # Cf       LANGUAGE TAG
 E0020..E007F  ; Common # Cf  [96] TAG SPACE..CANCEL TAG
 
-# Total code points: 7129
+# Total code points: 7179
 
 # ================================================
 
@@ -635,20 +640,21 @@ A722..A76F    ; Latin # L&  [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN
 A770          ; Latin # Lm       MODIFIER LETTER US
 A771..A787    ; Latin # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A78B..A78E    ; Latin # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; Latin # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; Latin # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Latin # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; Latin # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; Latin # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; Latin # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; Latin # L&       LATIN LETTER SMALL CAPITAL TURNED M
 A7FB..A7FF    ; Latin # Lo   [5] LATIN EPIGRAPHIC LETTER REVERSED F..LATIN EPIGRAPHIC LETTER ARCHAIC M
 AB30..AB5A    ; Latin # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5C..AB5F    ; Latin # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64          ; Latin # L&       LATIN SMALL LETTER INVERTED ALPHA
+AB60..AB64    ; Latin # L&   [5] LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER INVERTED ALPHA
 FB00..FB06    ; Latin # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FF21..FF3A    ; Latin # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 FF41..FF5A    ; Latin # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 
-# Total code points: 1338
+# Total code points: 1349
 
 # ================================================
 
@@ -731,9 +737,10 @@ A67E          ; Cyrillic # Po       CYRILLIC KAVYKA
 A67F          ; Cyrillic # Lm       CYRILLIC PAYEROK
 A680..A69B    ; Cyrillic # L&  [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O
 A69C..A69D    ; Cyrillic # Lm   [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN
-A69F          ; Cyrillic # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; Cyrillic # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
+FE2E..FE2F    ; Cyrillic # Mn   [2] COMBINING CYRILLIC TITLO LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 
-# Total code points: 431
+# Total code points: 434
 
 # ================================================
 
@@ -788,6 +795,7 @@ FB46..FB4F    ; Hebrew # Lo  [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATU
 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
 0656..065F    ; Arabic # Mn  [10] ARABIC SUBSCRIPT ALEF..ARABIC WAVY HAMZA BELOW
+0660..0669    ; Arabic # Nd  [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
 066A..066D    ; Arabic # Po   [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR
 066E..066F    ; Arabic # Lo   [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
 0671..06D3    ; Arabic # Lo  [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
@@ -806,8 +814,8 @@ FB46..FB4F    ; Hebrew # Lo  [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATU
 06FD..06FE    ; Arabic # So   [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
 06FF          ; Arabic # Lo       ARABIC LETTER HEH WITH INVERTED V
 0750..077F    ; Arabic # Lo  [48] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS ABOVE
-08A0..08B2    ; Arabic # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
-08E4..08FF    ; Arabic # Mn  [28] ARABIC CURLY FATHA..ARABIC MARK SIDEWAYS NOON GHUNNA
+08A0..08B4    ; Arabic # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08E3..08FF    ; Arabic # Mn  [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA
 FB50..FBB1    ; Arabic # Lo  [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
 FBB2..FBC1    ; Arabic # Sk  [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW
 FBD3..FD3D    ; Arabic # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
@@ -854,7 +862,7 @@ FE76..FEFC    ; Arabic # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LA
 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: 1244
+# Total code points: 1257
 
 # ================================================
 
@@ -902,8 +910,10 @@ A8E0..A8F1    ; Devanagari # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING
 A8F2..A8F7    ; Devanagari # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8F8..A8FA    ; Devanagari # Po   [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
 A8FB          ; Devanagari # Lo       DEVANAGARI HEADSTROKE
+A8FC          ; Devanagari # Po       DEVANAGARI SIGN SIDDHAM
+A8FD          ; Devanagari # Lo       DEVANAGARI JAIN OM
 
-# Total code points: 152
+# Total code points: 154
 
 # ================================================
 
@@ -987,8 +997,9 @@ A8FB          ; Devanagari # Lo       DEVANAGARI HEADSTROKE
 0AE6..0AEF    ; Gujarati # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
 0AF0          ; Gujarati # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; Gujarati # Sc       GUJARATI RUPEE SIGN
+0AF9          ; Gujarati # Lo       GUJARATI LETTER ZHA
 
-# Total code points: 84
+# Total code points: 85
 
 # ================================================
 
@@ -1064,14 +1075,14 @@ A8FB          ; Devanagari # Lo       DEVANAGARI HEADSTROKE
 0C46..0C48    ; Telugu # Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
 0C4A..0C4D    ; Telugu # Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
 0C55..0C56    ; Telugu # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59    ; Telugu # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; Telugu # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; Telugu # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63    ; Telugu # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C66..0C6F    ; Telugu # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
 0C78..0C7E    ; Telugu # No   [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
 0C7F          ; Telugu # So       TELUGU SIGN TUUMU
 
-# Total code points: 95
+# Total code points: 96
 
 # ================================================
 
@@ -1115,14 +1126,14 @@ A8FB          ; Devanagari # Lo       DEVANAGARI HEADSTROKE
 0D4D          ; Malayalam # Mn       MALAYALAM SIGN VIRAMA
 0D4E          ; Malayalam # Lo       MALAYALAM LETTER DOT REPH
 0D57          ; Malayalam # Mc       MALAYALAM AU LENGTH MARK
-0D60..0D61    ; Malayalam # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; Malayalam # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D62..0D63    ; Malayalam # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
 0D66..0D6F    ; Malayalam # Nd  [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
 0D70..0D75    ; Malayalam # No   [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
 0D79          ; Malayalam # So       MALAYALAM DATE MARK
 0D7A..0D7F    ; Malayalam # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
 
-# Total code points: 99
+# Total code points: 100
 
 # ================================================
 
@@ -1358,9 +1369,11 @@ AB28..AB2E    ; Ethiopic # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 
 # ================================================
 
-13A0..13F4    ; Cherokee # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; Cherokee # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; Cherokee # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
+AB70..ABBF    ; Cherokee # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 
-# Total code points: 85
+# Total code points: 172
 
 # ================================================
 
@@ -1472,15 +1485,16 @@ FF71..FF9D    ; Katakana # Lo  [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK
 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..9FCC    ; Han # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; Han # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
 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
 2F800..2FA1D  ; Han # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 75963
+# Total code points: 81734
 
 # ================================================
 
@@ -1680,9 +1694,7 @@ E0100..E01EF  ; Inherited # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-2
 # ================================================
 
 1980..19AB    ; New_Tai_Lue # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0    ; New_Tai_Lue # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7    ; New_Tai_Lue # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9    ; New_Tai_Lue # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9    ; New_Tai_Lue # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19D0..19D9    ; New_Tai_Lue # Nd  [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
 19DA          ; New_Tai_Lue # No       NEW TAI LUE THAM DIGIT ONE
 19DE..19DF    ; New_Tai_Lue # So   [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
@@ -1770,11 +1782,12 @@ A828..A82B    ; Syloti_Nagri # So   [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI
 
 # ================================================
 
-12000..12398  ; Cuneiform # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+12000..12399  ; Cuneiform # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; Cuneiform # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12470..12474  ; Cuneiform # Po   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
+12480..12543  ; Cuneiform # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
 
-# Total code points: 1037
+# Total code points: 1234
 
 # ================================================
 
@@ -2151,9 +2164,12 @@ ABF0..ABF9    ; Meetei_Mayek # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
 # ================================================
 
 109A0..109B7  ; Meroitic_Cursive # Lo  [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA
+109BC..109BD  ; Meroitic_Cursive # No   [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
 109BE..109BF  ; Meroitic_Cursive # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+109C0..109CF  ; Meroitic_Cursive # No  [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF  ; Meroitic_Cursive # No  [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 
-# Total code points: 26
+# Total code points: 90
 
 # ================================================
 
@@ -2180,12 +2196,16 @@ ABF0..ABF9    ; Meetei_Mayek # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
 111B6..111BE  ; Sharada # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF..111C0  ; Sharada # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
 111C1..111C4  ; Sharada # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
-111C5..111C8  ; Sharada # Po   [4] SHARADA DANDA..SHARADA SEPARATOR
+111C5..111C9  ; Sharada # Po   [5] SHARADA DANDA..SHARADA SANDHI MARK
+111CA..111CC  ; Sharada # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 111CD         ; Sharada # Po       SHARADA SUTRA MARK
 111D0..111D9  ; Sharada # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
 111DA         ; Sharada # Lo       SHARADA EKAM
+111DB         ; Sharada # Po       SHARADA SIGN SIDDHAM
+111DC         ; Sharada # Lo       SHARADA HEADSTROKE
+111DD..111DF  ; Sharada # Po   [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
 
-# Total code points: 85
+# Total code points: 94
 
 # ================================================
 
@@ -2243,7 +2263,7 @@ ABF0..ABF9    ; Meetei_Mayek # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
 
 # ================================================
 
-11301         ; Grantha # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Grantha # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; Grantha # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 11305..1130C  ; Grantha # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; Grantha # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -2258,13 +2278,14 @@ ABF0..ABF9    ; Meetei_Mayek # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
 11341..11344  ; Grantha # Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348  ; Grantha # Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134D  ; Grantha # Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
+11350         ; Grantha # Lo       GRANTHA OM
 11357         ; Grantha # Mc       GRANTHA AU LENGTH MARK
 1135D..11361  ; Grantha # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363  ; Grantha # Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
 11366..1136C  ; Grantha # Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
 11370..11374  ; Grantha # Mn   [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
 
-# Total code points: 83
+# Total code points: 85
 
 # ================================================
 
@@ -2407,9 +2428,11 @@ ABF0..ABF9    ; Meetei_Mayek # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
 115BC..115BD  ; Siddham # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; Siddham # Mc       SIDDHAM SIGN VISARGA
 115BF..115C0  ; Siddham # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
-115C1..115C9  ; Siddham # Po   [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK
+115C1..115D7  ; Siddham # Po  [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+115D8..115DB  ; Siddham # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
+115DC..115DD  ; Siddham # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 
-# Total code points: 72
+# Total code points: 92
 
 # ================================================
 
@@ -2448,4 +2471,69 @@ ABF0..ABF9    ; Meetei_Mayek # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
 
 # Total code points: 84
 
+# ================================================
+
+11700..11719  ; Ahom # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F  ; Ahom # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; Ahom # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725  ; Ahom # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726         ; Ahom # Mc       AHOM VOWEL SIGN E
+11727..1172B  ; Ahom # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11730..11739  ; Ahom # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
+1173A..1173B  ; Ahom # No   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
+1173C..1173E  ; Ahom # Po   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+1173F         ; Ahom # So       AHOM SYMBOL VI
+
+# Total code points: 57
+
+# ================================================
+
+14400..14646  ; Anatolian_Hieroglyphs # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
+
+# Total code points: 583
+
+# ================================================
+
+108E0..108F2  ; Hatran # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; Hatran # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108FB..108FF  ; Hatran # No   [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
+
+# Total code points: 26
+
+# ================================================
+
+11280..11286  ; Multani # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; Multani # Lo       MULTANI LETTER GHA
+1128A..1128D  ; Multani # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; Multani # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; Multani # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
+112A9         ; Multani # Po       MULTANI SECTION MARK
+
+# Total code points: 38
+
+# ================================================
+
+10C80..10CB2  ; Old_Hungarian # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; Old_Hungarian # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CFA..10CFF  ; Old_Hungarian # No   [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
+
+# Total code points: 108
+
+# ================================================
+
+1D800..1D9FF  ; SignWriting # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA00..1DA36  ; SignWriting # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA37..1DA3A  ; SignWriting # So   [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA3B..1DA6C  ; SignWriting # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA6D..1DA74  ; SignWriting # So   [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA75         ; SignWriting # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA76..1DA83  ; SignWriting # So  [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA84         ; SignWriting # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA85..1DA86  ; SignWriting # So   [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
+1DA87..1DA8B  ; SignWriting # Po   [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS
+1DA9B..1DA9F  ; SignWriting # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; SignWriting # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
+
+# Total code points: 672
+
 # EOF
index 43645bd..8de6462 100644 (file)
@@ -1,5 +1,5 @@
-# SpecialCasing-7.0.0.txt
-# Date: 2014-03-18, 07:18:02 GMT [MD]
+# SpecialCasing-8.0.0.txt
+# Date: 2014-12-16, 23:08:04 GMT [MD]
 #
 # Unicode Character Database
 # Copyright (c) 1991-2014 Unicode, Inc.
index 5692b0d..f36a0ed 100644 (file)
@@ -1,5 +1,5 @@
-# StandardizedVariants-7.0.0.txt
-# Date: 2014-01-24, 20:00:00 GMT [KW, LI]
+# StandardizedVariants-8.0.0.txt
+# Date: 2015-02-10, 15:25:00 GMT [KW, LI]
 #
 # Specification of the variation sequences that are defined in the
 # Unicode Standard.
@@ -7,7 +7,7 @@
 # This file is a normative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Standardized variation sequences are defined in this file.
@@ -21,7 +21,7 @@
 #
 # For more information on standardized variation sequences, 
 # see Section 23.4, Variation Selectors, 
-# in The Unicode Standard, Version 7.0.
+# in The Unicode Standard, Version 8.0.
 #
 # For more information on the Ideographic Variation Database,
 # see http://www.unicode.org/ivd/
@@ -75,6 +75,14 @@ A85F FE00; phags-pa letter reversed shaping u; # PHAGS-PA LETTER U
 A860 FE00; phags-pa letter reversed shaping e; # PHAGS-PA LETTER E
 A868 FE00; phags-pa letter reversed shaping subjoined ya; # PHAGS-PA SUBJOINED LETTER YA
 
+# Manichaean
+
+10AC5 FE00; alternate form; isolate # MANICHAEAN LETTER DALETH
+10AC6 FE00; alternate form; isolate # MANICHAEAN LETTER HE
+10AD6 FE00; alternate form; isolate final # MANICHAEAN LETTER MEM
+10AD7 FE00; alternate form; isolate # MANICHAEAN LETTER NUN
+10AE1 FE00; alternate form; isolate # MANICHAEAN LETTER RESH
+
 # Mongolian
 
 1820 180B; second form; isolate medial final # MONGOLIAN LETTER A
@@ -169,10 +177,16 @@ A868 FE00; phags-pa letter reversed shaping subjoined ya; # PHAGS-PA SUBJOINED L
 
 # 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
@@ -347,6 +361,8 @@ A868 FE00; phags-pa letter reversed shaping subjoined ya; # PHAGS-PA SUBJOINED L
 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
@@ -355,12 +371,22 @@ A868 FE00; phags-pa letter reversed shaping subjoined ya; # PHAGS-PA SUBJOINED L
 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
 
 # CJK compatibility ideographs
 
index 31c8a7e..aa0e914 100644 (file)
 029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;;
 029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;;
 029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;;
-029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;;
+029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;A7B2;;A7B2
 029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;A7B0;;A7B0
 029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;;
 02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;;
 08B0;ARABIC LETTER GAF WITH INVERTED STROKE;Lo;0;AL;;;;;N;;;;;
 08B1;ARABIC LETTER STRAIGHT WAW;Lo;0;AL;;;;;N;;;;;
 08B2;ARABIC LETTER ZAIN WITH INVERTED V ABOVE;Lo;0;AL;;;;;N;;;;;
+08B3;ARABIC LETTER AIN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+08B4;ARABIC LETTER KAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+08E3;ARABIC TURNED DAMMA BELOW;Mn;220;NSM;;;;;N;;;;;
 08E4;ARABIC CURLY FATHA;Mn;230;NSM;;;;;N;;;;;
 08E5;ARABIC CURLY DAMMA;Mn;230;NSM;;;;;N;;;;;
 08E6;ARABIC CURLY KASRA;Mn;220;NSM;;;;;N;;;;;
 0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 0AF0;GUJARATI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
+0AF9;GUJARATI LETTER ZHA;Lo;0;L;;;;;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;;;;;
 0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;;
 0C58;TELUGU LETTER TSA;Lo;0;L;;;;;N;;;;;
 0C59;TELUGU LETTER DZA;Lo;0;L;;;;;N;;;;;
+0C5A;TELUGU LETTER RRRA;Lo;0;L;;;;;N;;;;;
 0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
 0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
 0C62;TELUGU VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
 0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
 0D4E;MALAYALAM LETTER DOT REPH;Lo;0;L;;;;;N;;;;;
 0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0D5F;MALAYALAM LETTER ARCHAIC II;Lo;0;L;;;;;N;;;;;
 0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
 0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
 0D62;MALAYALAM VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
 1397;ETHIOPIC TONAL MARK HIDET;So;0;ON;;;;;N;;;;;
 1398;ETHIOPIC TONAL MARK DERET-HIDET;So;0;ON;;;;;N;;;;;
 1399;ETHIOPIC TONAL MARK KURT;So;0;ON;;;;;N;;;;;
-13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;;
-13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;;
-13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;;
-13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;;
-13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;;
-13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;;
-13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;;
-13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;;
-13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;;
-13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;;
-13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;;
-13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;;
-13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;;
-13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;;
-13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;;
-13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;;
-13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;;
-13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;;
-13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;;
-13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;;
-13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;;
-13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;;
-13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;;
-13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;;
-13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;;
-13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;;
-13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;;
-13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;;
-13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;;
-13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;;
-13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;;
-13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;;
-13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;;
-13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;;
-13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;;
-13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;;
-13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;;
-13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;;
-13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;;
-13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;;
-13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;;
-13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;;
-13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;;
-13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;;
-13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;;
-13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;;
-13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;;
-13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;;
-13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;;
-13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;;
-13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;;
-13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;;
-13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;;
-13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;;
-13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;;
-13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;;
-13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;;
-13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;;
-13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;;
-13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;;
-13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;;
-13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;;
-13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;;
-13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;;
-13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;;
-13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;;
-13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;;
-13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;;
-13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;;
-13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;;
-13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;;
-13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;;
-13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;;
-13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;;
-13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;;
-13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;;
-13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;;
-13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;;
-13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;;
-13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;;
-13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;;
-13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;;
-13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;;
-13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;;
-13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;;
+13A0;CHEROKEE LETTER A;Lu;0;L;;;;;N;;;;AB70;
+13A1;CHEROKEE LETTER E;Lu;0;L;;;;;N;;;;AB71;
+13A2;CHEROKEE LETTER I;Lu;0;L;;;;;N;;;;AB72;
+13A3;CHEROKEE LETTER O;Lu;0;L;;;;;N;;;;AB73;
+13A4;CHEROKEE LETTER U;Lu;0;L;;;;;N;;;;AB74;
+13A5;CHEROKEE LETTER V;Lu;0;L;;;;;N;;;;AB75;
+13A6;CHEROKEE LETTER GA;Lu;0;L;;;;;N;;;;AB76;
+13A7;CHEROKEE LETTER KA;Lu;0;L;;;;;N;;;;AB77;
+13A8;CHEROKEE LETTER GE;Lu;0;L;;;;;N;;;;AB78;
+13A9;CHEROKEE LETTER GI;Lu;0;L;;;;;N;;;;AB79;
+13AA;CHEROKEE LETTER GO;Lu;0;L;;;;;N;;;;AB7A;
+13AB;CHEROKEE LETTER GU;Lu;0;L;;;;;N;;;;AB7B;
+13AC;CHEROKEE LETTER GV;Lu;0;L;;;;;N;;;;AB7C;
+13AD;CHEROKEE LETTER HA;Lu;0;L;;;;;N;;;;AB7D;
+13AE;CHEROKEE LETTER HE;Lu;0;L;;;;;N;;;;AB7E;
+13AF;CHEROKEE LETTER HI;Lu;0;L;;;;;N;;;;AB7F;
+13B0;CHEROKEE LETTER HO;Lu;0;L;;;;;N;;;;AB80;
+13B1;CHEROKEE LETTER HU;Lu;0;L;;;;;N;;;;AB81;
+13B2;CHEROKEE LETTER HV;Lu;0;L;;;;;N;;;;AB82;
+13B3;CHEROKEE LETTER LA;Lu;0;L;;;;;N;;;;AB83;
+13B4;CHEROKEE LETTER LE;Lu;0;L;;;;;N;;;;AB84;
+13B5;CHEROKEE LETTER LI;Lu;0;L;;;;;N;;;;AB85;
+13B6;CHEROKEE LETTER LO;Lu;0;L;;;;;N;;;;AB86;
+13B7;CHEROKEE LETTER LU;Lu;0;L;;;;;N;;;;AB87;
+13B8;CHEROKEE LETTER LV;Lu;0;L;;;;;N;;;;AB88;
+13B9;CHEROKEE LETTER MA;Lu;0;L;;;;;N;;;;AB89;
+13BA;CHEROKEE LETTER ME;Lu;0;L;;;;;N;;;;AB8A;
+13BB;CHEROKEE LETTER MI;Lu;0;L;;;;;N;;;;AB8B;
+13BC;CHEROKEE LETTER MO;Lu;0;L;;;;;N;;;;AB8C;
+13BD;CHEROKEE LETTER MU;Lu;0;L;;;;;N;;;;AB8D;
+13BE;CHEROKEE LETTER NA;Lu;0;L;;;;;N;;;;AB8E;
+13BF;CHEROKEE LETTER HNA;Lu;0;L;;;;;N;;;;AB8F;
+13C0;CHEROKEE LETTER NAH;Lu;0;L;;;;;N;;;;AB90;
+13C1;CHEROKEE LETTER NE;Lu;0;L;;;;;N;;;;AB91;
+13C2;CHEROKEE LETTER NI;Lu;0;L;;;;;N;;;;AB92;
+13C3;CHEROKEE LETTER NO;Lu;0;L;;;;;N;;;;AB93;
+13C4;CHEROKEE LETTER NU;Lu;0;L;;;;;N;;;;AB94;
+13C5;CHEROKEE LETTER NV;Lu;0;L;;;;;N;;;;AB95;
+13C6;CHEROKEE LETTER QUA;Lu;0;L;;;;;N;;;;AB96;
+13C7;CHEROKEE LETTER QUE;Lu;0;L;;;;;N;;;;AB97;
+13C8;CHEROKEE LETTER QUI;Lu;0;L;;;;;N;;;;AB98;
+13C9;CHEROKEE LETTER QUO;Lu;0;L;;;;;N;;;;AB99;
+13CA;CHEROKEE LETTER QUU;Lu;0;L;;;;;N;;;;AB9A;
+13CB;CHEROKEE LETTER QUV;Lu;0;L;;;;;N;;;;AB9B;
+13CC;CHEROKEE LETTER SA;Lu;0;L;;;;;N;;;;AB9C;
+13CD;CHEROKEE LETTER S;Lu;0;L;;;;;N;;;;AB9D;
+13CE;CHEROKEE LETTER SE;Lu;0;L;;;;;N;;;;AB9E;
+13CF;CHEROKEE LETTER SI;Lu;0;L;;;;;N;;;;AB9F;
+13D0;CHEROKEE LETTER SO;Lu;0;L;;;;;N;;;;ABA0;
+13D1;CHEROKEE LETTER SU;Lu;0;L;;;;;N;;;;ABA1;
+13D2;CHEROKEE LETTER SV;Lu;0;L;;;;;N;;;;ABA2;
+13D3;CHEROKEE LETTER DA;Lu;0;L;;;;;N;;;;ABA3;
+13D4;CHEROKEE LETTER TA;Lu;0;L;;;;;N;;;;ABA4;
+13D5;CHEROKEE LETTER DE;Lu;0;L;;;;;N;;;;ABA5;
+13D6;CHEROKEE LETTER TE;Lu;0;L;;;;;N;;;;ABA6;
+13D7;CHEROKEE LETTER DI;Lu;0;L;;;;;N;;;;ABA7;
+13D8;CHEROKEE LETTER TI;Lu;0;L;;;;;N;;;;ABA8;
+13D9;CHEROKEE LETTER DO;Lu;0;L;;;;;N;;;;ABA9;
+13DA;CHEROKEE LETTER DU;Lu;0;L;;;;;N;;;;ABAA;
+13DB;CHEROKEE LETTER DV;Lu;0;L;;;;;N;;;;ABAB;
+13DC;CHEROKEE LETTER DLA;Lu;0;L;;;;;N;;;;ABAC;
+13DD;CHEROKEE LETTER TLA;Lu;0;L;;;;;N;;;;ABAD;
+13DE;CHEROKEE LETTER TLE;Lu;0;L;;;;;N;;;;ABAE;
+13DF;CHEROKEE LETTER TLI;Lu;0;L;;;;;N;;;;ABAF;
+13E0;CHEROKEE LETTER TLO;Lu;0;L;;;;;N;;;;ABB0;
+13E1;CHEROKEE LETTER TLU;Lu;0;L;;;;;N;;;;ABB1;
+13E2;CHEROKEE LETTER TLV;Lu;0;L;;;;;N;;;;ABB2;
+13E3;CHEROKEE LETTER TSA;Lu;0;L;;;;;N;;;;ABB3;
+13E4;CHEROKEE LETTER TSE;Lu;0;L;;;;;N;;;;ABB4;
+13E5;CHEROKEE LETTER TSI;Lu;0;L;;;;;N;;;;ABB5;
+13E6;CHEROKEE LETTER TSO;Lu;0;L;;;;;N;;;;ABB6;
+13E7;CHEROKEE LETTER TSU;Lu;0;L;;;;;N;;;;ABB7;
+13E8;CHEROKEE LETTER TSV;Lu;0;L;;;;;N;;;;ABB8;
+13E9;CHEROKEE LETTER WA;Lu;0;L;;;;;N;;;;ABB9;
+13EA;CHEROKEE LETTER WE;Lu;0;L;;;;;N;;;;ABBA;
+13EB;CHEROKEE LETTER WI;Lu;0;L;;;;;N;;;;ABBB;
+13EC;CHEROKEE LETTER WO;Lu;0;L;;;;;N;;;;ABBC;
+13ED;CHEROKEE LETTER WU;Lu;0;L;;;;;N;;;;ABBD;
+13EE;CHEROKEE LETTER WV;Lu;0;L;;;;;N;;;;ABBE;
+13EF;CHEROKEE LETTER YA;Lu;0;L;;;;;N;;;;ABBF;
+13F0;CHEROKEE LETTER YE;Lu;0;L;;;;;N;;;;13F8;
+13F1;CHEROKEE LETTER YI;Lu;0;L;;;;;N;;;;13F9;
+13F2;CHEROKEE LETTER YO;Lu;0;L;;;;;N;;;;13FA;
+13F3;CHEROKEE LETTER YU;Lu;0;L;;;;;N;;;;13FB;
+13F4;CHEROKEE LETTER YV;Lu;0;L;;;;;N;;;;13FC;
+13F5;CHEROKEE LETTER MV;Lu;0;L;;;;;N;;;;13FD;
+13F8;CHEROKEE SMALL LETTER YE;Ll;0;L;;;;;N;;;13F0;;13F0
+13F9;CHEROKEE SMALL LETTER YI;Ll;0;L;;;;;N;;;13F1;;13F1
+13FA;CHEROKEE SMALL LETTER YO;Ll;0;L;;;;;N;;;13F2;;13F2
+13FB;CHEROKEE SMALL LETTER YU;Ll;0;L;;;;;N;;;13F3;;13F3
+13FC;CHEROKEE SMALL LETTER YV;Ll;0;L;;;;;N;;;13F4;;13F4
+13FD;CHEROKEE SMALL LETTER MV;Ll;0;L;;;;;N;;;13F5;;13F5
 1400;CANADIAN SYLLABICS HYPHEN;Pd;0;ON;;;;;N;;;;;
 1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;;
 1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;;
 19A9;NEW TAI LUE LETTER LOW XVA;Lo;0;L;;;;;N;;;;;
 19AA;NEW TAI LUE LETTER HIGH SUA;Lo;0;L;;;;;N;;;;;
 19AB;NEW TAI LUE LETTER LOW SUA;Lo;0;L;;;;;N;;;;;
-19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Mc;0;L;;;;;N;;;;;
-19B1;NEW TAI LUE VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-19B2;NEW TAI LUE VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-19B3;NEW TAI LUE VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
-19B4;NEW TAI LUE VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
-19B5;NEW TAI LUE VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-19B6;NEW TAI LUE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
-19B7;NEW TAI LUE VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-19B8;NEW TAI LUE VOWEL SIGN OA;Mc;0;L;;;;;N;;;;;
-19B9;NEW TAI LUE VOWEL SIGN UE;Mc;0;L;;;;;N;;;;;
-19BA;NEW TAI LUE VOWEL SIGN AY;Mc;0;L;;;;;N;;;;;
-19BB;NEW TAI LUE VOWEL SIGN AAY;Mc;0;L;;;;;N;;;;;
-19BC;NEW TAI LUE VOWEL SIGN UY;Mc;0;L;;;;;N;;;;;
-19BD;NEW TAI LUE VOWEL SIGN OY;Mc;0;L;;;;;N;;;;;
-19BE;NEW TAI LUE VOWEL SIGN OAY;Mc;0;L;;;;;N;;;;;
-19BF;NEW TAI LUE VOWEL SIGN UEY;Mc;0;L;;;;;N;;;;;
-19C0;NEW TAI LUE VOWEL SIGN IY;Mc;0;L;;;;;N;;;;;
+19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Lo;0;L;;;;;N;;;;;
+19B1;NEW TAI LUE VOWEL SIGN AA;Lo;0;L;;;;;N;;;;;
+19B2;NEW TAI LUE VOWEL SIGN II;Lo;0;L;;;;;N;;;;;
+19B3;NEW TAI LUE VOWEL SIGN U;Lo;0;L;;;;;N;;;;;
+19B4;NEW TAI LUE VOWEL SIGN UU;Lo;0;L;;;;;N;;;;;
+19B5;NEW TAI LUE VOWEL SIGN E;Lo;0;L;;;;;N;;;;;
+19B6;NEW TAI LUE VOWEL SIGN AE;Lo;0;L;;;;;N;;;;;
+19B7;NEW TAI LUE VOWEL SIGN O;Lo;0;L;;;;;N;;;;;
+19B8;NEW TAI LUE VOWEL SIGN OA;Lo;0;L;;;;;N;;;;;
+19B9;NEW TAI LUE VOWEL SIGN UE;Lo;0;L;;;;;N;;;;;
+19BA;NEW TAI LUE VOWEL SIGN AY;Lo;0;L;;;;;N;;;;;
+19BB;NEW TAI LUE VOWEL SIGN AAY;Lo;0;L;;;;;N;;;;;
+19BC;NEW TAI LUE VOWEL SIGN UY;Lo;0;L;;;;;N;;;;;
+19BD;NEW TAI LUE VOWEL SIGN OY;Lo;0;L;;;;;N;;;;;
+19BE;NEW TAI LUE VOWEL SIGN OAY;Lo;0;L;;;;;N;;;;;
+19BF;NEW TAI LUE VOWEL SIGN UEY;Lo;0;L;;;;;N;;;;;
+19C0;NEW TAI LUE VOWEL SIGN IY;Lo;0;L;;;;;N;;;;;
 19C1;NEW TAI LUE LETTER FINAL V;Lo;0;L;;;;;N;;;;;
 19C2;NEW TAI LUE LETTER FINAL NG;Lo;0;L;;;;;N;;;;;
 19C3;NEW TAI LUE LETTER FINAL N;Lo;0;L;;;;;N;;;;;
 19C5;NEW TAI LUE LETTER FINAL K;Lo;0;L;;;;;N;;;;;
 19C6;NEW TAI LUE LETTER FINAL D;Lo;0;L;;;;;N;;;;;
 19C7;NEW TAI LUE LETTER FINAL B;Lo;0;L;;;;;N;;;;;
-19C8;NEW TAI LUE TONE MARK-1;Mc;0;L;;;;;N;;;;;
-19C9;NEW TAI LUE TONE MARK-2;Mc;0;L;;;;;N;;;;;
+19C8;NEW TAI LUE TONE MARK-1;Lo;0;L;;;;;N;;;;;
+19C9;NEW TAI LUE TONE MARK-2;Lo;0;L;;;;;N;;;;;
 19D0;NEW TAI LUE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 19D1;NEW TAI LUE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 19D2;NEW TAI LUE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 20BB;NORDIC MARK SIGN;Sc;0;ET;;;;;N;;;;;
 20BC;MANAT SIGN;Sc;0;ET;;;;;N;;;;;
 20BD;RUBLE SIGN;Sc;0;ET;;;;;N;;;;;
+20BE;LARI 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;;;;
 2187;ROMAN NUMERAL FIFTY THOUSAND;Nl;0;L;;;;50000;N;;;;;
 2188;ROMAN NUMERAL ONE HUNDRED THOUSAND;Nl;0;L;;;;100000;N;;;;;
 2189;VULGAR FRACTION ZERO THIRDS;No;0;ON;<fraction> 0030 2044 0033;;;0;N;;;;;
+218A;TURNED DIGIT TWO;So;0;ON;;;;;N;;;;;
+218B;TURNED DIGIT THREE;So;0;ON;;;;;N;;;;;
 2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;;
 2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;;
 2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;;
 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;;;;;
+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;;;;;
+2BEF;DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
 2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30;
 2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31;
 2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32;
 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;;;;;
-9FCC;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+9FD5;<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;;;;;
@@ -13605,6 +13625,7 @@ A69A;CYRILLIC CAPITAL LETTER CROSSED O;Lu;0;L;;;;;N;;;;A69B;
 A69B;CYRILLIC SMALL LETTER CROSSED O;Ll;0;L;;;;;N;;;A69A;;A69A
 A69C;MODIFIER LETTER CYRILLIC HARD SIGN;Lm;0;L;<super> 044A;;;;N;;;;;
 A69D;MODIFIER LETTER CYRILLIC SOFT SIGN;Lm;0;L;<super> 044C;;;;N;;;;;
+A69E;COMBINING CYRILLIC LETTER EF;Mn;230;NSM;;;;;N;;;;;
 A69F;COMBINING CYRILLIC LETTER IOTIFIED E;Mn;230;NSM;;;;;N;;;;;
 A6A0;BAMUM LETTER A;Lo;0;L;;;;;N;;;;;
 A6A1;BAMUM LETTER KA;Lo;0;L;;;;;N;;;;;
@@ -13837,6 +13858,7 @@ A78B;LATIN CAPITAL LETTER SALTILLO;Lu;0;L;;;;;N;;;;A78C;
 A78C;LATIN SMALL LETTER SALTILLO;Ll;0;L;;;;;N;;;A78B;;A78B
 A78D;LATIN CAPITAL LETTER TURNED H;Lu;0;L;;;;;N;;;;0265;
 A78E;LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT;Ll;0;L;;;;;N;;;;;
+A78F;LATIN LETTER SINOLOGICAL DOT;Lo;0;L;;;;;N;;;;;
 A790;LATIN CAPITAL LETTER N WITH DESCENDER;Lu;0;L;;;;;N;;;;A791;
 A791;LATIN SMALL LETTER N WITH DESCENDER;Ll;0;L;;;;;N;;;A790;;A790
 A792;LATIN CAPITAL LETTER C WITH BAR;Lu;0;L;;;;;N;;;;A793;
@@ -13869,6 +13891,12 @@ A7AC;LATIN CAPITAL LETTER SCRIPT G;Lu;0;L;;;;;N;;;;0261;
 A7AD;LATIN CAPITAL LETTER L WITH BELT;Lu;0;L;;;;;N;;;;026C;
 A7B0;LATIN CAPITAL LETTER TURNED K;Lu;0;L;;;;;N;;;;029E;
 A7B1;LATIN CAPITAL LETTER TURNED T;Lu;0;L;;;;;N;;;;0287;
+A7B2;LATIN CAPITAL LETTER J WITH CROSSED-TAIL;Lu;0;L;;;;;N;;;;029D;
+A7B3;LATIN CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;AB53;
+A7B4;LATIN CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;A7B5;
+A7B5;LATIN SMALL LETTER BETA;Ll;0;L;;;;;N;;;A7B4;;A7B4
+A7B6;LATIN CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;A7B7;
+A7B7;LATIN SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;A7B6;;A7B6
 A7F7;LATIN EPIGRAPHIC LETTER SIDEWAYS I;Lo;0;L;;;;;N;;;;;
 A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L;<super> 0126;;;;N;;;;;
 A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L;<super> 0153;;;;N;;;;;
@@ -14097,6 +14125,8 @@ A8F8;DEVANAGARI SIGN PUSHPIKA;Po;0;L;;;;;N;;;;;
 A8F9;DEVANAGARI GAP FILLER;Po;0;L;;;;;N;;;;;
 A8FA;DEVANAGARI CARET;Po;0;L;;;;;N;;;;;
 A8FB;DEVANAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;;
+A8FC;DEVANAGARI SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
+A8FD;DEVANAGARI JAIN OM;Lo;0;L;;;;;N;;;;;
 A900;KAYAH LI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 A901;KAYAH LI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 A902;KAYAH LI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
@@ -14610,7 +14640,7 @@ AB4F;LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;;
 AB50;LATIN SMALL LETTER UI;Ll;0;L;;;;;N;;;;;
 AB51;LATIN SMALL LETTER TURNED UI;Ll;0;L;;;;;N;;;;;
 AB52;LATIN SMALL LETTER U WITH LEFT HOOK;Ll;0;L;;;;;N;;;;;
-AB53;LATIN SMALL LETTER CHI;Ll;0;L;;;;;N;;;;;
+AB53;LATIN SMALL LETTER CHI;Ll;0;L;;;;;N;;;A7B3;;A7B3
 AB54;LATIN SMALL LETTER CHI WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;;
 AB55;LATIN SMALL LETTER CHI WITH LOW LEFT SERIF;Ll;0;L;;;;;N;;;;;
 AB56;LATIN SMALL LETTER X WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;;
@@ -14623,8 +14653,92 @@ AB5C;MODIFIER LETTER SMALL HENG;Lm;0;L;<super> A727;;;;N;;;;;
 AB5D;MODIFIER LETTER SMALL L WITH INVERTED LAZY S;Lm;0;L;<super> AB37;;;;N;;;;;
 AB5E;MODIFIER LETTER SMALL L WITH MIDDLE TILDE;Lm;0;L;<super> 026B;;;;N;;;;;
 AB5F;MODIFIER LETTER SMALL U WITH LEFT HOOK;Lm;0;L;<super> AB52;;;;N;;;;;
+AB60;LATIN SMALL LETTER SAKHA YAT;Ll;0;L;;;;;N;;;;;
+AB61;LATIN SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;;;
+AB62;LATIN SMALL LETTER OPEN OE;Ll;0;L;;;;;N;;;;;
+AB63;LATIN SMALL LETTER UO;Ll;0;L;;;;;N;;;;;
 AB64;LATIN SMALL LETTER INVERTED ALPHA;Ll;0;L;;;;;N;;;;;
 AB65;GREEK LETTER SMALL CAPITAL OMEGA;Ll;0;L;;;;;N;;;;;
+AB70;CHEROKEE SMALL LETTER A;Ll;0;L;;;;;N;;;13A0;;13A0
+AB71;CHEROKEE SMALL LETTER E;Ll;0;L;;;;;N;;;13A1;;13A1
+AB72;CHEROKEE SMALL LETTER I;Ll;0;L;;;;;N;;;13A2;;13A2
+AB73;CHEROKEE SMALL LETTER O;Ll;0;L;;;;;N;;;13A3;;13A3
+AB74;CHEROKEE SMALL LETTER U;Ll;0;L;;;;;N;;;13A4;;13A4
+AB75;CHEROKEE SMALL LETTER V;Ll;0;L;;;;;N;;;13A5;;13A5
+AB76;CHEROKEE SMALL LETTER GA;Ll;0;L;;;;;N;;;13A6;;13A6
+AB77;CHEROKEE SMALL LETTER KA;Ll;0;L;;;;;N;;;13A7;;13A7
+AB78;CHEROKEE SMALL LETTER GE;Ll;0;L;;;;;N;;;13A8;;13A8
+AB79;CHEROKEE SMALL LETTER GI;Ll;0;L;;;;;N;;;13A9;;13A9
+AB7A;CHEROKEE SMALL LETTER GO;Ll;0;L;;;;;N;;;13AA;;13AA
+AB7B;CHEROKEE SMALL LETTER GU;Ll;0;L;;;;;N;;;13AB;;13AB
+AB7C;CHEROKEE SMALL LETTER GV;Ll;0;L;;;;;N;;;13AC;;13AC
+AB7D;CHEROKEE SMALL LETTER HA;Ll;0;L;;;;;N;;;13AD;;13AD
+AB7E;CHEROKEE SMALL LETTER HE;Ll;0;L;;;;;N;;;13AE;;13AE
+AB7F;CHEROKEE SMALL LETTER HI;Ll;0;L;;;;;N;;;13AF;;13AF
+AB80;CHEROKEE SMALL LETTER HO;Ll;0;L;;;;;N;;;13B0;;13B0
+AB81;CHEROKEE SMALL LETTER HU;Ll;0;L;;;;;N;;;13B1;;13B1
+AB82;CHEROKEE SMALL LETTER HV;Ll;0;L;;;;;N;;;13B2;;13B2
+AB83;CHEROKEE SMALL LETTER LA;Ll;0;L;;;;;N;;;13B3;;13B3
+AB84;CHEROKEE SMALL LETTER LE;Ll;0;L;;;;;N;;;13B4;;13B4
+AB85;CHEROKEE SMALL LETTER LI;Ll;0;L;;;;;N;;;13B5;;13B5
+AB86;CHEROKEE SMALL LETTER LO;Ll;0;L;;;;;N;;;13B6;;13B6
+AB87;CHEROKEE SMALL LETTER LU;Ll;0;L;;;;;N;;;13B7;;13B7
+AB88;CHEROKEE SMALL LETTER LV;Ll;0;L;;;;;N;;;13B8;;13B8
+AB89;CHEROKEE SMALL LETTER MA;Ll;0;L;;;;;N;;;13B9;;13B9
+AB8A;CHEROKEE SMALL LETTER ME;Ll;0;L;;;;;N;;;13BA;;13BA
+AB8B;CHEROKEE SMALL LETTER MI;Ll;0;L;;;;;N;;;13BB;;13BB
+AB8C;CHEROKEE SMALL LETTER MO;Ll;0;L;;;;;N;;;13BC;;13BC
+AB8D;CHEROKEE SMALL LETTER MU;Ll;0;L;;;;;N;;;13BD;;13BD
+AB8E;CHEROKEE SMALL LETTER NA;Ll;0;L;;;;;N;;;13BE;;13BE
+AB8F;CHEROKEE SMALL LETTER HNA;Ll;0;L;;;;;N;;;13BF;;13BF
+AB90;CHEROKEE SMALL LETTER NAH;Ll;0;L;;;;;N;;;13C0;;13C0
+AB91;CHEROKEE SMALL LETTER NE;Ll;0;L;;;;;N;;;13C1;;13C1
+AB92;CHEROKEE SMALL LETTER NI;Ll;0;L;;;;;N;;;13C2;;13C2
+AB93;CHEROKEE SMALL LETTER NO;Ll;0;L;;;;;N;;;13C3;;13C3
+AB94;CHEROKEE SMALL LETTER NU;Ll;0;L;;;;;N;;;13C4;;13C4
+AB95;CHEROKEE SMALL LETTER NV;Ll;0;L;;;;;N;;;13C5;;13C5
+AB96;CHEROKEE SMALL LETTER QUA;Ll;0;L;;;;;N;;;13C6;;13C6
+AB97;CHEROKEE SMALL LETTER QUE;Ll;0;L;;;;;N;;;13C7;;13C7
+AB98;CHEROKEE SMALL LETTER QUI;Ll;0;L;;;;;N;;;13C8;;13C8
+AB99;CHEROKEE SMALL LETTER QUO;Ll;0;L;;;;;N;;;13C9;;13C9
+AB9A;CHEROKEE SMALL LETTER QUU;Ll;0;L;;;;;N;;;13CA;;13CA
+AB9B;CHEROKEE SMALL LETTER QUV;Ll;0;L;;;;;N;;;13CB;;13CB
+AB9C;CHEROKEE SMALL LETTER SA;Ll;0;L;;;;;N;;;13CC;;13CC
+AB9D;CHEROKEE SMALL LETTER S;Ll;0;L;;;;;N;;;13CD;;13CD
+AB9E;CHEROKEE SMALL LETTER SE;Ll;0;L;;;;;N;;;13CE;;13CE
+AB9F;CHEROKEE SMALL LETTER SI;Ll;0;L;;;;;N;;;13CF;;13CF
+ABA0;CHEROKEE SMALL LETTER SO;Ll;0;L;;;;;N;;;13D0;;13D0
+ABA1;CHEROKEE SMALL LETTER SU;Ll;0;L;;;;;N;;;13D1;;13D1
+ABA2;CHEROKEE SMALL LETTER SV;Ll;0;L;;;;;N;;;13D2;;13D2
+ABA3;CHEROKEE SMALL LETTER DA;Ll;0;L;;;;;N;;;13D3;;13D3
+ABA4;CHEROKEE SMALL LETTER TA;Ll;0;L;;;;;N;;;13D4;;13D4
+ABA5;CHEROKEE SMALL LETTER DE;Ll;0;L;;;;;N;;;13D5;;13D5
+ABA6;CHEROKEE SMALL LETTER TE;Ll;0;L;;;;;N;;;13D6;;13D6
+ABA7;CHEROKEE SMALL LETTER DI;Ll;0;L;;;;;N;;;13D7;;13D7
+ABA8;CHEROKEE SMALL LETTER TI;Ll;0;L;;;;;N;;;13D8;;13D8
+ABA9;CHEROKEE SMALL LETTER DO;Ll;0;L;;;;;N;;;13D9;;13D9
+ABAA;CHEROKEE SMALL LETTER DU;Ll;0;L;;;;;N;;;13DA;;13DA
+ABAB;CHEROKEE SMALL LETTER DV;Ll;0;L;;;;;N;;;13DB;;13DB
+ABAC;CHEROKEE SMALL LETTER DLA;Ll;0;L;;;;;N;;;13DC;;13DC
+ABAD;CHEROKEE SMALL LETTER TLA;Ll;0;L;;;;;N;;;13DD;;13DD
+ABAE;CHEROKEE SMALL LETTER TLE;Ll;0;L;;;;;N;;;13DE;;13DE
+ABAF;CHEROKEE SMALL LETTER TLI;Ll;0;L;;;;;N;;;13DF;;13DF
+ABB0;CHEROKEE SMALL LETTER TLO;Ll;0;L;;;;;N;;;13E0;;13E0
+ABB1;CHEROKEE SMALL LETTER TLU;Ll;0;L;;;;;N;;;13E1;;13E1
+ABB2;CHEROKEE SMALL LETTER TLV;Ll;0;L;;;;;N;;;13E2;;13E2
+ABB3;CHEROKEE SMALL LETTER TSA;Ll;0;L;;;;;N;;;13E3;;13E3
+ABB4;CHEROKEE SMALL LETTER TSE;Ll;0;L;;;;;N;;;13E4;;13E4
+ABB5;CHEROKEE SMALL LETTER TSI;Ll;0;L;;;;;N;;;13E5;;13E5
+ABB6;CHEROKEE SMALL LETTER TSO;Ll;0;L;;;;;N;;;13E6;;13E6
+ABB7;CHEROKEE SMALL LETTER TSU;Ll;0;L;;;;;N;;;13E7;;13E7
+ABB8;CHEROKEE SMALL LETTER TSV;Ll;0;L;;;;;N;;;13E8;;13E8
+ABB9;CHEROKEE SMALL LETTER WA;Ll;0;L;;;;;N;;;13E9;;13E9
+ABBA;CHEROKEE SMALL LETTER WE;Ll;0;L;;;;;N;;;13EA;;13EA
+ABBB;CHEROKEE SMALL LETTER WI;Ll;0;L;;;;;N;;;13EB;;13EB
+ABBC;CHEROKEE SMALL LETTER WO;Ll;0;L;;;;;N;;;13EC;;13EC
+ABBD;CHEROKEE SMALL LETTER WU;Ll;0;L;;;;;N;;;13ED;;13ED
+ABBE;CHEROKEE SMALL LETTER WV;Ll;0;L;;;;;N;;;13EE;;13EE
+ABBF;CHEROKEE SMALL LETTER YA;Ll;0;L;;;;;N;;;13EF;;13EF
 ABC0;MEETEI MAYEK LETTER KOK;Lo;0;L;;;;;N;;;;;
 ABC1;MEETEI MAYEK LETTER SAM;Lo;0;L;;;;;N;;;;;
 ABC2;MEETEI MAYEK LETTER LAI;Lo;0;L;;;;;N;;;;;
@@ -15944,6 +16058,8 @@ FE2A;COMBINING TILDE RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
 FE2B;COMBINING MACRON LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
 FE2C;COMBINING MACRON RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
 FE2D;COMBINING CONJOINING MACRON BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2E;COMBINING CYRILLIC TITLO LEFT HALF;Mn;230;NSM;;;;;N;;;;;
+FE2F;COMBINING CYRILLIC TITLO RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
 FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON;<vertical> 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;;
 FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON;<vertical> 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;;
 FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON;<vertical> 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;;
@@ -17830,6 +17946,32 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 108AD;NABATAEAN NUMBER TEN;No;0;R;;;;10;N;;;;;
 108AE;NABATAEAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
 108AF;NABATAEAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+108E0;HATRAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+108E1;HATRAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+108E2;HATRAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+108E3;HATRAN LETTER DALETH-RESH;Lo;0;R;;;;;N;;;;;
+108E4;HATRAN LETTER HE;Lo;0;R;;;;;N;;;;;
+108E5;HATRAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+108E6;HATRAN LETTER ZAYN;Lo;0;R;;;;;N;;;;;
+108E7;HATRAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+108E8;HATRAN LETTER TETH;Lo;0;R;;;;;N;;;;;
+108E9;HATRAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+108EA;HATRAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+108EB;HATRAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+108EC;HATRAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+108ED;HATRAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+108EE;HATRAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+108EF;HATRAN LETTER AYN;Lo;0;R;;;;;N;;;;;
+108F0;HATRAN LETTER PE;Lo;0;R;;;;;N;;;;;
+108F1;HATRAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+108F2;HATRAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
+108F4;HATRAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+108F5;HATRAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+108FB;HATRAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+108FC;HATRAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+108FD;HATRAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+108FE;HATRAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+108FF;HATRAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
 10900;PHOENICIAN LETTER ALF;Lo;0;R;;;;;N;;;;;
 10901;PHOENICIAN LETTER BET;Lo;0;R;;;;;N;;;;;
 10902;PHOENICIAN LETTER GAML;Lo;0;R;;;;;N;;;;;
@@ -17942,8 +18084,72 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 109B5;MEROITIC CURSIVE LETTER TE;Lo;0;R;;;;;N;;;;;
 109B6;MEROITIC CURSIVE LETTER TO;Lo;0;R;;;;;N;;;;;
 109B7;MEROITIC CURSIVE LETTER DA;Lo;0;R;;;;;N;;;;;
+109BC;MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS;No;0;R;;;;11/12;N;;;;;
+109BD;MEROITIC CURSIVE FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;;
 109BE;MEROITIC CURSIVE LOGOGRAM RMT;Lo;0;R;;;;;N;;;;;
 109BF;MEROITIC CURSIVE LOGOGRAM IMN;Lo;0;R;;;;;N;;;;;
+109C0;MEROITIC CURSIVE NUMBER ONE;No;0;R;;;;1;N;;;;;
+109C1;MEROITIC CURSIVE NUMBER TWO;No;0;R;;;;2;N;;;;;
+109C2;MEROITIC CURSIVE NUMBER THREE;No;0;R;;;;3;N;;;;;
+109C3;MEROITIC CURSIVE NUMBER FOUR;No;0;R;;;;4;N;;;;;
+109C4;MEROITIC CURSIVE NUMBER FIVE;No;0;R;;;;5;N;;;;;
+109C5;MEROITIC CURSIVE NUMBER SIX;No;0;R;;;;6;N;;;;;
+109C6;MEROITIC CURSIVE NUMBER SEVEN;No;0;R;;;;7;N;;;;;
+109C7;MEROITIC CURSIVE NUMBER EIGHT;No;0;R;;;;8;N;;;;;
+109C8;MEROITIC CURSIVE NUMBER NINE;No;0;R;;;;9;N;;;;;
+109C9;MEROITIC CURSIVE NUMBER TEN;No;0;R;;;;10;N;;;;;
+109CA;MEROITIC CURSIVE NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+109CB;MEROITIC CURSIVE NUMBER THIRTY;No;0;R;;;;30;N;;;;;
+109CC;MEROITIC CURSIVE NUMBER FORTY;No;0;R;;;;40;N;;;;;
+109CD;MEROITIC CURSIVE NUMBER FIFTY;No;0;R;;;;50;N;;;;;
+109CE;MEROITIC CURSIVE NUMBER SIXTY;No;0;R;;;;60;N;;;;;
+109CF;MEROITIC CURSIVE NUMBER SEVENTY;No;0;R;;;;70;N;;;;;
+109D2;MEROITIC CURSIVE NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+109D3;MEROITIC CURSIVE NUMBER TWO HUNDRED;No;0;R;;;;200;N;;;;;
+109D4;MEROITIC CURSIVE NUMBER THREE HUNDRED;No;0;R;;;;300;N;;;;;
+109D5;MEROITIC CURSIVE NUMBER FOUR HUNDRED;No;0;R;;;;400;N;;;;;
+109D6;MEROITIC CURSIVE NUMBER FIVE HUNDRED;No;0;R;;;;500;N;;;;;
+109D7;MEROITIC CURSIVE NUMBER SIX HUNDRED;No;0;R;;;;600;N;;;;;
+109D8;MEROITIC CURSIVE NUMBER SEVEN HUNDRED;No;0;R;;;;700;N;;;;;
+109D9;MEROITIC CURSIVE NUMBER EIGHT HUNDRED;No;0;R;;;;800;N;;;;;
+109DA;MEROITIC CURSIVE NUMBER NINE HUNDRED;No;0;R;;;;900;N;;;;;
+109DB;MEROITIC CURSIVE NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+109DC;MEROITIC CURSIVE NUMBER TWO THOUSAND;No;0;R;;;;2000;N;;;;;
+109DD;MEROITIC CURSIVE NUMBER THREE THOUSAND;No;0;R;;;;3000;N;;;;;
+109DE;MEROITIC CURSIVE NUMBER FOUR THOUSAND;No;0;R;;;;4000;N;;;;;
+109DF;MEROITIC CURSIVE NUMBER FIVE THOUSAND;No;0;R;;;;5000;N;;;;;
+109E0;MEROITIC CURSIVE NUMBER SIX THOUSAND;No;0;R;;;;6000;N;;;;;
+109E1;MEROITIC CURSIVE NUMBER SEVEN THOUSAND;No;0;R;;;;7000;N;;;;;
+109E2;MEROITIC CURSIVE NUMBER EIGHT THOUSAND;No;0;R;;;;8000;N;;;;;
+109E3;MEROITIC CURSIVE NUMBER NINE THOUSAND;No;0;R;;;;9000;N;;;;;
+109E4;MEROITIC CURSIVE NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;;
+109E5;MEROITIC CURSIVE NUMBER TWENTY THOUSAND;No;0;R;;;;20000;N;;;;;
+109E6;MEROITIC CURSIVE NUMBER THIRTY THOUSAND;No;0;R;;;;30000;N;;;;;
+109E7;MEROITIC CURSIVE NUMBER FORTY THOUSAND;No;0;R;;;;40000;N;;;;;
+109E8;MEROITIC CURSIVE NUMBER FIFTY THOUSAND;No;0;R;;;;50000;N;;;;;
+109E9;MEROITIC CURSIVE NUMBER SIXTY THOUSAND;No;0;R;;;;60000;N;;;;;
+109EA;MEROITIC CURSIVE NUMBER SEVENTY THOUSAND;No;0;R;;;;70000;N;;;;;
+109EB;MEROITIC CURSIVE NUMBER EIGHTY THOUSAND;No;0;R;;;;80000;N;;;;;
+109EC;MEROITIC CURSIVE NUMBER NINETY THOUSAND;No;0;R;;;;90000;N;;;;;
+109ED;MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND;No;0;R;;;;100000;N;;;;;
+109EE;MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND;No;0;R;;;;200000;N;;;;;
+109EF;MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND;No;0;R;;;;300000;N;;;;;
+109F0;MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND;No;0;R;;;;400000;N;;;;;
+109F1;MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND;No;0;R;;;;500000;N;;;;;
+109F2;MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND;No;0;R;;;;600000;N;;;;;
+109F3;MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND;No;0;R;;;;700000;N;;;;;
+109F4;MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND;No;0;R;;;;800000;N;;;;;
+109F5;MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND;No;0;R;;;;900000;N;;;;;
+109F6;MEROITIC CURSIVE FRACTION ONE TWELFTH;No;0;R;;;;1/12;N;;;;;
+109F7;MEROITIC CURSIVE FRACTION TWO TWELFTHS;No;0;R;;;;2/12;N;;;;;
+109F8;MEROITIC CURSIVE FRACTION THREE TWELFTHS;No;0;R;;;;3/12;N;;;;;
+109F9;MEROITIC CURSIVE FRACTION FOUR TWELFTHS;No;0;R;;;;4/12;N;;;;;
+109FA;MEROITIC CURSIVE FRACTION FIVE TWELFTHS;No;0;R;;;;5/12;N;;;;;
+109FB;MEROITIC CURSIVE FRACTION SIX TWELFTHS;No;0;R;;;;6/12;N;;;;;
+109FC;MEROITIC CURSIVE FRACTION SEVEN TWELFTHS;No;0;R;;;;7/12;N;;;;;
+109FD;MEROITIC CURSIVE FRACTION EIGHT TWELFTHS;No;0;R;;;;8/12;N;;;;;
+109FE;MEROITIC CURSIVE FRACTION NINE TWELFTHS;No;0;R;;;;9/12;N;;;;;
+109FF;MEROITIC CURSIVE FRACTION TEN TWELFTHS;No;0;R;;;;10/12;N;;;;;
 10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;;
 10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
 10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
@@ -18344,6 +18550,114 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 10C46;OLD TURKIC LETTER YENISEI AET;Lo;0;R;;;;;N;;;;;
 10C47;OLD TURKIC LETTER ORKHON OT;Lo;0;R;;;;;N;;;;;
 10C48;OLD TURKIC LETTER ORKHON BASH;Lo;0;R;;;;;N;;;;;
+10C80;OLD HUNGARIAN CAPITAL LETTER A;Lu;0;R;;;;;N;;;;10CC0;
+10C81;OLD HUNGARIAN CAPITAL LETTER AA;Lu;0;R;;;;;N;;;;10CC1;
+10C82;OLD HUNGARIAN CAPITAL LETTER EB;Lu;0;R;;;;;N;;;;10CC2;
+10C83;OLD HUNGARIAN CAPITAL LETTER AMB;Lu;0;R;;;;;N;;;;10CC3;
+10C84;OLD HUNGARIAN CAPITAL LETTER EC;Lu;0;R;;;;;N;;;;10CC4;
+10C85;OLD HUNGARIAN CAPITAL LETTER ENC;Lu;0;R;;;;;N;;;;10CC5;
+10C86;OLD HUNGARIAN CAPITAL LETTER ECS;Lu;0;R;;;;;N;;;;10CC6;
+10C87;OLD HUNGARIAN CAPITAL LETTER ED;Lu;0;R;;;;;N;;;;10CC7;
+10C88;OLD HUNGARIAN CAPITAL LETTER AND;Lu;0;R;;;;;N;;;;10CC8;
+10C89;OLD HUNGARIAN CAPITAL LETTER E;Lu;0;R;;;;;N;;;;10CC9;
+10C8A;OLD HUNGARIAN CAPITAL LETTER CLOSE E;Lu;0;R;;;;;N;;;;10CCA;
+10C8B;OLD HUNGARIAN CAPITAL LETTER EE;Lu;0;R;;;;;N;;;;10CCB;
+10C8C;OLD HUNGARIAN CAPITAL LETTER EF;Lu;0;R;;;;;N;;;;10CCC;
+10C8D;OLD HUNGARIAN CAPITAL LETTER EG;Lu;0;R;;;;;N;;;;10CCD;
+10C8E;OLD HUNGARIAN CAPITAL LETTER EGY;Lu;0;R;;;;;N;;;;10CCE;
+10C8F;OLD HUNGARIAN CAPITAL LETTER EH;Lu;0;R;;;;;N;;;;10CCF;
+10C90;OLD HUNGARIAN CAPITAL LETTER I;Lu;0;R;;;;;N;;;;10CD0;
+10C91;OLD HUNGARIAN CAPITAL LETTER II;Lu;0;R;;;;;N;;;;10CD1;
+10C92;OLD HUNGARIAN CAPITAL LETTER EJ;Lu;0;R;;;;;N;;;;10CD2;
+10C93;OLD HUNGARIAN CAPITAL LETTER EK;Lu;0;R;;;;;N;;;;10CD3;
+10C94;OLD HUNGARIAN CAPITAL LETTER AK;Lu;0;R;;;;;N;;;;10CD4;
+10C95;OLD HUNGARIAN CAPITAL LETTER UNK;Lu;0;R;;;;;N;;;;10CD5;
+10C96;OLD HUNGARIAN CAPITAL LETTER EL;Lu;0;R;;;;;N;;;;10CD6;
+10C97;OLD HUNGARIAN CAPITAL LETTER ELY;Lu;0;R;;;;;N;;;;10CD7;
+10C98;OLD HUNGARIAN CAPITAL LETTER EM;Lu;0;R;;;;;N;;;;10CD8;
+10C99;OLD HUNGARIAN CAPITAL LETTER EN;Lu;0;R;;;;;N;;;;10CD9;
+10C9A;OLD HUNGARIAN CAPITAL LETTER ENY;Lu;0;R;;;;;N;;;;10CDA;
+10C9B;OLD HUNGARIAN CAPITAL LETTER O;Lu;0;R;;;;;N;;;;10CDB;
+10C9C;OLD HUNGARIAN CAPITAL LETTER OO;Lu;0;R;;;;;N;;;;10CDC;
+10C9D;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE;Lu;0;R;;;;;N;;;;10CDD;
+10C9E;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE;Lu;0;R;;;;;N;;;;10CDE;
+10C9F;OLD HUNGARIAN CAPITAL LETTER OEE;Lu;0;R;;;;;N;;;;10CDF;
+10CA0;OLD HUNGARIAN CAPITAL LETTER EP;Lu;0;R;;;;;N;;;;10CE0;
+10CA1;OLD HUNGARIAN CAPITAL LETTER EMP;Lu;0;R;;;;;N;;;;10CE1;
+10CA2;OLD HUNGARIAN CAPITAL LETTER ER;Lu;0;R;;;;;N;;;;10CE2;
+10CA3;OLD HUNGARIAN CAPITAL LETTER SHORT ER;Lu;0;R;;;;;N;;;;10CE3;
+10CA4;OLD HUNGARIAN CAPITAL LETTER ES;Lu;0;R;;;;;N;;;;10CE4;
+10CA5;OLD HUNGARIAN CAPITAL LETTER ESZ;Lu;0;R;;;;;N;;;;10CE5;
+10CA6;OLD HUNGARIAN CAPITAL LETTER ET;Lu;0;R;;;;;N;;;;10CE6;
+10CA7;OLD HUNGARIAN CAPITAL LETTER ENT;Lu;0;R;;;;;N;;;;10CE7;
+10CA8;OLD HUNGARIAN CAPITAL LETTER ETY;Lu;0;R;;;;;N;;;;10CE8;
+10CA9;OLD HUNGARIAN CAPITAL LETTER ECH;Lu;0;R;;;;;N;;;;10CE9;
+10CAA;OLD HUNGARIAN CAPITAL LETTER U;Lu;0;R;;;;;N;;;;10CEA;
+10CAB;OLD HUNGARIAN CAPITAL LETTER UU;Lu;0;R;;;;;N;;;;10CEB;
+10CAC;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE;Lu;0;R;;;;;N;;;;10CEC;
+10CAD;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE;Lu;0;R;;;;;N;;;;10CED;
+10CAE;OLD HUNGARIAN CAPITAL LETTER EV;Lu;0;R;;;;;N;;;;10CEE;
+10CAF;OLD HUNGARIAN CAPITAL LETTER EZ;Lu;0;R;;;;;N;;;;10CEF;
+10CB0;OLD HUNGARIAN CAPITAL LETTER EZS;Lu;0;R;;;;;N;;;;10CF0;
+10CB1;OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN;Lu;0;R;;;;;N;;;;10CF1;
+10CB2;OLD HUNGARIAN CAPITAL LETTER US;Lu;0;R;;;;;N;;;;10CF2;
+10CC0;OLD HUNGARIAN SMALL LETTER A;Ll;0;R;;;;;N;;;10C80;;10C80
+10CC1;OLD HUNGARIAN SMALL LETTER AA;Ll;0;R;;;;;N;;;10C81;;10C81
+10CC2;OLD HUNGARIAN SMALL LETTER EB;Ll;0;R;;;;;N;;;10C82;;10C82
+10CC3;OLD HUNGARIAN SMALL LETTER AMB;Ll;0;R;;;;;N;;;10C83;;10C83
+10CC4;OLD HUNGARIAN SMALL LETTER EC;Ll;0;R;;;;;N;;;10C84;;10C84
+10CC5;OLD HUNGARIAN SMALL LETTER ENC;Ll;0;R;;;;;N;;;10C85;;10C85
+10CC6;OLD HUNGARIAN SMALL LETTER ECS;Ll;0;R;;;;;N;;;10C86;;10C86
+10CC7;OLD HUNGARIAN SMALL LETTER ED;Ll;0;R;;;;;N;;;10C87;;10C87
+10CC8;OLD HUNGARIAN SMALL LETTER AND;Ll;0;R;;;;;N;;;10C88;;10C88
+10CC9;OLD HUNGARIAN SMALL LETTER E;Ll;0;R;;;;;N;;;10C89;;10C89
+10CCA;OLD HUNGARIAN SMALL LETTER CLOSE E;Ll;0;R;;;;;N;;;10C8A;;10C8A
+10CCB;OLD HUNGARIAN SMALL LETTER EE;Ll;0;R;;;;;N;;;10C8B;;10C8B
+10CCC;OLD HUNGARIAN SMALL LETTER EF;Ll;0;R;;;;;N;;;10C8C;;10C8C
+10CCD;OLD HUNGARIAN SMALL LETTER EG;Ll;0;R;;;;;N;;;10C8D;;10C8D
+10CCE;OLD HUNGARIAN SMALL LETTER EGY;Ll;0;R;;;;;N;;;10C8E;;10C8E
+10CCF;OLD HUNGARIAN SMALL LETTER EH;Ll;0;R;;;;;N;;;10C8F;;10C8F
+10CD0;OLD HUNGARIAN SMALL LETTER I;Ll;0;R;;;;;N;;;10C90;;10C90
+10CD1;OLD HUNGARIAN SMALL LETTER II;Ll;0;R;;;;;N;;;10C91;;10C91
+10CD2;OLD HUNGARIAN SMALL LETTER EJ;Ll;0;R;;;;;N;;;10C92;;10C92
+10CD3;OLD HUNGARIAN SMALL LETTER EK;Ll;0;R;;;;;N;;;10C93;;10C93
+10CD4;OLD HUNGARIAN SMALL LETTER AK;Ll;0;R;;;;;N;;;10C94;;10C94
+10CD5;OLD HUNGARIAN SMALL LETTER UNK;Ll;0;R;;;;;N;;;10C95;;10C95
+10CD6;OLD HUNGARIAN SMALL LETTER EL;Ll;0;R;;;;;N;;;10C96;;10C96
+10CD7;OLD HUNGARIAN SMALL LETTER ELY;Ll;0;R;;;;;N;;;10C97;;10C97
+10CD8;OLD HUNGARIAN SMALL LETTER EM;Ll;0;R;;;;;N;;;10C98;;10C98
+10CD9;OLD HUNGARIAN SMALL LETTER EN;Ll;0;R;;;;;N;;;10C99;;10C99
+10CDA;OLD HUNGARIAN SMALL LETTER ENY;Ll;0;R;;;;;N;;;10C9A;;10C9A
+10CDB;OLD HUNGARIAN SMALL LETTER O;Ll;0;R;;;;;N;;;10C9B;;10C9B
+10CDC;OLD HUNGARIAN SMALL LETTER OO;Ll;0;R;;;;;N;;;10C9C;;10C9C
+10CDD;OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE;Ll;0;R;;;;;N;;;10C9D;;10C9D
+10CDE;OLD HUNGARIAN SMALL LETTER RUDIMENTA OE;Ll;0;R;;;;;N;;;10C9E;;10C9E
+10CDF;OLD HUNGARIAN SMALL LETTER OEE;Ll;0;R;;;;;N;;;10C9F;;10C9F
+10CE0;OLD HUNGARIAN SMALL LETTER EP;Ll;0;R;;;;;N;;;10CA0;;10CA0
+10CE1;OLD HUNGARIAN SMALL LETTER EMP;Ll;0;R;;;;;N;;;10CA1;;10CA1
+10CE2;OLD HUNGARIAN SMALL LETTER ER;Ll;0;R;;;;;N;;;10CA2;;10CA2
+10CE3;OLD HUNGARIAN SMALL LETTER SHORT ER;Ll;0;R;;;;;N;;;10CA3;;10CA3
+10CE4;OLD HUNGARIAN SMALL LETTER ES;Ll;0;R;;;;;N;;;10CA4;;10CA4
+10CE5;OLD HUNGARIAN SMALL LETTER ESZ;Ll;0;R;;;;;N;;;10CA5;;10CA5
+10CE6;OLD HUNGARIAN SMALL LETTER ET;Ll;0;R;;;;;N;;;10CA6;;10CA6
+10CE7;OLD HUNGARIAN SMALL LETTER ENT;Ll;0;R;;;;;N;;;10CA7;;10CA7
+10CE8;OLD HUNGARIAN SMALL LETTER ETY;Ll;0;R;;;;;N;;;10CA8;;10CA8
+10CE9;OLD HUNGARIAN SMALL LETTER ECH;Ll;0;R;;;;;N;;;10CA9;;10CA9
+10CEA;OLD HUNGARIAN SMALL LETTER U;Ll;0;R;;;;;N;;;10CAA;;10CAA
+10CEB;OLD HUNGARIAN SMALL LETTER UU;Ll;0;R;;;;;N;;;10CAB;;10CAB
+10CEC;OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE;Ll;0;R;;;;;N;;;10CAC;;10CAC
+10CED;OLD HUNGARIAN SMALL LETTER RUDIMENTA UE;Ll;0;R;;;;;N;;;10CAD;;10CAD
+10CEE;OLD HUNGARIAN SMALL LETTER EV;Ll;0;R;;;;;N;;;10CAE;;10CAE
+10CEF;OLD HUNGARIAN SMALL LETTER EZ;Ll;0;R;;;;;N;;;10CAF;;10CAF
+10CF0;OLD HUNGARIAN SMALL LETTER EZS;Ll;0;R;;;;;N;;;10CB0;;10CB0
+10CF1;OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN;Ll;0;R;;;;;N;;;10CB1;;10CB1
+10CF2;OLD HUNGARIAN SMALL LETTER US;Ll;0;R;;;;;N;;;10CB2;;10CB2
+10CFA;OLD HUNGARIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10CFB;OLD HUNGARIAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+10CFC;OLD HUNGARIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+10CFD;OLD HUNGARIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;;
+10CFE;OLD HUNGARIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10CFF;OLD HUNGARIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
 10E60;RUMI DIGIT ONE;No;0;AN;;;1;1;N;;;;;
 10E61;RUMI DIGIT TWO;No;0;AN;;;2;2;N;;;;;
 10E62;RUMI DIGIT THREE;No;0;AN;;;3;3;N;;;;;
@@ -18764,6 +19078,10 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 111C6;SHARADA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
 111C7;SHARADA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 111C8;SHARADA SEPARATOR;Po;0;L;;;;;N;;;;;
+111C9;SHARADA SANDHI MARK;Po;0;L;;;;;N;;;;;
+111CA;SHARADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+111CB;SHARADA VOWEL MODIFIER MARK;Mn;0;NSM;;;;;N;;;;;
+111CC;SHARADA EXTRA SHORT VOWEL MARK;Mn;0;NSM;;;;;N;;;;;
 111CD;SHARADA SUTRA MARK;Po;0;L;;;;;N;;;;;
 111D0;SHARADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 111D1;SHARADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
@@ -18776,6 +19094,11 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 111D8;SHARADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 111D9;SHARADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 111DA;SHARADA EKAM;Lo;0;L;;;;;N;;;;;
+111DB;SHARADA SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
+111DC;SHARADA HEADSTROKE;Lo;0;L;;;;;N;;;;;
+111DD;SHARADA CONTINUATION SIGN;Po;0;L;;;;;N;;;;;
+111DE;SHARADA SECTION MARK-1;Po;0;L;;;;;N;;;;;
+111DF;SHARADA SECTION MARK-2;Po;0;L;;;;;N;;;;;
 111E1;SINHALA ARCHAIC DIGIT ONE;No;0;L;;;;1;N;;;;;
 111E2;SINHALA ARCHAIC DIGIT TWO;No;0;L;;;;2;N;;;;;
 111E3;SINHALA ARCHAIC DIGIT THREE;No;0;L;;;;3;N;;;;;
@@ -18857,6 +19180,44 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1123B;KHOJKI SECTION MARK;Po;0;L;;;;;N;;;;;
 1123C;KHOJKI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;;
 1123D;KHOJKI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+11280;MULTANI LETTER A;Lo;0;L;;;;;N;;;;;
+11281;MULTANI LETTER I;Lo;0;L;;;;;N;;;;;
+11282;MULTANI LETTER U;Lo;0;L;;;;;N;;;;;
+11283;MULTANI LETTER E;Lo;0;L;;;;;N;;;;;
+11284;MULTANI LETTER KA;Lo;0;L;;;;;N;;;;;
+11285;MULTANI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11286;MULTANI LETTER GA;Lo;0;L;;;;;N;;;;;
+11288;MULTANI LETTER GHA;Lo;0;L;;;;;N;;;;;
+1128A;MULTANI LETTER CA;Lo;0;L;;;;;N;;;;;
+1128B;MULTANI LETTER CHA;Lo;0;L;;;;;N;;;;;
+1128C;MULTANI LETTER JA;Lo;0;L;;;;;N;;;;;
+1128D;MULTANI LETTER JJA;Lo;0;L;;;;;N;;;;;
+1128F;MULTANI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11290;MULTANI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11291;MULTANI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11292;MULTANI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11293;MULTANI LETTER DDDA;Lo;0;L;;;;;N;;;;;
+11294;MULTANI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11295;MULTANI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11296;MULTANI LETTER TA;Lo;0;L;;;;;N;;;;;
+11297;MULTANI LETTER THA;Lo;0;L;;;;;N;;;;;
+11298;MULTANI LETTER DA;Lo;0;L;;;;;N;;;;;
+11299;MULTANI LETTER DHA;Lo;0;L;;;;;N;;;;;
+1129A;MULTANI LETTER NA;Lo;0;L;;;;;N;;;;;
+1129B;MULTANI LETTER PA;Lo;0;L;;;;;N;;;;;
+1129C;MULTANI LETTER PHA;Lo;0;L;;;;;N;;;;;
+1129D;MULTANI LETTER BA;Lo;0;L;;;;;N;;;;;
+1129F;MULTANI LETTER BHA;Lo;0;L;;;;;N;;;;;
+112A0;MULTANI LETTER MA;Lo;0;L;;;;;N;;;;;
+112A1;MULTANI LETTER YA;Lo;0;L;;;;;N;;;;;
+112A2;MULTANI LETTER RA;Lo;0;L;;;;;N;;;;;
+112A3;MULTANI LETTER LA;Lo;0;L;;;;;N;;;;;
+112A4;MULTANI LETTER VA;Lo;0;L;;;;;N;;;;;
+112A5;MULTANI LETTER SA;Lo;0;L;;;;;N;;;;;
+112A6;MULTANI LETTER HA;Lo;0;L;;;;;N;;;;;
+112A7;MULTANI LETTER RRA;Lo;0;L;;;;;N;;;;;
+112A8;MULTANI LETTER RHA;Lo;0;L;;;;;N;;;;;
+112A9;MULTANI SECTION MARK;Po;0;L;;;;;N;;;;;
 112B0;KHUDAWADI LETTER A;Lo;0;L;;;;;N;;;;;
 112B1;KHUDAWADI LETTER AA;Lo;0;L;;;;;N;;;;;
 112B2;KHUDAWADI LETTER I;Lo;0;L;;;;;N;;;;;
@@ -18926,6 +19287,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 112F7;KHUDAWADI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 112F8;KHUDAWADI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 112F9;KHUDAWADI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11300;GRANTHA SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;;
 11301;GRANTHA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 11302;GRANTHA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 11303;GRANTHA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -18989,6 +19351,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1134B;GRANTHA VOWEL SIGN OO;Mc;0;L;11347 1133E;;;;N;;;;;
 1134C;GRANTHA VOWEL SIGN AU;Mc;0;L;11347 11357;;;;N;;;;;
 1134D;GRANTHA SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
+11350;GRANTHA OM;Lo;0;L;;;;;N;;;;;
 11357;GRANTHA AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
 1135D;GRANTHA SIGN PLUTA;Lo;0;L;;;;;N;;;;;
 1135E;GRANTHA LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;;
@@ -19163,6 +19526,26 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 115C7;SIDDHAM REPETITION MARK-2;Po;0;L;;;;;N;;;;;
 115C8;SIDDHAM REPETITION MARK-3;Po;0;L;;;;;N;;;;;
 115C9;SIDDHAM END OF TEXT MARK;Po;0;L;;;;;N;;;;;
+115CA;SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS;Po;0;L;;;;;N;;;;;
+115CB;SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;;
+115CC;SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;;
+115CD;SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115CE;SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115CF;SIDDHAM SECTION MARK DOUBLE RING;Po;0;L;;;;;N;;;;;
+115D0;SIDDHAM SECTION MARK DOUBLE RING WITH RAYS;Po;0;L;;;;;N;;;;;
+115D1;SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D2;SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D3;SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D4;SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D5;SIDDHAM SECTION MARK WITH CIRCLES AND RAYS;Po;0;L;;;;;N;;;;;
+115D6;SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES;Po;0;L;;;;;N;;;;;
+115D7;SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES;Po;0;L;;;;;N;;;;;
+115D8;SIDDHAM LETTER THREE-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;;
+115D9;SIDDHAM LETTER TWO-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;;
+115DA;SIDDHAM LETTER TWO-CIRCLE ALTERNATE II;Lo;0;L;;;;;N;;;;;
+115DB;SIDDHAM LETTER ALTERNATE U;Lo;0;L;;;;;N;;;;;
+115DC;SIDDHAM VOWEL SIGN ALTERNATE U;Mn;0;NSM;;;;;N;;;;;
+115DD;SIDDHAM VOWEL SIGN ALTERNATE UU;Mn;0;NSM;;;;;N;;;;;
 11600;MODI LETTER A;Lo;0;L;;;;;N;;;;;
 11601;MODI LETTER AA;Lo;0;L;;;;;N;;;;;
 11602;MODI LETTER I;Lo;0;L;;;;;N;;;;;
@@ -19308,6 +19691,63 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 116C7;TAKRI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 116C8;TAKRI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 116C9;TAKRI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11700;AHOM LETTER KA;Lo;0;L;;;;;N;;;;;
+11701;AHOM LETTER KHA;Lo;0;L;;;;;N;;;;;
+11702;AHOM LETTER NGA;Lo;0;L;;;;;N;;;;;
+11703;AHOM LETTER NA;Lo;0;L;;;;;N;;;;;
+11704;AHOM LETTER TA;Lo;0;L;;;;;N;;;;;
+11705;AHOM LETTER ALTERNATE TA;Lo;0;L;;;;;N;;;;;
+11706;AHOM LETTER PA;Lo;0;L;;;;;N;;;;;
+11707;AHOM LETTER PHA;Lo;0;L;;;;;N;;;;;
+11708;AHOM LETTER BA;Lo;0;L;;;;;N;;;;;
+11709;AHOM LETTER MA;Lo;0;L;;;;;N;;;;;
+1170A;AHOM LETTER JA;Lo;0;L;;;;;N;;;;;
+1170B;AHOM LETTER CHA;Lo;0;L;;;;;N;;;;;
+1170C;AHOM LETTER THA;Lo;0;L;;;;;N;;;;;
+1170D;AHOM LETTER RA;Lo;0;L;;;;;N;;;;;
+1170E;AHOM LETTER LA;Lo;0;L;;;;;N;;;;;
+1170F;AHOM LETTER SA;Lo;0;L;;;;;N;;;;;
+11710;AHOM LETTER NYA;Lo;0;L;;;;;N;;;;;
+11711;AHOM LETTER HA;Lo;0;L;;;;;N;;;;;
+11712;AHOM LETTER A;Lo;0;L;;;;;N;;;;;
+11713;AHOM LETTER DA;Lo;0;L;;;;;N;;;;;
+11714;AHOM LETTER DHA;Lo;0;L;;;;;N;;;;;
+11715;AHOM LETTER GA;Lo;0;L;;;;;N;;;;;
+11716;AHOM LETTER ALTERNATE GA;Lo;0;L;;;;;N;;;;;
+11717;AHOM LETTER GHA;Lo;0;L;;;;;N;;;;;
+11718;AHOM LETTER BHA;Lo;0;L;;;;;N;;;;;
+11719;AHOM LETTER JHA;Lo;0;L;;;;;N;;;;;
+1171D;AHOM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;;
+1171E;AHOM CONSONANT SIGN MEDIAL RA;Mn;0;NSM;;;;;N;;;;;
+1171F;AHOM CONSONANT SIGN MEDIAL LIGATING RA;Mn;0;NSM;;;;;N;;;;;
+11720;AHOM VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
+11721;AHOM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+11722;AHOM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+11723;AHOM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+11724;AHOM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11725;AHOM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+11726;AHOM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+11727;AHOM VOWEL SIGN AW;Mn;0;NSM;;;;;N;;;;;
+11728;AHOM VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+11729;AHOM VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+1172A;AHOM VOWEL SIGN AM;Mn;0;NSM;;;;;N;;;;;
+1172B;AHOM SIGN KILLER;Mn;9;NSM;;;;;N;;;;;
+11730;AHOM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11731;AHOM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11732;AHOM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11733;AHOM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+11734;AHOM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+11735;AHOM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+11736;AHOM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+11737;AHOM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+11738;AHOM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+11739;AHOM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1173A;AHOM NUMBER TEN;No;0;L;;;;10;N;;;;;
+1173B;AHOM NUMBER TWENTY;No;0;L;;;;20;N;;;;;
+1173C;AHOM SIGN SMALL SECTION;Po;0;L;;;;;N;;;;;
+1173D;AHOM SIGN SECTION;Po;0;L;;;;;N;;;;;
+1173E;AHOM SIGN RULAI;Po;0;L;;;;;N;;;;;
+1173F;AHOM SYMBOL VI;So;0;L;;;;;N;;;;;
 118A0;WARANG CITI CAPITAL LETTER NGAA;Lu;0;L;;;;;N;;;;118C0;
 118A1;WARANG CITI CAPITAL LETTER A;Lu;0;L;;;;;N;;;;118C1;
 118A2;WARANG CITI CAPITAL LETTER WI;Lu;0;L;;;;;N;;;;118C2;
@@ -20370,6 +20810,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 12396;CUNEIFORM SIGN SAG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
 12397;CUNEIFORM SIGN TI2;Lo;0;L;;;;;N;;;;;
 12398;CUNEIFORM SIGN UM TIMES ME;Lo;0;L;;;;;N;;;;;
+12399;CUNEIFORM SIGN U U;Lo;0;L;;;;;N;;;;;
 12400;CUNEIFORM NUMERIC SIGN TWO ASH;Nl;0;L;;;;2;N;;;;;
 12401;CUNEIFORM NUMERIC SIGN THREE ASH;Nl;0;L;;;;3;N;;;;;
 12402;CUNEIFORM NUMERIC SIGN FOUR ASH;Nl;0;L;;;;4;N;;;;;
@@ -20486,6 +20927,202 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 12472;CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON;Po;0;L;;;;;N;;;;;
 12473;CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON;Po;0;L;;;;;N;;;;;
 12474;CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON;Po;0;L;;;;;N;;;;;
+12480;CUNEIFORM SIGN AB TIMES NUN TENU;Lo;0;L;;;;;N;;;;;
+12481;CUNEIFORM SIGN AB TIMES SHU2;Lo;0;L;;;;;N;;;;;
+12482;CUNEIFORM SIGN AD TIMES ESH2;Lo;0;L;;;;;N;;;;;
+12483;CUNEIFORM SIGN BAD TIMES DISH TENU;Lo;0;L;;;;;N;;;;;
+12484;CUNEIFORM SIGN BAHAR2 TIMES AB2;Lo;0;L;;;;;N;;;;;
+12485;CUNEIFORM SIGN BAHAR2 TIMES NI;Lo;0;L;;;;;N;;;;;
+12486;CUNEIFORM SIGN BAHAR2 TIMES ZA;Lo;0;L;;;;;N;;;;;
+12487;CUNEIFORM SIGN BU OVER BU TIMES NA2;Lo;0;L;;;;;N;;;;;
+12488;CUNEIFORM SIGN DA TIMES TAK4;Lo;0;L;;;;;N;;;;;
+12489;CUNEIFORM SIGN DAG TIMES KUR;Lo;0;L;;;;;N;;;;;
+1248A;CUNEIFORM SIGN DIM TIMES IGI;Lo;0;L;;;;;N;;;;;
+1248B;CUNEIFORM SIGN DIM TIMES U U U;Lo;0;L;;;;;N;;;;;
+1248C;CUNEIFORM SIGN DIM2 TIMES UD;Lo;0;L;;;;;N;;;;;
+1248D;CUNEIFORM SIGN DUG TIMES ANSHE;Lo;0;L;;;;;N;;;;;
+1248E;CUNEIFORM SIGN DUG TIMES ASH;Lo;0;L;;;;;N;;;;;
+1248F;CUNEIFORM SIGN DUG TIMES ASH AT LEFT;Lo;0;L;;;;;N;;;;;
+12490;CUNEIFORM SIGN DUG TIMES DIN;Lo;0;L;;;;;N;;;;;
+12491;CUNEIFORM SIGN DUG TIMES DUN;Lo;0;L;;;;;N;;;;;
+12492;CUNEIFORM SIGN DUG TIMES ERIN2;Lo;0;L;;;;;N;;;;;
+12493;CUNEIFORM SIGN DUG TIMES GA;Lo;0;L;;;;;N;;;;;
+12494;CUNEIFORM SIGN DUG TIMES GI;Lo;0;L;;;;;N;;;;;
+12495;CUNEIFORM SIGN DUG TIMES GIR2 GUNU;Lo;0;L;;;;;N;;;;;
+12496;CUNEIFORM SIGN DUG TIMES GISH;Lo;0;L;;;;;N;;;;;
+12497;CUNEIFORM SIGN DUG TIMES HA;Lo;0;L;;;;;N;;;;;
+12498;CUNEIFORM SIGN DUG TIMES HI;Lo;0;L;;;;;N;;;;;
+12499;CUNEIFORM SIGN DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+1249A;CUNEIFORM SIGN DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;;
+1249B;CUNEIFORM SIGN DUG TIMES KUR;Lo;0;L;;;;;N;;;;;
+1249C;CUNEIFORM SIGN DUG TIMES KUSHU2;Lo;0;L;;;;;N;;;;;
+1249D;CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;;
+1249E;CUNEIFORM SIGN DUG TIMES LAK-020;Lo;0;L;;;;;N;;;;;
+1249F;CUNEIFORM SIGN DUG TIMES LAM;Lo;0;L;;;;;N;;;;;
+124A0;CUNEIFORM SIGN DUG TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;;
+124A1;CUNEIFORM SIGN DUG TIMES LUH PLUS GISH;Lo;0;L;;;;;N;;;;;
+124A2;CUNEIFORM SIGN DUG TIMES MASH;Lo;0;L;;;;;N;;;;;
+124A3;CUNEIFORM SIGN DUG TIMES MES;Lo;0;L;;;;;N;;;;;
+124A4;CUNEIFORM SIGN DUG TIMES MI;Lo;0;L;;;;;N;;;;;
+124A5;CUNEIFORM SIGN DUG TIMES NI;Lo;0;L;;;;;N;;;;;
+124A6;CUNEIFORM SIGN DUG TIMES PI;Lo;0;L;;;;;N;;;;;
+124A7;CUNEIFORM SIGN DUG TIMES SHE;Lo;0;L;;;;;N;;;;;
+124A8;CUNEIFORM SIGN DUG TIMES SI GUNU;Lo;0;L;;;;;N;;;;;
+124A9;CUNEIFORM SIGN E2 TIMES KUR;Lo;0;L;;;;;N;;;;;
+124AA;CUNEIFORM SIGN E2 TIMES PAP;Lo;0;L;;;;;N;;;;;
+124AB;CUNEIFORM SIGN ERIN2 X;Lo;0;L;;;;;N;;;;;
+124AC;CUNEIFORM SIGN ESH2 CROSSING ESH2;Lo;0;L;;;;;N;;;;;
+124AD;CUNEIFORM SIGN EZEN SHESHIG TIMES ASH;Lo;0;L;;;;;N;;;;;
+124AE;CUNEIFORM SIGN EZEN SHESHIG TIMES HI;Lo;0;L;;;;;N;;;;;
+124AF;CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+124B0;CUNEIFORM SIGN EZEN SHESHIG TIMES LA;Lo;0;L;;;;;N;;;;;
+124B1;CUNEIFORM SIGN EZEN SHESHIG TIMES LAL;Lo;0;L;;;;;N;;;;;
+124B2;CUNEIFORM SIGN EZEN SHESHIG TIMES ME;Lo;0;L;;;;;N;;;;;
+124B3;CUNEIFORM SIGN EZEN SHESHIG TIMES MES;Lo;0;L;;;;;N;;;;;
+124B4;CUNEIFORM SIGN EZEN SHESHIG TIMES SU;Lo;0;L;;;;;N;;;;;
+124B5;CUNEIFORM SIGN EZEN TIMES SU;Lo;0;L;;;;;N;;;;;
+124B6;CUNEIFORM SIGN GA2 TIMES BAHAR2;Lo;0;L;;;;;N;;;;;
+124B7;CUNEIFORM SIGN GA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;;
+124B8;CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+124B9;CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;;
+124BA;CUNEIFORM SIGN GA2 TIMES EREN;Lo;0;L;;;;;N;;;;;
+124BB;CUNEIFORM SIGN GA2 TIMES GA;Lo;0;L;;;;;N;;;;;
+124BC;CUNEIFORM SIGN GA2 TIMES GAR PLUS DI;Lo;0;L;;;;;N;;;;;
+124BD;CUNEIFORM SIGN GA2 TIMES GAR PLUS NE;Lo;0;L;;;;;N;;;;;
+124BE;CUNEIFORM SIGN GA2 TIMES HA PLUS A;Lo;0;L;;;;;N;;;;;
+124BF;CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;;
+124C0;CUNEIFORM SIGN GA2 TIMES LAM;Lo;0;L;;;;;N;;;;;
+124C1;CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;;
+124C2;CUNEIFORM SIGN GA2 TIMES LUH;Lo;0;L;;;;;N;;;;;
+124C3;CUNEIFORM SIGN GA2 TIMES MUSH;Lo;0;L;;;;;N;;;;;
+124C4;CUNEIFORM SIGN GA2 TIMES NE;Lo;0;L;;;;;N;;;;;
+124C5;CUNEIFORM SIGN GA2 TIMES NE PLUS E2;Lo;0;L;;;;;N;;;;;
+124C6;CUNEIFORM SIGN GA2 TIMES NE PLUS GI;Lo;0;L;;;;;N;;;;;
+124C7;CUNEIFORM SIGN GA2 TIMES SHIM;Lo;0;L;;;;;N;;;;;
+124C8;CUNEIFORM SIGN GA2 TIMES ZIZ2;Lo;0;L;;;;;N;;;;;
+124C9;CUNEIFORM SIGN GABA ROTATED NINETY DEGREES;Lo;0;L;;;;;N;;;;;
+124CA;CUNEIFORM SIGN GESHTIN TIMES U;Lo;0;L;;;;;N;;;;;
+124CB;CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH;Lo;0;L;;;;;N;;;;;
+124CC;CUNEIFORM SIGN GU2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+124CD;CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4;Lo;0;L;;;;;N;;;;;
+124CE;CUNEIFORM SIGN HA TENU GUNU;Lo;0;L;;;;;N;;;;;
+124CF;CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH;Lo;0;L;;;;;N;;;;;
+124D0;CUNEIFORM SIGN KA TIMES BU;Lo;0;L;;;;;N;;;;;
+124D1;CUNEIFORM SIGN KA TIMES KA;Lo;0;L;;;;;N;;;;;
+124D2;CUNEIFORM SIGN KA TIMES U U U;Lo;0;L;;;;;N;;;;;
+124D3;CUNEIFORM SIGN KA TIMES UR;Lo;0;L;;;;;N;;;;;
+124D4;CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU;Lo;0;L;;;;;N;;;;;
+124D5;CUNEIFORM SIGN LAK-003;Lo;0;L;;;;;N;;;;;
+124D6;CUNEIFORM SIGN LAK-021;Lo;0;L;;;;;N;;;;;
+124D7;CUNEIFORM SIGN LAK-025;Lo;0;L;;;;;N;;;;;
+124D8;CUNEIFORM SIGN LAK-030;Lo;0;L;;;;;N;;;;;
+124D9;CUNEIFORM SIGN LAK-050;Lo;0;L;;;;;N;;;;;
+124DA;CUNEIFORM SIGN LAK-051;Lo;0;L;;;;;N;;;;;
+124DB;CUNEIFORM SIGN LAK-062;Lo;0;L;;;;;N;;;;;
+124DC;CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU;Lo;0;L;;;;;N;;;;;
+124DD;CUNEIFORM SIGN LAK-080;Lo;0;L;;;;;N;;;;;
+124DE;CUNEIFORM SIGN LAK-081 OVER LAK-081;Lo;0;L;;;;;N;;;;;
+124DF;CUNEIFORM SIGN LAK-092;Lo;0;L;;;;;N;;;;;
+124E0;CUNEIFORM SIGN LAK-130;Lo;0;L;;;;;N;;;;;
+124E1;CUNEIFORM SIGN LAK-142;Lo;0;L;;;;;N;;;;;
+124E2;CUNEIFORM SIGN LAK-210;Lo;0;L;;;;;N;;;;;
+124E3;CUNEIFORM SIGN LAK-219;Lo;0;L;;;;;N;;;;;
+124E4;CUNEIFORM SIGN LAK-220;Lo;0;L;;;;;N;;;;;
+124E5;CUNEIFORM SIGN LAK-225;Lo;0;L;;;;;N;;;;;
+124E6;CUNEIFORM SIGN LAK-228;Lo;0;L;;;;;N;;;;;
+124E7;CUNEIFORM SIGN LAK-238;Lo;0;L;;;;;N;;;;;
+124E8;CUNEIFORM SIGN LAK-265;Lo;0;L;;;;;N;;;;;
+124E9;CUNEIFORM SIGN LAK-266;Lo;0;L;;;;;N;;;;;
+124EA;CUNEIFORM SIGN LAK-343;Lo;0;L;;;;;N;;;;;
+124EB;CUNEIFORM SIGN LAK-347;Lo;0;L;;;;;N;;;;;
+124EC;CUNEIFORM SIGN LAK-348;Lo;0;L;;;;;N;;;;;
+124ED;CUNEIFORM SIGN LAK-383;Lo;0;L;;;;;N;;;;;
+124EE;CUNEIFORM SIGN LAK-384;Lo;0;L;;;;;N;;;;;
+124EF;CUNEIFORM SIGN LAK-390;Lo;0;L;;;;;N;;;;;
+124F0;CUNEIFORM SIGN LAK-441;Lo;0;L;;;;;N;;;;;
+124F1;CUNEIFORM SIGN LAK-449;Lo;0;L;;;;;N;;;;;
+124F2;CUNEIFORM SIGN LAK-449 TIMES GU;Lo;0;L;;;;;N;;;;;
+124F3;CUNEIFORM SIGN LAK-449 TIMES IGI;Lo;0;L;;;;;N;;;;;
+124F4;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3;Lo;0;L;;;;;N;;;;;
+124F5;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;;
+124F6;CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA;Lo;0;L;;;;;N;;;;;
+124F7;CUNEIFORM SIGN LAK-450;Lo;0;L;;;;;N;;;;;
+124F8;CUNEIFORM SIGN LAK-457;Lo;0;L;;;;;N;;;;;
+124F9;CUNEIFORM SIGN LAK-470;Lo;0;L;;;;;N;;;;;
+124FA;CUNEIFORM SIGN LAK-483;Lo;0;L;;;;;N;;;;;
+124FB;CUNEIFORM SIGN LAK-490;Lo;0;L;;;;;N;;;;;
+124FC;CUNEIFORM SIGN LAK-492;Lo;0;L;;;;;N;;;;;
+124FD;CUNEIFORM SIGN LAK-493;Lo;0;L;;;;;N;;;;;
+124FE;CUNEIFORM SIGN LAK-495;Lo;0;L;;;;;N;;;;;
+124FF;CUNEIFORM SIGN LAK-550;Lo;0;L;;;;;N;;;;;
+12500;CUNEIFORM SIGN LAK-608;Lo;0;L;;;;;N;;;;;
+12501;CUNEIFORM SIGN LAK-617;Lo;0;L;;;;;N;;;;;
+12502;CUNEIFORM SIGN LAK-617 TIMES ASH;Lo;0;L;;;;;N;;;;;
+12503;CUNEIFORM SIGN LAK-617 TIMES BAD;Lo;0;L;;;;;N;;;;;
+12504;CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;;
+12505;CUNEIFORM SIGN LAK-617 TIMES KU3;Lo;0;L;;;;;N;;;;;
+12506;CUNEIFORM SIGN LAK-617 TIMES LA;Lo;0;L;;;;;N;;;;;
+12507;CUNEIFORM SIGN LAK-617 TIMES TAR;Lo;0;L;;;;;N;;;;;
+12508;CUNEIFORM SIGN LAK-617 TIMES TE;Lo;0;L;;;;;N;;;;;
+12509;CUNEIFORM SIGN LAK-617 TIMES U2;Lo;0;L;;;;;N;;;;;
+1250A;CUNEIFORM SIGN LAK-617 TIMES UD;Lo;0;L;;;;;N;;;;;
+1250B;CUNEIFORM SIGN LAK-617 TIMES URUDA;Lo;0;L;;;;;N;;;;;
+1250C;CUNEIFORM SIGN LAK-636;Lo;0;L;;;;;N;;;;;
+1250D;CUNEIFORM SIGN LAK-648;Lo;0;L;;;;;N;;;;;
+1250E;CUNEIFORM SIGN LAK-648 TIMES DUB;Lo;0;L;;;;;N;;;;;
+1250F;CUNEIFORM SIGN LAK-648 TIMES GA;Lo;0;L;;;;;N;;;;;
+12510;CUNEIFORM SIGN LAK-648 TIMES IGI;Lo;0;L;;;;;N;;;;;
+12511;CUNEIFORM SIGN LAK-648 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+12512;CUNEIFORM SIGN LAK-648 TIMES NI;Lo;0;L;;;;;N;;;;;
+12513;CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;;
+12514;CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI;Lo;0;L;;;;;N;;;;;
+12515;CUNEIFORM SIGN LAK-648 TIMES UD;Lo;0;L;;;;;N;;;;;
+12516;CUNEIFORM SIGN LAK-648 TIMES URUDA;Lo;0;L;;;;;N;;;;;
+12517;CUNEIFORM SIGN LAK-724;Lo;0;L;;;;;N;;;;;
+12518;CUNEIFORM SIGN LAK-749;Lo;0;L;;;;;N;;;;;
+12519;CUNEIFORM SIGN LU2 GUNU TIMES ASH;Lo;0;L;;;;;N;;;;;
+1251A;CUNEIFORM SIGN LU2 TIMES DISH;Lo;0;L;;;;;N;;;;;
+1251B;CUNEIFORM SIGN LU2 TIMES HAL;Lo;0;L;;;;;N;;;;;
+1251C;CUNEIFORM SIGN LU2 TIMES PAP;Lo;0;L;;;;;N;;;;;
+1251D;CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;;
+1251E;CUNEIFORM SIGN LU2 TIMES TAK4;Lo;0;L;;;;;N;;;;;
+1251F;CUNEIFORM SIGN MI PLUS ZA7;Lo;0;L;;;;;N;;;;;
+12520;CUNEIFORM SIGN MUSH OVER MUSH TIMES GA;Lo;0;L;;;;;N;;;;;
+12521;CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK;Lo;0;L;;;;;N;;;;;
+12522;CUNEIFORM SIGN NINDA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;;
+12523;CUNEIFORM SIGN NINDA2 TIMES GISH;Lo;0;L;;;;;N;;;;;
+12524;CUNEIFORM SIGN NINDA2 TIMES GUL;Lo;0;L;;;;;N;;;;;
+12525;CUNEIFORM SIGN NINDA2 TIMES HI;Lo;0;L;;;;;N;;;;;
+12526;CUNEIFORM SIGN NINDA2 TIMES KESH2;Lo;0;L;;;;;N;;;;;
+12527;CUNEIFORM SIGN NINDA2 TIMES LAK-050;Lo;0;L;;;;;N;;;;;
+12528;CUNEIFORM SIGN NINDA2 TIMES MASH;Lo;0;L;;;;;N;;;;;
+12529;CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP;Lo;0;L;;;;;N;;;;;
+1252A;CUNEIFORM SIGN NINDA2 TIMES U;Lo;0;L;;;;;N;;;;;
+1252B;CUNEIFORM SIGN NINDA2 TIMES U PLUS U;Lo;0;L;;;;;N;;;;;
+1252C;CUNEIFORM SIGN NINDA2 TIMES URUDA;Lo;0;L;;;;;N;;;;;
+1252D;CUNEIFORM SIGN SAG GUNU TIMES HA;Lo;0;L;;;;;N;;;;;
+1252E;CUNEIFORM SIGN SAG TIMES EN;Lo;0;L;;;;;N;;;;;
+1252F;CUNEIFORM SIGN SAG TIMES SHE AT LEFT;Lo;0;L;;;;;N;;;;;
+12530;CUNEIFORM SIGN SAG TIMES TAK4;Lo;0;L;;;;;N;;;;;
+12531;CUNEIFORM SIGN SHA6 TENU;Lo;0;L;;;;;N;;;;;
+12532;CUNEIFORM SIGN SHE OVER SHE;Lo;0;L;;;;;N;;;;;
+12533;CUNEIFORM SIGN SHE PLUS HUB2;Lo;0;L;;;;;N;;;;;
+12534;CUNEIFORM SIGN SHE PLUS NAM2;Lo;0;L;;;;;N;;;;;
+12535;CUNEIFORM SIGN SHE PLUS SAR;Lo;0;L;;;;;N;;;;;
+12536;CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI;Lo;0;L;;;;;N;;;;;
+12537;CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN;Lo;0;L;;;;;N;;;;;
+12538;CUNEIFORM SIGN SI TIMES TAK4;Lo;0;L;;;;;N;;;;;
+12539;CUNEIFORM SIGN TAK4 PLUS SAG;Lo;0;L;;;;;N;;;;;
+1253A;CUNEIFORM SIGN TUM TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
+1253B;CUNEIFORM SIGN TUM TIMES THREE DISH;Lo;0;L;;;;;N;;;;;
+1253C;CUNEIFORM SIGN UR2 INVERTED;Lo;0;L;;;;;N;;;;;
+1253D;CUNEIFORM SIGN UR2 TIMES UD;Lo;0;L;;;;;N;;;;;
+1253E;CUNEIFORM SIGN URU TIMES DARA3;Lo;0;L;;;;;N;;;;;
+1253F;CUNEIFORM SIGN URU TIMES LAK-668;Lo;0;L;;;;;N;;;;;
+12540;CUNEIFORM SIGN URU TIMES LU3;Lo;0;L;;;;;N;;;;;
+12541;CUNEIFORM SIGN ZA7;Lo;0;L;;;;;N;;;;;
+12542;CUNEIFORM SIGN ZU OVER ZU PLUS SAR;Lo;0;L;;;;;N;;;;;
+12543;CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU;Lo;0;L;;;;;N;;;;;
 13000;EGYPTIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;;
 13001;EGYPTIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;;
 13002;EGYPTIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;;
@@ -21557,6 +22194,589 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1342C;EGYPTIAN HIEROGLYPH AA030;Lo;0;L;;;;;N;;;;;
 1342D;EGYPTIAN HIEROGLYPH AA031;Lo;0;L;;;;;N;;;;;
 1342E;EGYPTIAN HIEROGLYPH AA032;Lo;0;L;;;;;N;;;;;
+14400;ANATOLIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;;
+14401;ANATOLIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;;
+14402;ANATOLIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;;
+14403;ANATOLIAN HIEROGLYPH A004;Lo;0;L;;;;;N;;;;;
+14404;ANATOLIAN HIEROGLYPH A005;Lo;0;L;;;;;N;;;;;
+14405;ANATOLIAN HIEROGLYPH A006;Lo;0;L;;;;;N;;;;;
+14406;ANATOLIAN HIEROGLYPH A007;Lo;0;L;;;;;N;;;;;
+14407;ANATOLIAN HIEROGLYPH A008;Lo;0;L;;;;;N;;;;;
+14408;ANATOLIAN HIEROGLYPH A009;Lo;0;L;;;;;N;;;;;
+14409;ANATOLIAN HIEROGLYPH A010;Lo;0;L;;;;;N;;;;;
+1440A;ANATOLIAN HIEROGLYPH A010A;Lo;0;L;;;;;N;;;;;
+1440B;ANATOLIAN HIEROGLYPH A011;Lo;0;L;;;;;N;;;;;
+1440C;ANATOLIAN HIEROGLYPH A012;Lo;0;L;;;;;N;;;;;
+1440D;ANATOLIAN HIEROGLYPH A013;Lo;0;L;;;;;N;;;;;
+1440E;ANATOLIAN HIEROGLYPH A014;Lo;0;L;;;;;N;;;;;
+1440F;ANATOLIAN HIEROGLYPH A015;Lo;0;L;;;;;N;;;;;
+14410;ANATOLIAN HIEROGLYPH A016;Lo;0;L;;;;;N;;;;;
+14411;ANATOLIAN HIEROGLYPH A017;Lo;0;L;;;;;N;;;;;
+14412;ANATOLIAN HIEROGLYPH A018;Lo;0;L;;;;;N;;;;;
+14413;ANATOLIAN HIEROGLYPH A019;Lo;0;L;;;;;N;;;;;
+14414;ANATOLIAN HIEROGLYPH A020;Lo;0;L;;;;;N;;;;;
+14415;ANATOLIAN HIEROGLYPH A021;Lo;0;L;;;;;N;;;;;
+14416;ANATOLIAN HIEROGLYPH A022;Lo;0;L;;;;;N;;;;;
+14417;ANATOLIAN HIEROGLYPH A023;Lo;0;L;;;;;N;;;;;
+14418;ANATOLIAN HIEROGLYPH A024;Lo;0;L;;;;;N;;;;;
+14419;ANATOLIAN HIEROGLYPH A025;Lo;0;L;;;;;N;;;;;
+1441A;ANATOLIAN HIEROGLYPH A026;Lo;0;L;;;;;N;;;;;
+1441B;ANATOLIAN HIEROGLYPH A026A;Lo;0;L;;;;;N;;;;;
+1441C;ANATOLIAN HIEROGLYPH A027;Lo;0;L;;;;;N;;;;;
+1441D;ANATOLIAN HIEROGLYPH A028;Lo;0;L;;;;;N;;;;;
+1441E;ANATOLIAN HIEROGLYPH A029;Lo;0;L;;;;;N;;;;;
+1441F;ANATOLIAN HIEROGLYPH A030;Lo;0;L;;;;;N;;;;;
+14420;ANATOLIAN HIEROGLYPH A031;Lo;0;L;;;;;N;;;;;
+14421;ANATOLIAN HIEROGLYPH A032;Lo;0;L;;;;;N;;;;;
+14422;ANATOLIAN HIEROGLYPH A033;Lo;0;L;;;;;N;;;;;
+14423;ANATOLIAN HIEROGLYPH A034;Lo;0;L;;;;;N;;;;;
+14424;ANATOLIAN HIEROGLYPH A035;Lo;0;L;;;;;N;;;;;
+14425;ANATOLIAN HIEROGLYPH A036;Lo;0;L;;;;;N;;;;;
+14426;ANATOLIAN HIEROGLYPH A037;Lo;0;L;;;;;N;;;;;
+14427;ANATOLIAN HIEROGLYPH A038;Lo;0;L;;;;;N;;;;;
+14428;ANATOLIAN HIEROGLYPH A039;Lo;0;L;;;;;N;;;;;
+14429;ANATOLIAN HIEROGLYPH A039A;Lo;0;L;;;;;N;;;;;
+1442A;ANATOLIAN HIEROGLYPH A040;Lo;0;L;;;;;N;;;;;
+1442B;ANATOLIAN HIEROGLYPH A041;Lo;0;L;;;;;N;;;;;
+1442C;ANATOLIAN HIEROGLYPH A041A;Lo;0;L;;;;;N;;;;;
+1442D;ANATOLIAN HIEROGLYPH A042;Lo;0;L;;;;;N;;;;;
+1442E;ANATOLIAN HIEROGLYPH A043;Lo;0;L;;;;;N;;;;;
+1442F;ANATOLIAN HIEROGLYPH A044;Lo;0;L;;;;;N;;;;;
+14430;ANATOLIAN HIEROGLYPH A045;Lo;0;L;;;;;N;;;;;
+14431;ANATOLIAN HIEROGLYPH A045A;Lo;0;L;;;;;N;;;;;
+14432;ANATOLIAN HIEROGLYPH A046;Lo;0;L;;;;;N;;;;;
+14433;ANATOLIAN HIEROGLYPH A046A;Lo;0;L;;;;;N;;;;;
+14434;ANATOLIAN HIEROGLYPH A046B;Lo;0;L;;;;;N;;;;;
+14435;ANATOLIAN HIEROGLYPH A047;Lo;0;L;;;;;N;;;;;
+14436;ANATOLIAN HIEROGLYPH A048;Lo;0;L;;;;;N;;;;;
+14437;ANATOLIAN HIEROGLYPH A049;Lo;0;L;;;;;N;;;;;
+14438;ANATOLIAN HIEROGLYPH A050;Lo;0;L;;;;;N;;;;;
+14439;ANATOLIAN HIEROGLYPH A051;Lo;0;L;;;;;N;;;;;
+1443A;ANATOLIAN HIEROGLYPH A052;Lo;0;L;;;;;N;;;;;
+1443B;ANATOLIAN HIEROGLYPH A053;Lo;0;L;;;;;N;;;;;
+1443C;ANATOLIAN HIEROGLYPH A054;Lo;0;L;;;;;N;;;;;
+1443D;ANATOLIAN HIEROGLYPH A055;Lo;0;L;;;;;N;;;;;
+1443E;ANATOLIAN HIEROGLYPH A056;Lo;0;L;;;;;N;;;;;
+1443F;ANATOLIAN HIEROGLYPH A057;Lo;0;L;;;;;N;;;;;
+14440;ANATOLIAN HIEROGLYPH A058;Lo;0;L;;;;;N;;;;;
+14441;ANATOLIAN HIEROGLYPH A059;Lo;0;L;;;;;N;;;;;
+14442;ANATOLIAN HIEROGLYPH A060;Lo;0;L;;;;;N;;;;;
+14443;ANATOLIAN HIEROGLYPH A061;Lo;0;L;;;;;N;;;;;
+14444;ANATOLIAN HIEROGLYPH A062;Lo;0;L;;;;;N;;;;;
+14445;ANATOLIAN HIEROGLYPH A063;Lo;0;L;;;;;N;;;;;
+14446;ANATOLIAN HIEROGLYPH A064;Lo;0;L;;;;;N;;;;;
+14447;ANATOLIAN HIEROGLYPH A065;Lo;0;L;;;;;N;;;;;
+14448;ANATOLIAN HIEROGLYPH A066;Lo;0;L;;;;;N;;;;;
+14449;ANATOLIAN HIEROGLYPH A066A;Lo;0;L;;;;;N;;;;;
+1444A;ANATOLIAN HIEROGLYPH A066B;Lo;0;L;;;;;N;;;;;
+1444B;ANATOLIAN HIEROGLYPH A066C;Lo;0;L;;;;;N;;;;;
+1444C;ANATOLIAN HIEROGLYPH A067;Lo;0;L;;;;;N;;;;;
+1444D;ANATOLIAN HIEROGLYPH A068;Lo;0;L;;;;;N;;;;;
+1444E;ANATOLIAN HIEROGLYPH A069;Lo;0;L;;;;;N;;;;;
+1444F;ANATOLIAN HIEROGLYPH A070;Lo;0;L;;;;;N;;;;;
+14450;ANATOLIAN HIEROGLYPH A071;Lo;0;L;;;;;N;;;;;
+14451;ANATOLIAN HIEROGLYPH A072;Lo;0;L;;;;;N;;;;;
+14452;ANATOLIAN HIEROGLYPH A073;Lo;0;L;;;;;N;;;;;
+14453;ANATOLIAN HIEROGLYPH A074;Lo;0;L;;;;;N;;;;;
+14454;ANATOLIAN HIEROGLYPH A075;Lo;0;L;;;;;N;;;;;
+14455;ANATOLIAN HIEROGLYPH A076;Lo;0;L;;;;;N;;;;;
+14456;ANATOLIAN HIEROGLYPH A077;Lo;0;L;;;;;N;;;;;
+14457;ANATOLIAN HIEROGLYPH A078;Lo;0;L;;;;;N;;;;;
+14458;ANATOLIAN HIEROGLYPH A079;Lo;0;L;;;;;N;;;;;
+14459;ANATOLIAN HIEROGLYPH A080;Lo;0;L;;;;;N;;;;;
+1445A;ANATOLIAN HIEROGLYPH A081;Lo;0;L;;;;;N;;;;;
+1445B;ANATOLIAN HIEROGLYPH A082;Lo;0;L;;;;;N;;;;;
+1445C;ANATOLIAN HIEROGLYPH A083;Lo;0;L;;;;;N;;;;;
+1445D;ANATOLIAN HIEROGLYPH A084;Lo;0;L;;;;;N;;;;;
+1445E;ANATOLIAN HIEROGLYPH A085;Lo;0;L;;;;;N;;;;;
+1445F;ANATOLIAN HIEROGLYPH A086;Lo;0;L;;;;;N;;;;;
+14460;ANATOLIAN HIEROGLYPH A087;Lo;0;L;;;;;N;;;;;
+14461;ANATOLIAN HIEROGLYPH A088;Lo;0;L;;;;;N;;;;;
+14462;ANATOLIAN HIEROGLYPH A089;Lo;0;L;;;;;N;;;;;
+14463;ANATOLIAN HIEROGLYPH A090;Lo;0;L;;;;;N;;;;;
+14464;ANATOLIAN HIEROGLYPH A091;Lo;0;L;;;;;N;;;;;
+14465;ANATOLIAN HIEROGLYPH A092;Lo;0;L;;;;;N;;;;;
+14466;ANATOLIAN HIEROGLYPH A093;Lo;0;L;;;;;N;;;;;
+14467;ANATOLIAN HIEROGLYPH A094;Lo;0;L;;;;;N;;;;;
+14468;ANATOLIAN HIEROGLYPH A095;Lo;0;L;;;;;N;;;;;
+14469;ANATOLIAN HIEROGLYPH A096;Lo;0;L;;;;;N;;;;;
+1446A;ANATOLIAN HIEROGLYPH A097;Lo;0;L;;;;;N;;;;;
+1446B;ANATOLIAN HIEROGLYPH A097A;Lo;0;L;;;;;N;;;;;
+1446C;ANATOLIAN HIEROGLYPH A098;Lo;0;L;;;;;N;;;;;
+1446D;ANATOLIAN HIEROGLYPH A098A;Lo;0;L;;;;;N;;;;;
+1446E;ANATOLIAN HIEROGLYPH A099;Lo;0;L;;;;;N;;;;;
+1446F;ANATOLIAN HIEROGLYPH A100;Lo;0;L;;;;;N;;;;;
+14470;ANATOLIAN HIEROGLYPH A100A;Lo;0;L;;;;;N;;;;;
+14471;ANATOLIAN HIEROGLYPH A101;Lo;0;L;;;;;N;;;;;
+14472;ANATOLIAN HIEROGLYPH A101A;Lo;0;L;;;;;N;;;;;
+14473;ANATOLIAN HIEROGLYPH A102;Lo;0;L;;;;;N;;;;;
+14474;ANATOLIAN HIEROGLYPH A102A;Lo;0;L;;;;;N;;;;;
+14475;ANATOLIAN HIEROGLYPH A103;Lo;0;L;;;;;N;;;;;
+14476;ANATOLIAN HIEROGLYPH A104;Lo;0;L;;;;;N;;;;;
+14477;ANATOLIAN HIEROGLYPH A104A;Lo;0;L;;;;;N;;;;;
+14478;ANATOLIAN HIEROGLYPH A104B;Lo;0;L;;;;;N;;;;;
+14479;ANATOLIAN HIEROGLYPH A104C;Lo;0;L;;;;;N;;;;;
+1447A;ANATOLIAN HIEROGLYPH A105;Lo;0;L;;;;;N;;;;;
+1447B;ANATOLIAN HIEROGLYPH A105A;Lo;0;L;;;;;N;;;;;
+1447C;ANATOLIAN HIEROGLYPH A105B;Lo;0;L;;;;;N;;;;;
+1447D;ANATOLIAN HIEROGLYPH A106;Lo;0;L;;;;;N;;;;;
+1447E;ANATOLIAN HIEROGLYPH A107;Lo;0;L;;;;;N;;;;;
+1447F;ANATOLIAN HIEROGLYPH A107A;Lo;0;L;;;;;N;;;;;
+14480;ANATOLIAN HIEROGLYPH A107B;Lo;0;L;;;;;N;;;;;
+14481;ANATOLIAN HIEROGLYPH A107C;Lo;0;L;;;;;N;;;;;
+14482;ANATOLIAN HIEROGLYPH A108;Lo;0;L;;;;;N;;;;;
+14483;ANATOLIAN HIEROGLYPH A109;Lo;0;L;;;;;N;;;;;
+14484;ANATOLIAN HIEROGLYPH A110;Lo;0;L;;;;;N;;;;;
+14485;ANATOLIAN HIEROGLYPH A110A;Lo;0;L;;;;;N;;;;;
+14486;ANATOLIAN HIEROGLYPH A110B;Lo;0;L;;;;;N;;;;;
+14487;ANATOLIAN HIEROGLYPH A111;Lo;0;L;;;;;N;;;;;
+14488;ANATOLIAN HIEROGLYPH A112;Lo;0;L;;;;;N;;;;;
+14489;ANATOLIAN HIEROGLYPH A113;Lo;0;L;;;;;N;;;;;
+1448A;ANATOLIAN HIEROGLYPH A114;Lo;0;L;;;;;N;;;;;
+1448B;ANATOLIAN HIEROGLYPH A115;Lo;0;L;;;;;N;;;;;
+1448C;ANATOLIAN HIEROGLYPH A115A;Lo;0;L;;;;;N;;;;;
+1448D;ANATOLIAN HIEROGLYPH A116;Lo;0;L;;;;;N;;;;;
+1448E;ANATOLIAN HIEROGLYPH A117;Lo;0;L;;;;;N;;;;;
+1448F;ANATOLIAN HIEROGLYPH A118;Lo;0;L;;;;;N;;;;;
+14490;ANATOLIAN HIEROGLYPH A119;Lo;0;L;;;;;N;;;;;
+14491;ANATOLIAN HIEROGLYPH A120;Lo;0;L;;;;;N;;;;;
+14492;ANATOLIAN HIEROGLYPH A121;Lo;0;L;;;;;N;;;;;
+14493;ANATOLIAN HIEROGLYPH A122;Lo;0;L;;;;;N;;;;;
+14494;ANATOLIAN HIEROGLYPH A123;Lo;0;L;;;;;N;;;;;
+14495;ANATOLIAN HIEROGLYPH A124;Lo;0;L;;;;;N;;;;;
+14496;ANATOLIAN HIEROGLYPH A125;Lo;0;L;;;;;N;;;;;
+14497;ANATOLIAN HIEROGLYPH A125A;Lo;0;L;;;;;N;;;;;
+14498;ANATOLIAN HIEROGLYPH A126;Lo;0;L;;;;;N;;;;;
+14499;ANATOLIAN HIEROGLYPH A127;Lo;0;L;;;;;N;;;;;
+1449A;ANATOLIAN HIEROGLYPH A128;Lo;0;L;;;;;N;;;;;
+1449B;ANATOLIAN HIEROGLYPH A129;Lo;0;L;;;;;N;;;;;
+1449C;ANATOLIAN HIEROGLYPH A130;Lo;0;L;;;;;N;;;;;
+1449D;ANATOLIAN HIEROGLYPH A131;Lo;0;L;;;;;N;;;;;
+1449E;ANATOLIAN HIEROGLYPH A132;Lo;0;L;;;;;N;;;;;
+1449F;ANATOLIAN HIEROGLYPH A133;Lo;0;L;;;;;N;;;;;
+144A0;ANATOLIAN HIEROGLYPH A134;Lo;0;L;;;;;N;;;;;
+144A1;ANATOLIAN HIEROGLYPH A135;Lo;0;L;;;;;N;;;;;
+144A2;ANATOLIAN HIEROGLYPH A135A;Lo;0;L;;;;;N;;;;;
+144A3;ANATOLIAN HIEROGLYPH A136;Lo;0;L;;;;;N;;;;;
+144A4;ANATOLIAN HIEROGLYPH A137;Lo;0;L;;;;;N;;;;;
+144A5;ANATOLIAN HIEROGLYPH A138;Lo;0;L;;;;;N;;;;;
+144A6;ANATOLIAN HIEROGLYPH A139;Lo;0;L;;;;;N;;;;;
+144A7;ANATOLIAN HIEROGLYPH A140;Lo;0;L;;;;;N;;;;;
+144A8;ANATOLIAN HIEROGLYPH A141;Lo;0;L;;;;;N;;;;;
+144A9;ANATOLIAN HIEROGLYPH A142;Lo;0;L;;;;;N;;;;;
+144AA;ANATOLIAN HIEROGLYPH A143;Lo;0;L;;;;;N;;;;;
+144AB;ANATOLIAN HIEROGLYPH A144;Lo;0;L;;;;;N;;;;;
+144AC;ANATOLIAN HIEROGLYPH A145;Lo;0;L;;;;;N;;;;;
+144AD;ANATOLIAN HIEROGLYPH A146;Lo;0;L;;;;;N;;;;;
+144AE;ANATOLIAN HIEROGLYPH A147;Lo;0;L;;;;;N;;;;;
+144AF;ANATOLIAN HIEROGLYPH A148;Lo;0;L;;;;;N;;;;;
+144B0;ANATOLIAN HIEROGLYPH A149;Lo;0;L;;;;;N;;;;;
+144B1;ANATOLIAN HIEROGLYPH A150;Lo;0;L;;;;;N;;;;;
+144B2;ANATOLIAN HIEROGLYPH A151;Lo;0;L;;;;;N;;;;;
+144B3;ANATOLIAN HIEROGLYPH A152;Lo;0;L;;;;;N;;;;;
+144B4;ANATOLIAN HIEROGLYPH A153;Lo;0;L;;;;;N;;;;;
+144B5;ANATOLIAN HIEROGLYPH A154;Lo;0;L;;;;;N;;;;;
+144B6;ANATOLIAN HIEROGLYPH A155;Lo;0;L;;;;;N;;;;;
+144B7;ANATOLIAN HIEROGLYPH A156;Lo;0;L;;;;;N;;;;;
+144B8;ANATOLIAN HIEROGLYPH A157;Lo;0;L;;;;;N;;;;;
+144B9;ANATOLIAN HIEROGLYPH A158;Lo;0;L;;;;;N;;;;;
+144BA;ANATOLIAN HIEROGLYPH A159;Lo;0;L;;;;;N;;;;;
+144BB;ANATOLIAN HIEROGLYPH A160;Lo;0;L;;;;;N;;;;;
+144BC;ANATOLIAN HIEROGLYPH A161;Lo;0;L;;;;;N;;;;;
+144BD;ANATOLIAN HIEROGLYPH A162;Lo;0;L;;;;;N;;;;;
+144BE;ANATOLIAN HIEROGLYPH A163;Lo;0;L;;;;;N;;;;;
+144BF;ANATOLIAN HIEROGLYPH A164;Lo;0;L;;;;;N;;;;;
+144C0;ANATOLIAN HIEROGLYPH A165;Lo;0;L;;;;;N;;;;;
+144C1;ANATOLIAN HIEROGLYPH A166;Lo;0;L;;;;;N;;;;;
+144C2;ANATOLIAN HIEROGLYPH A167;Lo;0;L;;;;;N;;;;;
+144C3;ANATOLIAN HIEROGLYPH A168;Lo;0;L;;;;;N;;;;;
+144C4;ANATOLIAN HIEROGLYPH A169;Lo;0;L;;;;;N;;;;;
+144C5;ANATOLIAN HIEROGLYPH A170;Lo;0;L;;;;;N;;;;;
+144C6;ANATOLIAN HIEROGLYPH A171;Lo;0;L;;;;;N;;;;;
+144C7;ANATOLIAN HIEROGLYPH A172;Lo;0;L;;;;;N;;;;;
+144C8;ANATOLIAN HIEROGLYPH A173;Lo;0;L;;;;;N;;;;;
+144C9;ANATOLIAN HIEROGLYPH A174;Lo;0;L;;;;;N;;;;;
+144CA;ANATOLIAN HIEROGLYPH A175;Lo;0;L;;;;;N;;;;;
+144CB;ANATOLIAN HIEROGLYPH A176;Lo;0;L;;;;;N;;;;;
+144CC;ANATOLIAN HIEROGLYPH A177;Lo;0;L;;;;;N;;;;;
+144CD;ANATOLIAN HIEROGLYPH A178;Lo;0;L;;;;;N;;;;;
+144CE;ANATOLIAN HIEROGLYPH A179;Lo;0;L;;;;;N;;;;;
+144CF;ANATOLIAN HIEROGLYPH A180;Lo;0;L;;;;;N;;;;;
+144D0;ANATOLIAN HIEROGLYPH A181;Lo;0;L;;;;;N;;;;;
+144D1;ANATOLIAN HIEROGLYPH A182;Lo;0;L;;;;;N;;;;;
+144D2;ANATOLIAN HIEROGLYPH A183;Lo;0;L;;;;;N;;;;;
+144D3;ANATOLIAN HIEROGLYPH A184;Lo;0;L;;;;;N;;;;;
+144D4;ANATOLIAN HIEROGLYPH A185;Lo;0;L;;;;;N;;;;;
+144D5;ANATOLIAN HIEROGLYPH A186;Lo;0;L;;;;;N;;;;;
+144D6;ANATOLIAN HIEROGLYPH A187;Lo;0;L;;;;;N;;;;;
+144D7;ANATOLIAN HIEROGLYPH A188;Lo;0;L;;;;;N;;;;;
+144D8;ANATOLIAN HIEROGLYPH A189;Lo;0;L;;;;;N;;;;;
+144D9;ANATOLIAN HIEROGLYPH A190;Lo;0;L;;;;;N;;;;;
+144DA;ANATOLIAN HIEROGLYPH A191;Lo;0;L;;;;;N;;;;;
+144DB;ANATOLIAN HIEROGLYPH A192;Lo;0;L;;;;;N;;;;;
+144DC;ANATOLIAN HIEROGLYPH A193;Lo;0;L;;;;;N;;;;;
+144DD;ANATOLIAN HIEROGLYPH A194;Lo;0;L;;;;;N;;;;;
+144DE;ANATOLIAN HIEROGLYPH A195;Lo;0;L;;;;;N;;;;;
+144DF;ANATOLIAN HIEROGLYPH A196;Lo;0;L;;;;;N;;;;;
+144E0;ANATOLIAN HIEROGLYPH A197;Lo;0;L;;;;;N;;;;;
+144E1;ANATOLIAN HIEROGLYPH A198;Lo;0;L;;;;;N;;;;;
+144E2;ANATOLIAN HIEROGLYPH A199;Lo;0;L;;;;;N;;;;;
+144E3;ANATOLIAN HIEROGLYPH A200;Lo;0;L;;;;;N;;;;;
+144E4;ANATOLIAN HIEROGLYPH A201;Lo;0;L;;;;;N;;;;;
+144E5;ANATOLIAN HIEROGLYPH A202;Lo;0;L;;;;;N;;;;;
+144E6;ANATOLIAN HIEROGLYPH A202A;Lo;0;L;;;;;N;;;;;
+144E7;ANATOLIAN HIEROGLYPH A202B;Lo;0;L;;;;;N;;;;;
+144E8;ANATOLIAN HIEROGLYPH A203;Lo;0;L;;;;;N;;;;;
+144E9;ANATOLIAN HIEROGLYPH A204;Lo;0;L;;;;;N;;;;;
+144EA;ANATOLIAN HIEROGLYPH A205;Lo;0;L;;;;;N;;;;;
+144EB;ANATOLIAN HIEROGLYPH A206;Lo;0;L;;;;;N;;;;;
+144EC;ANATOLIAN HIEROGLYPH A207;Lo;0;L;;;;;N;;;;;
+144ED;ANATOLIAN HIEROGLYPH A207A;Lo;0;L;;;;;N;;;;;
+144EE;ANATOLIAN HIEROGLYPH A208;Lo;0;L;;;;;N;;;;;
+144EF;ANATOLIAN HIEROGLYPH A209;Lo;0;L;;;;;N;;;;;
+144F0;ANATOLIAN HIEROGLYPH A209A;Lo;0;L;;;;;N;;;;;
+144F1;ANATOLIAN HIEROGLYPH A210;Lo;0;L;;;;;N;;;;;
+144F2;ANATOLIAN HIEROGLYPH A211;Lo;0;L;;;;;N;;;;;
+144F3;ANATOLIAN HIEROGLYPH A212;Lo;0;L;;;;;N;;;;;
+144F4;ANATOLIAN HIEROGLYPH A213;Lo;0;L;;;;;N;;;;;
+144F5;ANATOLIAN HIEROGLYPH A214;Lo;0;L;;;;;N;;;;;
+144F6;ANATOLIAN HIEROGLYPH A215;Lo;0;L;;;;;N;;;;;
+144F7;ANATOLIAN HIEROGLYPH A215A;Lo;0;L;;;;;N;;;;;
+144F8;ANATOLIAN HIEROGLYPH A216;Lo;0;L;;;;;N;;;;;
+144F9;ANATOLIAN HIEROGLYPH A216A;Lo;0;L;;;;;N;;;;;
+144FA;ANATOLIAN HIEROGLYPH A217;Lo;0;L;;;;;N;;;;;
+144FB;ANATOLIAN HIEROGLYPH A218;Lo;0;L;;;;;N;;;;;
+144FC;ANATOLIAN HIEROGLYPH A219;Lo;0;L;;;;;N;;;;;
+144FD;ANATOLIAN HIEROGLYPH A220;Lo;0;L;;;;;N;;;;;
+144FE;ANATOLIAN HIEROGLYPH A221;Lo;0;L;;;;;N;;;;;
+144FF;ANATOLIAN HIEROGLYPH A222;Lo;0;L;;;;;N;;;;;
+14500;ANATOLIAN HIEROGLYPH A223;Lo;0;L;;;;;N;;;;;
+14501;ANATOLIAN HIEROGLYPH A224;Lo;0;L;;;;;N;;;;;
+14502;ANATOLIAN HIEROGLYPH A225;Lo;0;L;;;;;N;;;;;
+14503;ANATOLIAN HIEROGLYPH A226;Lo;0;L;;;;;N;;;;;
+14504;ANATOLIAN HIEROGLYPH A227;Lo;0;L;;;;;N;;;;;
+14505;ANATOLIAN HIEROGLYPH A227A;Lo;0;L;;;;;N;;;;;
+14506;ANATOLIAN HIEROGLYPH A228;Lo;0;L;;;;;N;;;;;
+14507;ANATOLIAN HIEROGLYPH A229;Lo;0;L;;;;;N;;;;;
+14508;ANATOLIAN HIEROGLYPH A230;Lo;0;L;;;;;N;;;;;
+14509;ANATOLIAN HIEROGLYPH A231;Lo;0;L;;;;;N;;;;;
+1450A;ANATOLIAN HIEROGLYPH A232;Lo;0;L;;;;;N;;;;;
+1450B;ANATOLIAN HIEROGLYPH A233;Lo;0;L;;;;;N;;;;;
+1450C;ANATOLIAN HIEROGLYPH A234;Lo;0;L;;;;;N;;;;;
+1450D;ANATOLIAN HIEROGLYPH A235;Lo;0;L;;;;;N;;;;;
+1450E;ANATOLIAN HIEROGLYPH A236;Lo;0;L;;;;;N;;;;;
+1450F;ANATOLIAN HIEROGLYPH A237;Lo;0;L;;;;;N;;;;;
+14510;ANATOLIAN HIEROGLYPH A238;Lo;0;L;;;;;N;;;;;
+14511;ANATOLIAN HIEROGLYPH A239;Lo;0;L;;;;;N;;;;;
+14512;ANATOLIAN HIEROGLYPH A240;Lo;0;L;;;;;N;;;;;
+14513;ANATOLIAN HIEROGLYPH A241;Lo;0;L;;;;;N;;;;;
+14514;ANATOLIAN HIEROGLYPH A242;Lo;0;L;;;;;N;;;;;
+14515;ANATOLIAN HIEROGLYPH A243;Lo;0;L;;;;;N;;;;;
+14516;ANATOLIAN HIEROGLYPH A244;Lo;0;L;;;;;N;;;;;
+14517;ANATOLIAN HIEROGLYPH A245;Lo;0;L;;;;;N;;;;;
+14518;ANATOLIAN HIEROGLYPH A246;Lo;0;L;;;;;N;;;;;
+14519;ANATOLIAN HIEROGLYPH A247;Lo;0;L;;;;;N;;;;;
+1451A;ANATOLIAN HIEROGLYPH A248;Lo;0;L;;;;;N;;;;;
+1451B;ANATOLIAN HIEROGLYPH A249;Lo;0;L;;;;;N;;;;;
+1451C;ANATOLIAN HIEROGLYPH A250;Lo;0;L;;;;;N;;;;;
+1451D;ANATOLIAN HIEROGLYPH A251;Lo;0;L;;;;;N;;;;;
+1451E;ANATOLIAN HIEROGLYPH A252;Lo;0;L;;;;;N;;;;;
+1451F;ANATOLIAN HIEROGLYPH A253;Lo;0;L;;;;;N;;;;;
+14520;ANATOLIAN HIEROGLYPH A254;Lo;0;L;;;;;N;;;;;
+14521;ANATOLIAN HIEROGLYPH A255;Lo;0;L;;;;;N;;;;;
+14522;ANATOLIAN HIEROGLYPH A256;Lo;0;L;;;;;N;;;;;
+14523;ANATOLIAN HIEROGLYPH A257;Lo;0;L;;;;;N;;;;;
+14524;ANATOLIAN HIEROGLYPH A258;Lo;0;L;;;;;N;;;;;
+14525;ANATOLIAN HIEROGLYPH A259;Lo;0;L;;;;;N;;;;;
+14526;ANATOLIAN HIEROGLYPH A260;Lo;0;L;;;;;N;;;;;
+14527;ANATOLIAN HIEROGLYPH A261;Lo;0;L;;;;;N;;;;;
+14528;ANATOLIAN HIEROGLYPH A262;Lo;0;L;;;;;N;;;;;
+14529;ANATOLIAN HIEROGLYPH A263;Lo;0;L;;;;;N;;;;;
+1452A;ANATOLIAN HIEROGLYPH A264;Lo;0;L;;;;;N;;;;;
+1452B;ANATOLIAN HIEROGLYPH A265;Lo;0;L;;;;;N;;;;;
+1452C;ANATOLIAN HIEROGLYPH A266;Lo;0;L;;;;;N;;;;;
+1452D;ANATOLIAN HIEROGLYPH A267;Lo;0;L;;;;;N;;;;;
+1452E;ANATOLIAN HIEROGLYPH A267A;Lo;0;L;;;;;N;;;;;
+1452F;ANATOLIAN HIEROGLYPH A268;Lo;0;L;;;;;N;;;;;
+14530;ANATOLIAN HIEROGLYPH A269;Lo;0;L;;;;;N;;;;;
+14531;ANATOLIAN HIEROGLYPH A270;Lo;0;L;;;;;N;;;;;
+14532;ANATOLIAN HIEROGLYPH A271;Lo;0;L;;;;;N;;;;;
+14533;ANATOLIAN HIEROGLYPH A272;Lo;0;L;;;;;N;;;;;
+14534;ANATOLIAN HIEROGLYPH A273;Lo;0;L;;;;;N;;;;;
+14535;ANATOLIAN HIEROGLYPH A274;Lo;0;L;;;;;N;;;;;
+14536;ANATOLIAN HIEROGLYPH A275;Lo;0;L;;;;;N;;;;;
+14537;ANATOLIAN HIEROGLYPH A276;Lo;0;L;;;;;N;;;;;
+14538;ANATOLIAN HIEROGLYPH A277;Lo;0;L;;;;;N;;;;;
+14539;ANATOLIAN HIEROGLYPH A278;Lo;0;L;;;;;N;;;;;
+1453A;ANATOLIAN HIEROGLYPH A279;Lo;0;L;;;;;N;;;;;
+1453B;ANATOLIAN HIEROGLYPH A280;Lo;0;L;;;;;N;;;;;
+1453C;ANATOLIAN HIEROGLYPH A281;Lo;0;L;;;;;N;;;;;
+1453D;ANATOLIAN HIEROGLYPH A282;Lo;0;L;;;;;N;;;;;
+1453E;ANATOLIAN HIEROGLYPH A283;Lo;0;L;;;;;N;;;;;
+1453F;ANATOLIAN HIEROGLYPH A284;Lo;0;L;;;;;N;;;;;
+14540;ANATOLIAN HIEROGLYPH A285;Lo;0;L;;;;;N;;;;;
+14541;ANATOLIAN HIEROGLYPH A286;Lo;0;L;;;;;N;;;;;
+14542;ANATOLIAN HIEROGLYPH A287;Lo;0;L;;;;;N;;;;;
+14543;ANATOLIAN HIEROGLYPH A288;Lo;0;L;;;;;N;;;;;
+14544;ANATOLIAN HIEROGLYPH A289;Lo;0;L;;;;;N;;;;;
+14545;ANATOLIAN HIEROGLYPH A289A;Lo;0;L;;;;;N;;;;;
+14546;ANATOLIAN HIEROGLYPH A290;Lo;0;L;;;;;N;;;;;
+14547;ANATOLIAN HIEROGLYPH A291;Lo;0;L;;;;;N;;;;;
+14548;ANATOLIAN HIEROGLYPH A292;Lo;0;L;;;;;N;;;;;
+14549;ANATOLIAN HIEROGLYPH A293;Lo;0;L;;;;;N;;;;;
+1454A;ANATOLIAN HIEROGLYPH A294;Lo;0;L;;;;;N;;;;;
+1454B;ANATOLIAN HIEROGLYPH A294A;Lo;0;L;;;;;N;;;;;
+1454C;ANATOLIAN HIEROGLYPH A295;Lo;0;L;;;;;N;;;;;
+1454D;ANATOLIAN HIEROGLYPH A296;Lo;0;L;;;;;N;;;;;
+1454E;ANATOLIAN HIEROGLYPH A297;Lo;0;L;;;;;N;;;;;
+1454F;ANATOLIAN HIEROGLYPH A298;Lo;0;L;;;;;N;;;;;
+14550;ANATOLIAN HIEROGLYPH A299;Lo;0;L;;;;;N;;;;;
+14551;ANATOLIAN HIEROGLYPH A299A;Lo;0;L;;;;;N;;;;;
+14552;ANATOLIAN HIEROGLYPH A300;Lo;0;L;;;;;N;;;;;
+14553;ANATOLIAN HIEROGLYPH A301;Lo;0;L;;;;;N;;;;;
+14554;ANATOLIAN HIEROGLYPH A302;Lo;0;L;;;;;N;;;;;
+14555;ANATOLIAN HIEROGLYPH A303;Lo;0;L;;;;;N;;;;;
+14556;ANATOLIAN HIEROGLYPH A304;Lo;0;L;;;;;N;;;;;
+14557;ANATOLIAN HIEROGLYPH A305;Lo;0;L;;;;;N;;;;;
+14558;ANATOLIAN HIEROGLYPH A306;Lo;0;L;;;;;N;;;;;
+14559;ANATOLIAN HIEROGLYPH A307;Lo;0;L;;;;;N;;;;;
+1455A;ANATOLIAN HIEROGLYPH A308;Lo;0;L;;;;;N;;;;;
+1455B;ANATOLIAN HIEROGLYPH A309;Lo;0;L;;;;;N;;;;;
+1455C;ANATOLIAN HIEROGLYPH A309A;Lo;0;L;;;;;N;;;;;
+1455D;ANATOLIAN HIEROGLYPH A310;Lo;0;L;;;;;N;;;;;
+1455E;ANATOLIAN HIEROGLYPH A311;Lo;0;L;;;;;N;;;;;
+1455F;ANATOLIAN HIEROGLYPH A312;Lo;0;L;;;;;N;;;;;
+14560;ANATOLIAN HIEROGLYPH A313;Lo;0;L;;;;;N;;;;;
+14561;ANATOLIAN HIEROGLYPH A314;Lo;0;L;;;;;N;;;;;
+14562;ANATOLIAN HIEROGLYPH A315;Lo;0;L;;;;;N;;;;;
+14563;ANATOLIAN HIEROGLYPH A316;Lo;0;L;;;;;N;;;;;
+14564;ANATOLIAN HIEROGLYPH A317;Lo;0;L;;;;;N;;;;;
+14565;ANATOLIAN HIEROGLYPH A318;Lo;0;L;;;;;N;;;;;
+14566;ANATOLIAN HIEROGLYPH A319;Lo;0;L;;;;;N;;;;;
+14567;ANATOLIAN HIEROGLYPH A320;Lo;0;L;;;;;N;;;;;
+14568;ANATOLIAN HIEROGLYPH A321;Lo;0;L;;;;;N;;;;;
+14569;ANATOLIAN HIEROGLYPH A322;Lo;0;L;;;;;N;;;;;
+1456A;ANATOLIAN HIEROGLYPH A323;Lo;0;L;;;;;N;;;;;
+1456B;ANATOLIAN HIEROGLYPH A324;Lo;0;L;;;;;N;;;;;
+1456C;ANATOLIAN HIEROGLYPH A325;Lo;0;L;;;;;N;;;;;
+1456D;ANATOLIAN HIEROGLYPH A326;Lo;0;L;;;;;N;;;;;
+1456E;ANATOLIAN HIEROGLYPH A327;Lo;0;L;;;;;N;;;;;
+1456F;ANATOLIAN HIEROGLYPH A328;Lo;0;L;;;;;N;;;;;
+14570;ANATOLIAN HIEROGLYPH A329;Lo;0;L;;;;;N;;;;;
+14571;ANATOLIAN HIEROGLYPH A329A;Lo;0;L;;;;;N;;;;;
+14572;ANATOLIAN HIEROGLYPH A330;Lo;0;L;;;;;N;;;;;
+14573;ANATOLIAN HIEROGLYPH A331;Lo;0;L;;;;;N;;;;;
+14574;ANATOLIAN HIEROGLYPH A332A;Lo;0;L;;;;;N;;;;;
+14575;ANATOLIAN HIEROGLYPH A332B;Lo;0;L;;;;;N;;;;;
+14576;ANATOLIAN HIEROGLYPH A332C;Lo;0;L;;;;;N;;;;;
+14577;ANATOLIAN HIEROGLYPH A333;Lo;0;L;;;;;N;;;;;
+14578;ANATOLIAN HIEROGLYPH A334;Lo;0;L;;;;;N;;;;;
+14579;ANATOLIAN HIEROGLYPH A335;Lo;0;L;;;;;N;;;;;
+1457A;ANATOLIAN HIEROGLYPH A336;Lo;0;L;;;;;N;;;;;
+1457B;ANATOLIAN HIEROGLYPH A336A;Lo;0;L;;;;;N;;;;;
+1457C;ANATOLIAN HIEROGLYPH A336B;Lo;0;L;;;;;N;;;;;
+1457D;ANATOLIAN HIEROGLYPH A336C;Lo;0;L;;;;;N;;;;;
+1457E;ANATOLIAN HIEROGLYPH A337;Lo;0;L;;;;;N;;;;;
+1457F;ANATOLIAN HIEROGLYPH A338;Lo;0;L;;;;;N;;;;;
+14580;ANATOLIAN HIEROGLYPH A339;Lo;0;L;;;;;N;;;;;
+14581;ANATOLIAN HIEROGLYPH A340;Lo;0;L;;;;;N;;;;;
+14582;ANATOLIAN HIEROGLYPH A341;Lo;0;L;;;;;N;;;;;
+14583;ANATOLIAN HIEROGLYPH A342;Lo;0;L;;;;;N;;;;;
+14584;ANATOLIAN HIEROGLYPH A343;Lo;0;L;;;;;N;;;;;
+14585;ANATOLIAN HIEROGLYPH A344;Lo;0;L;;;;;N;;;;;
+14586;ANATOLIAN HIEROGLYPH A345;Lo;0;L;;;;;N;;;;;
+14587;ANATOLIAN HIEROGLYPH A346;Lo;0;L;;;;;N;;;;;
+14588;ANATOLIAN HIEROGLYPH A347;Lo;0;L;;;;;N;;;;;
+14589;ANATOLIAN HIEROGLYPH A348;Lo;0;L;;;;;N;;;;;
+1458A;ANATOLIAN HIEROGLYPH A349;Lo;0;L;;;;;N;;;;;
+1458B;ANATOLIAN HIEROGLYPH A350;Lo;0;L;;;;;N;;;;;
+1458C;ANATOLIAN HIEROGLYPH A351;Lo;0;L;;;;;N;;;;;
+1458D;ANATOLIAN HIEROGLYPH A352;Lo;0;L;;;;;N;;;;;
+1458E;ANATOLIAN HIEROGLYPH A353;Lo;0;L;;;;;N;;;;;
+1458F;ANATOLIAN HIEROGLYPH A354;Lo;0;L;;;;;N;;;;;
+14590;ANATOLIAN HIEROGLYPH A355;Lo;0;L;;;;;N;;;;;
+14591;ANATOLIAN HIEROGLYPH A356;Lo;0;L;;;;;N;;;;;
+14592;ANATOLIAN HIEROGLYPH A357;Lo;0;L;;;;;N;;;;;
+14593;ANATOLIAN HIEROGLYPH A358;Lo;0;L;;;;;N;;;;;
+14594;ANATOLIAN HIEROGLYPH A359;Lo;0;L;;;;;N;;;;;
+14595;ANATOLIAN HIEROGLYPH A359A;Lo;0;L;;;;;N;;;;;
+14596;ANATOLIAN HIEROGLYPH A360;Lo;0;L;;;;;N;;;;;
+14597;ANATOLIAN HIEROGLYPH A361;Lo;0;L;;;;;N;;;;;
+14598;ANATOLIAN HIEROGLYPH A362;Lo;0;L;;;;;N;;;;;
+14599;ANATOLIAN HIEROGLYPH A363;Lo;0;L;;;;;N;;;;;
+1459A;ANATOLIAN HIEROGLYPH A364;Lo;0;L;;;;;N;;;;;
+1459B;ANATOLIAN HIEROGLYPH A364A;Lo;0;L;;;;;N;;;;;
+1459C;ANATOLIAN HIEROGLYPH A365;Lo;0;L;;;;;N;;;;;
+1459D;ANATOLIAN HIEROGLYPH A366;Lo;0;L;;;;;N;;;;;
+1459E;ANATOLIAN HIEROGLYPH A367;Lo;0;L;;;;;N;;;;;
+1459F;ANATOLIAN HIEROGLYPH A368;Lo;0;L;;;;;N;;;;;
+145A0;ANATOLIAN HIEROGLYPH A368A;Lo;0;L;;;;;N;;;;;
+145A1;ANATOLIAN HIEROGLYPH A369;Lo;0;L;;;;;N;;;;;
+145A2;ANATOLIAN HIEROGLYPH A370;Lo;0;L;;;;;N;;;;;
+145A3;ANATOLIAN HIEROGLYPH A371;Lo;0;L;;;;;N;;;;;
+145A4;ANATOLIAN HIEROGLYPH A371A;Lo;0;L;;;;;N;;;;;
+145A5;ANATOLIAN HIEROGLYPH A372;Lo;0;L;;;;;N;;;;;
+145A6;ANATOLIAN HIEROGLYPH A373;Lo;0;L;;;;;N;;;;;
+145A7;ANATOLIAN HIEROGLYPH A374;Lo;0;L;;;;;N;;;;;
+145A8;ANATOLIAN HIEROGLYPH A375;Lo;0;L;;;;;N;;;;;
+145A9;ANATOLIAN HIEROGLYPH A376;Lo;0;L;;;;;N;;;;;
+145AA;ANATOLIAN HIEROGLYPH A377;Lo;0;L;;;;;N;;;;;
+145AB;ANATOLIAN HIEROGLYPH A378;Lo;0;L;;;;;N;;;;;
+145AC;ANATOLIAN HIEROGLYPH A379;Lo;0;L;;;;;N;;;;;
+145AD;ANATOLIAN HIEROGLYPH A380;Lo;0;L;;;;;N;;;;;
+145AE;ANATOLIAN HIEROGLYPH A381;Lo;0;L;;;;;N;;;;;
+145AF;ANATOLIAN HIEROGLYPH A381A;Lo;0;L;;;;;N;;;;;
+145B0;ANATOLIAN HIEROGLYPH A382;Lo;0;L;;;;;N;;;;;
+145B1;ANATOLIAN HIEROGLYPH A383 RA OR RI;Lo;0;L;;;;;N;;;;;
+145B2;ANATOLIAN HIEROGLYPH A383A;Lo;0;L;;;;;N;;;;;
+145B3;ANATOLIAN HIEROGLYPH A384;Lo;0;L;;;;;N;;;;;
+145B4;ANATOLIAN HIEROGLYPH A385;Lo;0;L;;;;;N;;;;;
+145B5;ANATOLIAN HIEROGLYPH A386;Lo;0;L;;;;;N;;;;;
+145B6;ANATOLIAN HIEROGLYPH A386A;Lo;0;L;;;;;N;;;;;
+145B7;ANATOLIAN HIEROGLYPH A387;Lo;0;L;;;;;N;;;;;
+145B8;ANATOLIAN HIEROGLYPH A388;Lo;0;L;;;;;N;;;;;
+145B9;ANATOLIAN HIEROGLYPH A389;Lo;0;L;;;;;N;;;;;
+145BA;ANATOLIAN HIEROGLYPH A390;Lo;0;L;;;;;N;;;;;
+145BB;ANATOLIAN HIEROGLYPH A391;Lo;0;L;;;;;N;;;;;
+145BC;ANATOLIAN HIEROGLYPH A392;Lo;0;L;;;;;N;;;;;
+145BD;ANATOLIAN HIEROGLYPH A393 EIGHT;Lo;0;L;;;;;N;;;;;
+145BE;ANATOLIAN HIEROGLYPH A394;Lo;0;L;;;;;N;;;;;
+145BF;ANATOLIAN HIEROGLYPH A395;Lo;0;L;;;;;N;;;;;
+145C0;ANATOLIAN HIEROGLYPH A396;Lo;0;L;;;;;N;;;;;
+145C1;ANATOLIAN HIEROGLYPH A397;Lo;0;L;;;;;N;;;;;
+145C2;ANATOLIAN HIEROGLYPH A398;Lo;0;L;;;;;N;;;;;
+145C3;ANATOLIAN HIEROGLYPH A399;Lo;0;L;;;;;N;;;;;
+145C4;ANATOLIAN HIEROGLYPH A400;Lo;0;L;;;;;N;;;;;
+145C5;ANATOLIAN HIEROGLYPH A401;Lo;0;L;;;;;N;;;;;
+145C6;ANATOLIAN HIEROGLYPH A402;Lo;0;L;;;;;N;;;;;
+145C7;ANATOLIAN HIEROGLYPH A403;Lo;0;L;;;;;N;;;;;
+145C8;ANATOLIAN HIEROGLYPH A404;Lo;0;L;;;;;N;;;;;
+145C9;ANATOLIAN HIEROGLYPH A405;Lo;0;L;;;;;N;;;;;
+145CA;ANATOLIAN HIEROGLYPH A406;Lo;0;L;;;;;N;;;;;
+145CB;ANATOLIAN HIEROGLYPH A407;Lo;0;L;;;;;N;;;;;
+145CC;ANATOLIAN HIEROGLYPH A408;Lo;0;L;;;;;N;;;;;
+145CD;ANATOLIAN HIEROGLYPH A409;Lo;0;L;;;;;N;;;;;
+145CE;ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK;Lo;0;L;;;;;N;;;;;
+145CF;ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK;Lo;0;L;;;;;N;;;;;
+145D0;ANATOLIAN HIEROGLYPH A411;Lo;0;L;;;;;N;;;;;
+145D1;ANATOLIAN HIEROGLYPH A412;Lo;0;L;;;;;N;;;;;
+145D2;ANATOLIAN HIEROGLYPH A413;Lo;0;L;;;;;N;;;;;
+145D3;ANATOLIAN HIEROGLYPH A414;Lo;0;L;;;;;N;;;;;
+145D4;ANATOLIAN HIEROGLYPH A415;Lo;0;L;;;;;N;;;;;
+145D5;ANATOLIAN HIEROGLYPH A416;Lo;0;L;;;;;N;;;;;
+145D6;ANATOLIAN HIEROGLYPH A417;Lo;0;L;;;;;N;;;;;
+145D7;ANATOLIAN HIEROGLYPH A418;Lo;0;L;;;;;N;;;;;
+145D8;ANATOLIAN HIEROGLYPH A419;Lo;0;L;;;;;N;;;;;
+145D9;ANATOLIAN HIEROGLYPH A420;Lo;0;L;;;;;N;;;;;
+145DA;ANATOLIAN HIEROGLYPH A421;Lo;0;L;;;;;N;;;;;
+145DB;ANATOLIAN HIEROGLYPH A422;Lo;0;L;;;;;N;;;;;
+145DC;ANATOLIAN HIEROGLYPH A423;Lo;0;L;;;;;N;;;;;
+145DD;ANATOLIAN HIEROGLYPH A424;Lo;0;L;;;;;N;;;;;
+145DE;ANATOLIAN HIEROGLYPH A425;Lo;0;L;;;;;N;;;;;
+145DF;ANATOLIAN HIEROGLYPH A426;Lo;0;L;;;;;N;;;;;
+145E0;ANATOLIAN HIEROGLYPH A427;Lo;0;L;;;;;N;;;;;
+145E1;ANATOLIAN HIEROGLYPH A428;Lo;0;L;;;;;N;;;;;
+145E2;ANATOLIAN HIEROGLYPH A429;Lo;0;L;;;;;N;;;;;
+145E3;ANATOLIAN HIEROGLYPH A430;Lo;0;L;;;;;N;;;;;
+145E4;ANATOLIAN HIEROGLYPH A431;Lo;0;L;;;;;N;;;;;
+145E5;ANATOLIAN HIEROGLYPH A432;Lo;0;L;;;;;N;;;;;
+145E6;ANATOLIAN HIEROGLYPH A433;Lo;0;L;;;;;N;;;;;
+145E7;ANATOLIAN HIEROGLYPH A434;Lo;0;L;;;;;N;;;;;
+145E8;ANATOLIAN HIEROGLYPH A435;Lo;0;L;;;;;N;;;;;
+145E9;ANATOLIAN HIEROGLYPH A436;Lo;0;L;;;;;N;;;;;
+145EA;ANATOLIAN HIEROGLYPH A437;Lo;0;L;;;;;N;;;;;
+145EB;ANATOLIAN HIEROGLYPH A438;Lo;0;L;;;;;N;;;;;
+145EC;ANATOLIAN HIEROGLYPH A439;Lo;0;L;;;;;N;;;;;
+145ED;ANATOLIAN HIEROGLYPH A440;Lo;0;L;;;;;N;;;;;
+145EE;ANATOLIAN HIEROGLYPH A441;Lo;0;L;;;;;N;;;;;
+145EF;ANATOLIAN HIEROGLYPH A442;Lo;0;L;;;;;N;;;;;
+145F0;ANATOLIAN HIEROGLYPH A443;Lo;0;L;;;;;N;;;;;
+145F1;ANATOLIAN HIEROGLYPH A444;Lo;0;L;;;;;N;;;;;
+145F2;ANATOLIAN HIEROGLYPH A445;Lo;0;L;;;;;N;;;;;
+145F3;ANATOLIAN HIEROGLYPH A446;Lo;0;L;;;;;N;;;;;
+145F4;ANATOLIAN HIEROGLYPH A447;Lo;0;L;;;;;N;;;;;
+145F5;ANATOLIAN HIEROGLYPH A448;Lo;0;L;;;;;N;;;;;
+145F6;ANATOLIAN HIEROGLYPH A449;Lo;0;L;;;;;N;;;;;
+145F7;ANATOLIAN HIEROGLYPH A450;Lo;0;L;;;;;N;;;;;
+145F8;ANATOLIAN HIEROGLYPH A450A;Lo;0;L;;;;;N;;;;;
+145F9;ANATOLIAN HIEROGLYPH A451;Lo;0;L;;;;;N;;;;;
+145FA;ANATOLIAN HIEROGLYPH A452;Lo;0;L;;;;;N;;;;;
+145FB;ANATOLIAN HIEROGLYPH A453;Lo;0;L;;;;;N;;;;;
+145FC;ANATOLIAN HIEROGLYPH A454;Lo;0;L;;;;;N;;;;;
+145FD;ANATOLIAN HIEROGLYPH A455;Lo;0;L;;;;;N;;;;;
+145FE;ANATOLIAN HIEROGLYPH A456;Lo;0;L;;;;;N;;;;;
+145FF;ANATOLIAN HIEROGLYPH A457;Lo;0;L;;;;;N;;;;;
+14600;ANATOLIAN HIEROGLYPH A457A;Lo;0;L;;;;;N;;;;;
+14601;ANATOLIAN HIEROGLYPH A458;Lo;0;L;;;;;N;;;;;
+14602;ANATOLIAN HIEROGLYPH A459;Lo;0;L;;;;;N;;;;;
+14603;ANATOLIAN HIEROGLYPH A460;Lo;0;L;;;;;N;;;;;
+14604;ANATOLIAN HIEROGLYPH A461;Lo;0;L;;;;;N;;;;;
+14605;ANATOLIAN HIEROGLYPH A462;Lo;0;L;;;;;N;;;;;
+14606;ANATOLIAN HIEROGLYPH A463;Lo;0;L;;;;;N;;;;;
+14607;ANATOLIAN HIEROGLYPH A464;Lo;0;L;;;;;N;;;;;
+14608;ANATOLIAN HIEROGLYPH A465;Lo;0;L;;;;;N;;;;;
+14609;ANATOLIAN HIEROGLYPH A466;Lo;0;L;;;;;N;;;;;
+1460A;ANATOLIAN HIEROGLYPH A467;Lo;0;L;;;;;N;;;;;
+1460B;ANATOLIAN HIEROGLYPH A468;Lo;0;L;;;;;N;;;;;
+1460C;ANATOLIAN HIEROGLYPH A469;Lo;0;L;;;;;N;;;;;
+1460D;ANATOLIAN HIEROGLYPH A470;Lo;0;L;;;;;N;;;;;
+1460E;ANATOLIAN HIEROGLYPH A471;Lo;0;L;;;;;N;;;;;
+1460F;ANATOLIAN HIEROGLYPH A472;Lo;0;L;;;;;N;;;;;
+14610;ANATOLIAN HIEROGLYPH A473;Lo;0;L;;;;;N;;;;;
+14611;ANATOLIAN HIEROGLYPH A474;Lo;0;L;;;;;N;;;;;
+14612;ANATOLIAN HIEROGLYPH A475;Lo;0;L;;;;;N;;;;;
+14613;ANATOLIAN HIEROGLYPH A476;Lo;0;L;;;;;N;;;;;
+14614;ANATOLIAN HIEROGLYPH A477;Lo;0;L;;;;;N;;;;;
+14615;ANATOLIAN HIEROGLYPH A478;Lo;0;L;;;;;N;;;;;
+14616;ANATOLIAN HIEROGLYPH A479;Lo;0;L;;;;;N;;;;;
+14617;ANATOLIAN HIEROGLYPH A480;Lo;0;L;;;;;N;;;;;
+14618;ANATOLIAN HIEROGLYPH A481;Lo;0;L;;;;;N;;;;;
+14619;ANATOLIAN HIEROGLYPH A482;Lo;0;L;;;;;N;;;;;
+1461A;ANATOLIAN HIEROGLYPH A483;Lo;0;L;;;;;N;;;;;
+1461B;ANATOLIAN HIEROGLYPH A484;Lo;0;L;;;;;N;;;;;
+1461C;ANATOLIAN HIEROGLYPH A485;Lo;0;L;;;;;N;;;;;
+1461D;ANATOLIAN HIEROGLYPH A486;Lo;0;L;;;;;N;;;;;
+1461E;ANATOLIAN HIEROGLYPH A487;Lo;0;L;;;;;N;;;;;
+1461F;ANATOLIAN HIEROGLYPH A488;Lo;0;L;;;;;N;;;;;
+14620;ANATOLIAN HIEROGLYPH A489;Lo;0;L;;;;;N;;;;;
+14621;ANATOLIAN HIEROGLYPH A490;Lo;0;L;;;;;N;;;;;
+14622;ANATOLIAN HIEROGLYPH A491;Lo;0;L;;;;;N;;;;;
+14623;ANATOLIAN HIEROGLYPH A492;Lo;0;L;;;;;N;;;;;
+14624;ANATOLIAN HIEROGLYPH A493;Lo;0;L;;;;;N;;;;;
+14625;ANATOLIAN HIEROGLYPH A494;Lo;0;L;;;;;N;;;;;
+14626;ANATOLIAN HIEROGLYPH A495;Lo;0;L;;;;;N;;;;;
+14627;ANATOLIAN HIEROGLYPH A496;Lo;0;L;;;;;N;;;;;
+14628;ANATOLIAN HIEROGLYPH A497;Lo;0;L;;;;;N;;;;;
+14629;ANATOLIAN HIEROGLYPH A501;Lo;0;L;;;;;N;;;;;
+1462A;ANATOLIAN HIEROGLYPH A502;Lo;0;L;;;;;N;;;;;
+1462B;ANATOLIAN HIEROGLYPH A503;Lo;0;L;;;;;N;;;;;
+1462C;ANATOLIAN HIEROGLYPH A504;Lo;0;L;;;;;N;;;;;
+1462D;ANATOLIAN HIEROGLYPH A505;Lo;0;L;;;;;N;;;;;
+1462E;ANATOLIAN HIEROGLYPH A506;Lo;0;L;;;;;N;;;;;
+1462F;ANATOLIAN HIEROGLYPH A507;Lo;0;L;;;;;N;;;;;
+14630;ANATOLIAN HIEROGLYPH A508;Lo;0;L;;;;;N;;;;;
+14631;ANATOLIAN HIEROGLYPH A509;Lo;0;L;;;;;N;;;;;
+14632;ANATOLIAN HIEROGLYPH A510;Lo;0;L;;;;;N;;;;;
+14633;ANATOLIAN HIEROGLYPH A511;Lo;0;L;;;;;N;;;;;
+14634;ANATOLIAN HIEROGLYPH A512;Lo;0;L;;;;;N;;;;;
+14635;ANATOLIAN HIEROGLYPH A513;Lo;0;L;;;;;N;;;;;
+14636;ANATOLIAN HIEROGLYPH A514;Lo;0;L;;;;;N;;;;;
+14637;ANATOLIAN HIEROGLYPH A515;Lo;0;L;;;;;N;;;;;
+14638;ANATOLIAN HIEROGLYPH A516;Lo;0;L;;;;;N;;;;;
+14639;ANATOLIAN HIEROGLYPH A517;Lo;0;L;;;;;N;;;;;
+1463A;ANATOLIAN HIEROGLYPH A518;Lo;0;L;;;;;N;;;;;
+1463B;ANATOLIAN HIEROGLYPH A519;Lo;0;L;;;;;N;;;;;
+1463C;ANATOLIAN HIEROGLYPH A520;Lo;0;L;;;;;N;;;;;
+1463D;ANATOLIAN HIEROGLYPH A521;Lo;0;L;;;;;N;;;;;
+1463E;ANATOLIAN HIEROGLYPH A522;Lo;0;L;;;;;N;;;;;
+1463F;ANATOLIAN HIEROGLYPH A523;Lo;0;L;;;;;N;;;;;
+14640;ANATOLIAN HIEROGLYPH A524;Lo;0;L;;;;;N;;;;;
+14641;ANATOLIAN HIEROGLYPH A525;Lo;0;L;;;;;N;;;;;
+14642;ANATOLIAN HIEROGLYPH A526;Lo;0;L;;;;;N;;;;;
+14643;ANATOLIAN HIEROGLYPH A527;Lo;0;L;;;;;N;;;;;
+14644;ANATOLIAN HIEROGLYPH A528;Lo;0;L;;;;;N;;;;;
+14645;ANATOLIAN HIEROGLYPH A529;Lo;0;L;;;;;N;;;;;
+14646;ANATOLIAN HIEROGLYPH A530;Lo;0;L;;;;;N;;;;;
 16800;BAMUM LETTER PHASE-A NGKUE MFON;Lo;0;L;;;;;N;;;;;
 16801;BAMUM LETTER PHASE-A GBIEE FON;Lo;0;L;;;;;N;;;;;
 16802;BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE;Lo;0;L;;;;;N;;;;;
@@ -23080,6 +24300,17 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1D1DB;MUSICAL SYMBOL SCANDICUS FLEXUS;So;0;L;;;;;N;;;;;
 1D1DC;MUSICAL SYMBOL TORCULUS RESUPINUS;So;0;L;;;;;N;;;;;
 1D1DD;MUSICAL SYMBOL PES SUBPUNCTIS;So;0;L;;;;;N;;;;;
+1D1DE;MUSICAL SYMBOL KIEVAN C CLEF;So;0;L;;;;;N;;;;;
+1D1DF;MUSICAL SYMBOL KIEVAN END OF PIECE;So;0;L;;;;;N;;;;;
+1D1E0;MUSICAL SYMBOL KIEVAN FINAL NOTE;So;0;L;;;;;N;;;;;
+1D1E1;MUSICAL SYMBOL KIEVAN RECITATIVE MARK;So;0;L;;;;;N;;;;;
+1D1E2;MUSICAL SYMBOL KIEVAN WHOLE NOTE;So;0;L;;;;;N;;;;;
+1D1E3;MUSICAL SYMBOL KIEVAN HALF NOTE;So;0;L;;;;;N;;;;;
+1D1E4;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN;So;0;L;;;;;N;;;;;
+1D1E5;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP;So;0;L;;;;;N;;;;;
+1D1E6;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN;So;0;L;;;;;N;;;;;
+1D1E7;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP;So;0;L;;;;;N;;;;;
+1D1E8;MUSICAL SYMBOL KIEVAN FLAT SIGN;So;0;L;;;;;N;;;;;
 1D200;GREEK VOCAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;;
 1D201;GREEK VOCAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;;
 1D202;GREEK VOCAL NOTATION SYMBOL-3;So;0;ON;;;;;N;;;;;
@@ -24251,6 +25482,678 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
 1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
 1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
+1D800;SIGNWRITING HAND-FIST INDEX;So;0;L;;;;;N;;;;;
+1D801;SIGNWRITING HAND-CIRCLE INDEX;So;0;L;;;;;N;;;;;
+1D802;SIGNWRITING HAND-CUP INDEX;So;0;L;;;;;N;;;;;
+1D803;SIGNWRITING HAND-OVAL INDEX;So;0;L;;;;;N;;;;;
+1D804;SIGNWRITING HAND-HINGE INDEX;So;0;L;;;;;N;;;;;
+1D805;SIGNWRITING HAND-ANGLE INDEX;So;0;L;;;;;N;;;;;
+1D806;SIGNWRITING HAND-FIST INDEX BENT;So;0;L;;;;;N;;;;;
+1D807;SIGNWRITING HAND-CIRCLE INDEX BENT;So;0;L;;;;;N;;;;;
+1D808;SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT;So;0;L;;;;;N;;;;;
+1D809;SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE;So;0;L;;;;;N;;;;;
+1D80A;SIGNWRITING HAND-FIST INDEX CUPPED;So;0;L;;;;;N;;;;;
+1D80B;SIGNWRITING HAND-FIST INDEX HINGED;So;0;L;;;;;N;;;;;
+1D80C;SIGNWRITING HAND-FIST INDEX HINGED LOW;So;0;L;;;;;N;;;;;
+1D80D;SIGNWRITING HAND-CIRCLE INDEX HINGE;So;0;L;;;;;N;;;;;
+1D80E;SIGNWRITING HAND-FIST INDEX MIDDLE;So;0;L;;;;;N;;;;;
+1D80F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE;So;0;L;;;;;N;;;;;
+1D810;SIGNWRITING HAND-FIST INDEX MIDDLE BENT;So;0;L;;;;;N;;;;;
+1D811;SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;;
+1D812;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED;So;0;L;;;;;N;;;;;
+1D813;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED;So;0;L;;;;;N;;;;;
+1D814;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP;So;0;L;;;;;N;;;;;
+1D815;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED;So;0;L;;;;;N;;;;;
+1D816;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT;So;0;L;;;;;N;;;;;
+1D817;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT;So;0;L;;;;;N;;;;;
+1D818;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED;So;0;L;;;;;N;;;;;
+1D819;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED;So;0;L;;;;;N;;;;;
+1D81A;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;;
+1D81B;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;;
+1D81C;SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX;So;0;L;;;;;N;;;;;
+1D81D;SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE;So;0;L;;;;;N;;;;;
+1D81E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;;
+1D81F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;;
+1D820;SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT;So;0;L;;;;;N;;;;;
+1D821;SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT;So;0;L;;;;;N;;;;;
+1D822;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT;So;0;L;;;;;N;;;;;
+1D823;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE;So;0;L;;;;;N;;;;;
+1D824;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D825;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED;So;0;L;;;;;N;;;;;
+1D826;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;;
+1D827;SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D828;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED;So;0;L;;;;;N;;;;;
+1D829;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED;So;0;L;;;;;N;;;;;
+1D82A;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED;So;0;L;;;;;N;;;;;
+1D82B;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED;So;0;L;;;;;N;;;;;
+1D82C;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT;So;0;L;;;;;N;;;;;
+1D82D;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D82E;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;;
+1D82F;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT;So;0;L;;;;;N;;;;;
+1D830;SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP;So;0;L;;;;;N;;;;;
+1D831;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP;So;0;L;;;;;N;;;;;
+1D832;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D833;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D834;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D835;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D836;SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP;So;0;L;;;;;N;;;;;
+1D837;SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP;So;0;L;;;;;N;;;;;
+1D838;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP;So;0;L;;;;;N;;;;;
+1D839;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED;So;0;L;;;;;N;;;;;
+1D83A;SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP;So;0;L;;;;;N;;;;;
+1D83B;SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP;So;0;L;;;;;N;;;;;
+1D83C;SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP;So;0;L;;;;;N;;;;;
+1D83D;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED;So;0;L;;;;;N;;;;;
+1D83E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT;So;0;L;;;;;N;;;;;
+1D83F;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED;So;0;L;;;;;N;;;;;
+1D840;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP;So;0;L;;;;;N;;;;;
+1D841;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED;So;0;L;;;;;N;;;;;
+1D842;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP;So;0;L;;;;;N;;;;;
+1D843;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED;So;0;L;;;;;N;;;;;
+1D844;SIGNWRITING HAND-FLAT FOUR FINGERS;So;0;L;;;;;N;;;;;
+1D845;SIGNWRITING HAND-FLAT FOUR FINGERS BENT;So;0;L;;;;;N;;;;;
+1D846;SIGNWRITING HAND-FLAT FOUR FINGERS HINGED;So;0;L;;;;;N;;;;;
+1D847;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;;
+1D848;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT;So;0;L;;;;;N;;;;;
+1D849;SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;;
+1D84A;SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT;So;0;L;;;;;N;;;;;
+1D84B;SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;;
+1D84C;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;;
+1D84D;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;;
+1D84E;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;;
+1D84F;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;;
+1D850;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;;
+1D851;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;;
+1D852;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D853;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;;
+1D854;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;;
+1D855;SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;;
+1D856;SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;;
+1D857;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED;So;0;L;;;;;N;;;;;
+1D858;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D859;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB;So;0;L;;;;;N;;;;;
+1D85A;SIGNWRITING HAND-FLAT;So;0;L;;;;;N;;;;;
+1D85B;SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS;So;0;L;;;;;N;;;;;
+1D85C;SIGNWRITING HAND-FLAT HEEL;So;0;L;;;;;N;;;;;
+1D85D;SIGNWRITING HAND-FLAT THUMB SIDE;So;0;L;;;;;N;;;;;
+1D85E;SIGNWRITING HAND-FLAT HEEL THUMB SIDE;So;0;L;;;;;N;;;;;
+1D85F;SIGNWRITING HAND-FLAT THUMB BENT;So;0;L;;;;;N;;;;;
+1D860;SIGNWRITING HAND-FLAT THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D861;SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE;So;0;L;;;;;N;;;;;
+1D862;SIGNWRITING HAND-FLAT SPLIT CENTRE;So;0;L;;;;;N;;;;;
+1D863;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE;So;0;L;;;;;N;;;;;
+1D864;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT;So;0;L;;;;;N;;;;;
+1D865;SIGNWRITING HAND-FLAT SPLIT LITTLE;So;0;L;;;;;N;;;;;
+1D866;SIGNWRITING HAND-CLAW;So;0;L;;;;;N;;;;;
+1D867;SIGNWRITING HAND-CLAW THUMB SIDE;So;0;L;;;;;N;;;;;
+1D868;SIGNWRITING HAND-CLAW NO THUMB;So;0;L;;;;;N;;;;;
+1D869;SIGNWRITING HAND-CLAW THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D86A;SIGNWRITING HAND-HOOK CURLICUE;So;0;L;;;;;N;;;;;
+1D86B;SIGNWRITING HAND-HOOK;So;0;L;;;;;N;;;;;
+1D86C;SIGNWRITING HAND-CUP OPEN;So;0;L;;;;;N;;;;;
+1D86D;SIGNWRITING HAND-CUP;So;0;L;;;;;N;;;;;
+1D86E;SIGNWRITING HAND-CUP OPEN THUMB SIDE;So;0;L;;;;;N;;;;;
+1D86F;SIGNWRITING HAND-CUP THUMB SIDE;So;0;L;;;;;N;;;;;
+1D870;SIGNWRITING HAND-CUP OPEN NO THUMB;So;0;L;;;;;N;;;;;
+1D871;SIGNWRITING HAND-CUP NO THUMB;So;0;L;;;;;N;;;;;
+1D872;SIGNWRITING HAND-CUP OPEN THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D873;SIGNWRITING HAND-CUP THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D874;SIGNWRITING HAND-CURLICUE OPEN;So;0;L;;;;;N;;;;;
+1D875;SIGNWRITING HAND-CURLICUE;So;0;L;;;;;N;;;;;
+1D876;SIGNWRITING HAND-CIRCLE;So;0;L;;;;;N;;;;;
+1D877;SIGNWRITING HAND-OVAL;So;0;L;;;;;N;;;;;
+1D878;SIGNWRITING HAND-OVAL THUMB SIDE;So;0;L;;;;;N;;;;;
+1D879;SIGNWRITING HAND-OVAL NO THUMB;So;0;L;;;;;N;;;;;
+1D87A;SIGNWRITING HAND-OVAL THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D87B;SIGNWRITING HAND-HINGE OPEN;So;0;L;;;;;N;;;;;
+1D87C;SIGNWRITING HAND-HINGE OPEN THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D87D;SIGNWRITING HAND-HINGE;So;0;L;;;;;N;;;;;
+1D87E;SIGNWRITING HAND-HINGE SMALL;So;0;L;;;;;N;;;;;
+1D87F;SIGNWRITING HAND-HINGE OPEN THUMB SIDE;So;0;L;;;;;N;;;;;
+1D880;SIGNWRITING HAND-HINGE THUMB SIDE;So;0;L;;;;;N;;;;;
+1D881;SIGNWRITING HAND-HINGE OPEN NO THUMB;So;0;L;;;;;N;;;;;
+1D882;SIGNWRITING HAND-HINGE NO THUMB;So;0;L;;;;;N;;;;;
+1D883;SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX;So;0;L;;;;;N;;;;;
+1D884;SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;;
+1D885;SIGNWRITING HAND-ANGLE;So;0;L;;;;;N;;;;;
+1D886;SIGNWRITING HAND-FIST INDEX MIDDLE RING;So;0;L;;;;;N;;;;;
+1D887;SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;;
+1D888;SIGNWRITING HAND-HINGE INDEX MIDDLE RING;So;0;L;;;;;N;;;;;
+1D889;SIGNWRITING HAND-ANGLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;;
+1D88A;SIGNWRITING HAND-HINGE LITTLE;So;0;L;;;;;N;;;;;
+1D88B;SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT;So;0;L;;;;;N;;;;;
+1D88C;SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;;
+1D88D;SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;;
+1D88E;SIGNWRITING HAND-FIST LITTLE DOWN;So;0;L;;;;;N;;;;;
+1D88F;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT;So;0;L;;;;;N;;;;;
+1D890;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED;So;0;L;;;;;N;;;;;
+1D891;SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED;So;0;L;;;;;N;;;;;
+1D892;SIGNWRITING HAND-FIST LITTLE UP;So;0;L;;;;;N;;;;;
+1D893;SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP;So;0;L;;;;;N;;;;;
+1D894;SIGNWRITING HAND-CIRCLE LITTLE UP;So;0;L;;;;;N;;;;;
+1D895;SIGNWRITING HAND-OVAL LITTLE UP;So;0;L;;;;;N;;;;;
+1D896;SIGNWRITING HAND-ANGLE LITTLE UP;So;0;L;;;;;N;;;;;
+1D897;SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE;So;0;L;;;;;N;;;;;
+1D898;SIGNWRITING HAND-FIST LITTLE BENT;So;0;L;;;;;N;;;;;
+1D899;SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB;So;0;L;;;;;N;;;;;
+1D89A;SIGNWRITING HAND-FIST LITTLE THUMB;So;0;L;;;;;N;;;;;
+1D89B;SIGNWRITING HAND-HINGE LITTLE THUMB;So;0;L;;;;;N;;;;;
+1D89C;SIGNWRITING HAND-FIST LITTLE INDEX THUMB;So;0;L;;;;;N;;;;;
+1D89D;SIGNWRITING HAND-HINGE LITTLE INDEX THUMB;So;0;L;;;;;N;;;;;
+1D89E;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT;So;0;L;;;;;N;;;;;
+1D89F;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB;So;0;L;;;;;N;;;;;
+1D8A0;SIGNWRITING HAND-FIST LITTLE INDEX;So;0;L;;;;;N;;;;;
+1D8A1;SIGNWRITING HAND-CIRCLE LITTLE INDEX;So;0;L;;;;;N;;;;;
+1D8A2;SIGNWRITING HAND-HINGE LITTLE INDEX;So;0;L;;;;;N;;;;;
+1D8A3;SIGNWRITING HAND-ANGLE LITTLE INDEX;So;0;L;;;;;N;;;;;
+1D8A4;SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8A5;SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8A6;SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8A7;SIGNWRITING HAND-HINGE RING;So;0;L;;;;;N;;;;;
+1D8A8;SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8A9;SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;;
+1D8AA;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;;
+1D8AB;SIGNWRITING HAND-FIST RING DOWN;So;0;L;;;;;N;;;;;
+1D8AC;SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE;So;0;L;;;;;N;;;;;
+1D8AD;SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS;So;0;L;;;;;N;;;;;
+1D8AE;SIGNWRITING HAND-FIST RING UP;So;0;L;;;;;N;;;;;
+1D8AF;SIGNWRITING HAND-FIST RING RAISED KNUCKLE;So;0;L;;;;;N;;;;;
+1D8B0;SIGNWRITING HAND-FIST RING LITTLE;So;0;L;;;;;N;;;;;
+1D8B1;SIGNWRITING HAND-CIRCLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8B2;SIGNWRITING HAND-OVAL RING LITTLE;So;0;L;;;;;N;;;;;
+1D8B3;SIGNWRITING HAND-ANGLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8B4;SIGNWRITING HAND-FIST RING MIDDLE;So;0;L;;;;;N;;;;;
+1D8B5;SIGNWRITING HAND-FIST RING MIDDLE CONJOINED;So;0;L;;;;;N;;;;;
+1D8B6;SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;;
+1D8B7;SIGNWRITING HAND-FIST RING INDEX;So;0;L;;;;;N;;;;;
+1D8B8;SIGNWRITING HAND-FIST RING THUMB;So;0;L;;;;;N;;;;;
+1D8B9;SIGNWRITING HAND-HOOK RING THUMB;So;0;L;;;;;N;;;;;
+1D8BA;SIGNWRITING HAND-FIST INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8BB;SIGNWRITING HAND-CIRCLE INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8BC;SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON;So;0;L;;;;;N;;;;;
+1D8BD;SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;;
+1D8BE;SIGNWRITING HAND-HOOK INDEX RING LITTLE IN;So;0;L;;;;;N;;;;;
+1D8BF;SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER;So;0;L;;;;;N;;;;;
+1D8C0;SIGNWRITING HAND-CUP INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8C1;SIGNWRITING HAND-HINGE INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8C2;SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;;
+1D8C3;SIGNWRITING HAND-ANGLE INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8C4;SIGNWRITING HAND-FIST MIDDLE DOWN;So;0;L;;;;;N;;;;;
+1D8C5;SIGNWRITING HAND-HINGE MIDDLE;So;0;L;;;;;N;;;;;
+1D8C6;SIGNWRITING HAND-FIST MIDDLE UP;So;0;L;;;;;N;;;;;
+1D8C7;SIGNWRITING HAND-CIRCLE MIDDLE UP;So;0;L;;;;;N;;;;;
+1D8C8;SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE;So;0;L;;;;;N;;;;;
+1D8C9;SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;;
+1D8CA;SIGNWRITING HAND-HOOK MIDDLE THUMB;So;0;L;;;;;N;;;;;
+1D8CB;SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE;So;0;L;;;;;N;;;;;
+1D8CC;SIGNWRITING HAND-FIST MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8CD;SIGNWRITING HAND-FIST MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8CE;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8CF;SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON;So;0;L;;;;;N;;;;;
+1D8D0;SIGNWRITING HAND-CUP MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8D1;SIGNWRITING HAND-HINGE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8D2;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT;So;0;L;;;;;N;;;;;
+1D8D3;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN;So;0;L;;;;;N;;;;;
+1D8D4;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8D5;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT;So;0;L;;;;;N;;;;;
+1D8D6;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;;
+1D8D7;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE;So;0;L;;;;;N;;;;;
+1D8D8;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT;So;0;L;;;;;N;;;;;
+1D8D9;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN;So;0;L;;;;;N;;;;;
+1D8DA;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;;
+1D8DB;SIGNWRITING HAND-HINGE INDEX HINGED;So;0;L;;;;;N;;;;;
+1D8DC;SIGNWRITING HAND-FIST INDEX THUMB SIDE;So;0;L;;;;;N;;;;;
+1D8DD;SIGNWRITING HAND-HINGE INDEX THUMB SIDE;So;0;L;;;;;N;;;;;
+1D8DE;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL;So;0;L;;;;;N;;;;;
+1D8DF;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED;So;0;L;;;;;N;;;;;
+1D8E0;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT;So;0;L;;;;;N;;;;;
+1D8E1;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT;So;0;L;;;;;N;;;;;
+1D8E2;SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT;So;0;L;;;;;N;;;;;
+1D8E3;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE;So;0;L;;;;;N;;;;;
+1D8E4;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT;So;0;L;;;;;N;;;;;
+1D8E5;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT;So;0;L;;;;;N;;;;;
+1D8E6;SIGNWRITING HAND-FIST INDEX THUMB HOOK;So;0;L;;;;;N;;;;;
+1D8E7;SIGNWRITING HAND-FIST INDEX THUMB CURLICUE;So;0;L;;;;;N;;;;;
+1D8E8;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;;
+1D8E9;SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;;
+1D8EA;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER;So;0;L;;;;;N;;;;;
+1D8EB;SIGNWRITING HAND-FIST INDEX THUMB CIRCLE;So;0;L;;;;;N;;;;;
+1D8EC;SIGNWRITING HAND-CUP INDEX THUMB;So;0;L;;;;;N;;;;;
+1D8ED;SIGNWRITING HAND-CUP INDEX THUMB OPEN;So;0;L;;;;;N;;;;;
+1D8EE;SIGNWRITING HAND-HINGE INDEX THUMB OPEN;So;0;L;;;;;N;;;;;
+1D8EF;SIGNWRITING HAND-HINGE INDEX THUMB LARGE;So;0;L;;;;;N;;;;;
+1D8F0;SIGNWRITING HAND-HINGE INDEX THUMB;So;0;L;;;;;N;;;;;
+1D8F1;SIGNWRITING HAND-HINGE INDEX THUMB SMALL;So;0;L;;;;;N;;;;;
+1D8F2;SIGNWRITING HAND-ANGLE INDEX THUMB OUT;So;0;L;;;;;N;;;;;
+1D8F3;SIGNWRITING HAND-ANGLE INDEX THUMB IN;So;0;L;;;;;N;;;;;
+1D8F4;SIGNWRITING HAND-ANGLE INDEX THUMB;So;0;L;;;;;N;;;;;
+1D8F5;SIGNWRITING HAND-FIST THUMB;So;0;L;;;;;N;;;;;
+1D8F6;SIGNWRITING HAND-FIST THUMB HEEL;So;0;L;;;;;N;;;;;
+1D8F7;SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL;So;0;L;;;;;N;;;;;
+1D8F8;SIGNWRITING HAND-FIST THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;;
+1D8F9;SIGNWRITING HAND-FIST THUMB SIDE BENT;So;0;L;;;;;N;;;;;
+1D8FA;SIGNWRITING HAND-FIST THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D8FB;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE;So;0;L;;;;;N;;;;;
+1D8FC;SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;;
+1D8FD;SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE;So;0;L;;;;;N;;;;;
+1D8FE;SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS;So;0;L;;;;;N;;;;;
+1D8FF;SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS;So;0;L;;;;;N;;;;;
+1D900;SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS;So;0;L;;;;;N;;;;;
+1D901;SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS;So;0;L;;;;;N;;;;;
+1D902;SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES;So;0;L;;;;;N;;;;;
+1D903;SIGNWRITING HAND-FIST;So;0;L;;;;;N;;;;;
+1D904;SIGNWRITING HAND-FIST HEEL;So;0;L;;;;;N;;;;;
+1D905;SIGNWRITING TOUCH SINGLE;So;0;L;;;;;N;;;;;
+1D906;SIGNWRITING TOUCH MULTIPLE;So;0;L;;;;;N;;;;;
+1D907;SIGNWRITING TOUCH BETWEEN;So;0;L;;;;;N;;;;;
+1D908;SIGNWRITING GRASP SINGLE;So;0;L;;;;;N;;;;;
+1D909;SIGNWRITING GRASP MULTIPLE;So;0;L;;;;;N;;;;;
+1D90A;SIGNWRITING GRASP BETWEEN;So;0;L;;;;;N;;;;;
+1D90B;SIGNWRITING STRIKE SINGLE;So;0;L;;;;;N;;;;;
+1D90C;SIGNWRITING STRIKE MULTIPLE;So;0;L;;;;;N;;;;;
+1D90D;SIGNWRITING STRIKE BETWEEN;So;0;L;;;;;N;;;;;
+1D90E;SIGNWRITING BRUSH SINGLE;So;0;L;;;;;N;;;;;
+1D90F;SIGNWRITING BRUSH MULTIPLE;So;0;L;;;;;N;;;;;
+1D910;SIGNWRITING BRUSH BETWEEN;So;0;L;;;;;N;;;;;
+1D911;SIGNWRITING RUB SINGLE;So;0;L;;;;;N;;;;;
+1D912;SIGNWRITING RUB MULTIPLE;So;0;L;;;;;N;;;;;
+1D913;SIGNWRITING RUB BETWEEN;So;0;L;;;;;N;;;;;
+1D914;SIGNWRITING SURFACE SYMBOLS;So;0;L;;;;;N;;;;;
+1D915;SIGNWRITING SURFACE BETWEEN;So;0;L;;;;;N;;;;;
+1D916;SIGNWRITING SQUEEZE LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D917;SIGNWRITING SQUEEZE SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D918;SIGNWRITING SQUEEZE LARGE MULTIPLE;So;0;L;;;;;N;;;;;
+1D919;SIGNWRITING SQUEEZE SMALL MULTIPLE;So;0;L;;;;;N;;;;;
+1D91A;SIGNWRITING SQUEEZE SEQUENTIAL;So;0;L;;;;;N;;;;;
+1D91B;SIGNWRITING FLICK LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D91C;SIGNWRITING FLICK SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D91D;SIGNWRITING FLICK LARGE MULTIPLE;So;0;L;;;;;N;;;;;
+1D91E;SIGNWRITING FLICK SMALL MULTIPLE;So;0;L;;;;;N;;;;;
+1D91F;SIGNWRITING FLICK SEQUENTIAL;So;0;L;;;;;N;;;;;
+1D920;SIGNWRITING SQUEEZE FLICK ALTERNATING;So;0;L;;;;;N;;;;;
+1D921;SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE;So;0;L;;;;;N;;;;;
+1D922;SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL;So;0;L;;;;;N;;;;;
+1D923;SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL;So;0;L;;;;;N;;;;;
+1D924;SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL;So;0;L;;;;;N;;;;;
+1D925;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE;So;0;L;;;;;N;;;;;
+1D926;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL;So;0;L;;;;;N;;;;;
+1D927;SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS;So;0;L;;;;;N;;;;;
+1D928;SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT;So;0;L;;;;;N;;;;;
+1D929;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT;So;0;L;;;;;N;;;;;
+1D92A;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;;
+1D92B;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;;
+1D92C;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;;
+1D92D;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;;
+1D92E;SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D92F;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;;
+1D930;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D931;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;;
+1D932;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;;
+1D933;SIGNWRITING MOVEMENT-WALLPLANE CROSS;So;0;L;;;;;N;;;;;
+1D934;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;;
+1D935;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D936;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING;So;0;L;;;;;N;;;;;
+1D937;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;;
+1D938;SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL;So;0;L;;;;;N;;;;;
+1D939;SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM;So;0;L;;;;;N;;;;;
+1D93A;SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE;So;0;L;;;;;N;;;;;
+1D93B;SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL;So;0;L;;;;;N;;;;;
+1D93C;SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;;
+1D93D;SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE;So;0;L;;;;;N;;;;;
+1D93E;SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION;So;0;L;;;;;N;;;;;
+1D93F;SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL;So;0;L;;;;;N;;;;;
+1D940;SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM;So;0;L;;;;;N;;;;;
+1D941;SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE;So;0;L;;;;;N;;;;;
+1D942;SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL;So;0;L;;;;;N;;;;;
+1D943;SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM;So;0;L;;;;;N;;;;;
+1D944;SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE;So;0;L;;;;;N;;;;;
+1D945;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;;
+1D946;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;;
+1D947;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;;
+1D948;SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL;So;0;L;;;;;N;;;;;
+1D949;SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;;
+1D94A;SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE;So;0;L;;;;;N;;;;;
+1D94B;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D94C;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D94D;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D94E;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D94F;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D950;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D951;SIGNWRITING TRAVEL-WALLPLANE SHAKING;So;0;L;;;;;N;;;;;
+1D952;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE;So;0;L;;;;;N;;;;;
+1D953;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE;So;0;L;;;;;N;;;;;
+1D954;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE;So;0;L;;;;;N;;;;;
+1D955;SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL;So;0;L;;;;;N;;;;;
+1D956;SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM;So;0;L;;;;;N;;;;;
+1D957;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE;So;0;L;;;;;N;;;;;
+1D958;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST;So;0;L;;;;;N;;;;;
+1D959;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL;So;0;L;;;;;N;;;;;
+1D95A;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM;So;0;L;;;;;N;;;;;
+1D95B;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE;So;0;L;;;;;N;;;;;
+1D95C;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST;So;0;L;;;;;N;;;;;
+1D95D;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL;So;0;L;;;;;N;;;;;
+1D95E;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM;So;0;L;;;;;N;;;;;
+1D95F;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE;So;0;L;;;;;N;;;;;
+1D960;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST;So;0;L;;;;;N;;;;;
+1D961;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL;So;0;L;;;;;N;;;;;
+1D962;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM;So;0;L;;;;;N;;;;;
+1D963;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE;So;0;L;;;;;N;;;;;
+1D964;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST;So;0;L;;;;;N;;;;;
+1D965;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;;
+1D966;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;;
+1D967;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;;
+1D968;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;;
+1D969;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D96A;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;;
+1D96B;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D96C;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;;
+1D96D;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;;
+1D96E;SIGNWRITING MOVEMENT-FLOORPLANE CROSS;So;0;L;;;;;N;;;;;
+1D96F;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;;
+1D970;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D971;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT;So;0;L;;;;;N;;;;;
+1D972;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;;
+1D973;SIGNWRITING MOVEMENT-FLOORPLANE BEND;So;0;L;;;;;N;;;;;
+1D974;SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL;So;0;L;;;;;N;;;;;
+1D975;SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;;
+1D976;SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE;So;0;L;;;;;N;;;;;
+1D977;SIGNWRITING MOVEMENT-FLOORPLANE CHECK;So;0;L;;;;;N;;;;;
+1D978;SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL;So;0;L;;;;;N;;;;;
+1D979;SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM;So;0;L;;;;;N;;;;;
+1D97A;SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE;So;0;L;;;;;N;;;;;
+1D97B;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;;
+1D97C;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;;
+1D97D;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;;
+1D97E;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL;So;0;L;;;;;N;;;;;
+1D97F;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;;
+1D980;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE;So;0;L;;;;;N;;;;;
+1D981;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D982;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D983;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D984;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D985;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D986;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D987;SIGNWRITING TRAVEL-FLOORPLANE SHAKING;So;0;L;;;;;N;;;;;
+1D988;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL;So;0;L;;;;;N;;;;;
+1D989;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM;So;0;L;;;;;N;;;;;
+1D98A;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE;So;0;L;;;;;N;;;;;
+1D98B;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST;So;0;L;;;;;N;;;;;
+1D98C;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL;So;0;L;;;;;N;;;;;
+1D98D;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM;So;0;L;;;;;N;;;;;
+1D98E;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE;So;0;L;;;;;N;;;;;
+1D98F;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST;So;0;L;;;;;N;;;;;
+1D990;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL;So;0;L;;;;;N;;;;;
+1D991;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM;So;0;L;;;;;N;;;;;
+1D992;SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL;So;0;L;;;;;N;;;;;
+1D993;SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM;So;0;L;;;;;N;;;;;
+1D994;SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE;So;0;L;;;;;N;;;;;
+1D995;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL;So;0;L;;;;;N;;;;;
+1D996;SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM;So;0;L;;;;;N;;;;;
+1D997;SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE;So;0;L;;;;;N;;;;;
+1D998;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D999;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL;So;0;L;;;;;N;;;;;
+1D99A;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM;So;0;L;;;;;N;;;;;
+1D99B;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE;So;0;L;;;;;N;;;;;
+1D99C;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL;So;0;L;;;;;N;;;;;
+1D99D;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM;So;0;L;;;;;N;;;;;
+1D99E;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE;So;0;L;;;;;N;;;;;
+1D99F;SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT;So;0;L;;;;;N;;;;;
+1D9A0;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL;So;0;L;;;;;N;;;;;
+1D9A1;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM;So;0;L;;;;;N;;;;;
+1D9A2;SIGNWRITING ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D9A3;SIGNWRITING ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D9A4;SIGNWRITING ROTATION-WALLPLANE ALTERNATE;So;0;L;;;;;N;;;;;
+1D9A5;SIGNWRITING MOVEMENT-WALLPLANE SHAKING;So;0;L;;;;;N;;;;;
+1D9A6;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9A7;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9A8;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9A9;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9AA;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9AB;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9AC;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9AD;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9AE;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9AF;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B0;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B1;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B2;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B3;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B4;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL;So;0;L;;;;;N;;;;;
+1D9B5;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM;So;0;L;;;;;N;;;;;
+1D9B6;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE;So;0;L;;;;;N;;;;;
+1D9B7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;;
+1D9B8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;;
+1D9B9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9BA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9BB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE;So;0;L;;;;;N;;;;;
+1D9BC;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE;So;0;L;;;;;N;;;;;
+1D9BD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D9BE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D9BF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9C0;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9C1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;;
+1D9C2;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;;
+1D9C3;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING;So;0;L;;;;;N;;;;;
+1D9C4;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING;So;0;L;;;;;N;;;;;
+1D9C5;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING;So;0;L;;;;;N;;;;;
+1D9C6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;;
+1D9C7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;;
+1D9C8;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9C9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9CA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE;So;0;L;;;;;N;;;;;
+1D9CB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE;So;0;L;;;;;N;;;;;
+1D9CC;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D9CD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D9CE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9CF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9D0;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;;
+1D9D1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;;
+1D9D2;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR;So;0;L;;;;;N;;;;;
+1D9D3;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR;So;0;L;;;;;N;;;;;
+1D9D4;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR;So;0;L;;;;;N;;;;;
+1D9D5;SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL;So;0;L;;;;;N;;;;;
+1D9D6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM;So;0;L;;;;;N;;;;;
+1D9D7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE;So;0;L;;;;;N;;;;;
+1D9D8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST;So;0;L;;;;;N;;;;;
+1D9D9;SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED;So;0;L;;;;;N;;;;;
+1D9DA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL;So;0;L;;;;;N;;;;;
+1D9DB;SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL;So;0;L;;;;;N;;;;;
+1D9DC;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE;So;0;L;;;;;N;;;;;
+1D9DD;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL;So;0;L;;;;;N;;;;;
+1D9DE;SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE;So;0;L;;;;;N;;;;;
+1D9DF;SIGNWRITING ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D9E0;SIGNWRITING ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D9E1;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D9E2;SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL;So;0;L;;;;;N;;;;;
+1D9E3;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D9E4;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE;So;0;L;;;;;N;;;;;
+1D9E5;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9E6;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE;So;0;L;;;;;N;;;;;
+1D9E7;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D9E8;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE;So;0;L;;;;;N;;;;;
+1D9E9;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D9EA;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9EB;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE;So;0;L;;;;;N;;;;;
+1D9EC;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9ED;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE;So;0;L;;;;;N;;;;;
+1D9EE;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE;So;0;L;;;;;N;;;;;
+1D9EF;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE;So;0;L;;;;;N;;;;;
+1D9F0;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9F1;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE;So;0;L;;;;;N;;;;;
+1D9F2;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE;So;0;L;;;;;N;;;;;
+1D9F3;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE;So;0;L;;;;;N;;;;;
+1D9F4;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9F5;SIGNWRITING DYNAMIC ARROWHEAD SMALL;So;0;L;;;;;N;;;;;
+1D9F6;SIGNWRITING DYNAMIC ARROWHEAD LARGE;So;0;L;;;;;N;;;;;
+1D9F7;SIGNWRITING DYNAMIC FAST;So;0;L;;;;;N;;;;;
+1D9F8;SIGNWRITING DYNAMIC SLOW;So;0;L;;;;;N;;;;;
+1D9F9;SIGNWRITING DYNAMIC TENSE;So;0;L;;;;;N;;;;;
+1D9FA;SIGNWRITING DYNAMIC RELAXED;So;0;L;;;;;N;;;;;
+1D9FB;SIGNWRITING DYNAMIC SIMULTANEOUS;So;0;L;;;;;N;;;;;
+1D9FC;SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING;So;0;L;;;;;N;;;;;
+1D9FD;SIGNWRITING DYNAMIC EVERY OTHER TIME;So;0;L;;;;;N;;;;;
+1D9FE;SIGNWRITING DYNAMIC GRADUAL;So;0;L;;;;;N;;;;;
+1D9FF;SIGNWRITING HEAD;So;0;L;;;;;N;;;;;
+1DA00;SIGNWRITING HEAD RIM;Mn;0;NSM;;;;;N;;;;;
+1DA01;SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;;
+1DA02;SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT;Mn;0;NSM;;;;;N;;;;;
+1DA03;SIGNWRITING HEAD MOVEMENT-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;;
+1DA04;SIGNWRITING HEAD MOVEMENT-WALLPLANE CURVE;Mn;0;NSM;;;;;N;;;;;
+1DA05;SIGNWRITING HEAD MOVEMENT-FLOORPLANE CURVE;Mn;0;NSM;;;;;N;;;;;
+1DA06;SIGNWRITING HEAD MOVEMENT CIRCLE;Mn;0;NSM;;;;;N;;;;;
+1DA07;SIGNWRITING FACE DIRECTION POSITION NOSE FORWARD TILTING;Mn;0;NSM;;;;;N;;;;;
+1DA08;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN;Mn;0;NSM;;;;;N;;;;;
+1DA09;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN TILTING;Mn;0;NSM;;;;;N;;;;;
+1DA0A;SIGNWRITING EYEBROWS STRAIGHT UP;Mn;0;NSM;;;;;N;;;;;
+1DA0B;SIGNWRITING EYEBROWS STRAIGHT NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA0C;SIGNWRITING EYEBROWS STRAIGHT DOWN;Mn;0;NSM;;;;;N;;;;;
+1DA0D;SIGNWRITING DREAMY EYEBROWS NEUTRAL DOWN;Mn;0;NSM;;;;;N;;;;;
+1DA0E;SIGNWRITING DREAMY EYEBROWS DOWN NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA0F;SIGNWRITING DREAMY EYEBROWS UP NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA10;SIGNWRITING DREAMY EYEBROWS NEUTRAL UP;Mn;0;NSM;;;;;N;;;;;
+1DA11;SIGNWRITING FOREHEAD NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA12;SIGNWRITING FOREHEAD CONTACT;Mn;0;NSM;;;;;N;;;;;
+1DA13;SIGNWRITING FOREHEAD WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA14;SIGNWRITING EYES OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA15;SIGNWRITING EYES SQUEEZED;Mn;0;NSM;;;;;N;;;;;
+1DA16;SIGNWRITING EYES CLOSED;Mn;0;NSM;;;;;N;;;;;
+1DA17;SIGNWRITING EYE BLINK SINGLE;Mn;0;NSM;;;;;N;;;;;
+1DA18;SIGNWRITING EYE BLINK MULTIPLE;Mn;0;NSM;;;;;N;;;;;
+1DA19;SIGNWRITING EYES HALF OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA1A;SIGNWRITING EYES WIDE OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA1B;SIGNWRITING EYES HALF CLOSED;Mn;0;NSM;;;;;N;;;;;
+1DA1C;SIGNWRITING EYES WIDENING MOVEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA1D;SIGNWRITING EYE WINK;Mn;0;NSM;;;;;N;;;;;
+1DA1E;SIGNWRITING EYELASHES UP;Mn;0;NSM;;;;;N;;;;;
+1DA1F;SIGNWRITING EYELASHES DOWN;Mn;0;NSM;;;;;N;;;;;
+1DA20;SIGNWRITING EYELASHES FLUTTERING;Mn;0;NSM;;;;;N;;;;;
+1DA21;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;;
+1DA22;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;;
+1DA23;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;;
+1DA24;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;;
+1DA25;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;;
+1DA26;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;;
+1DA27;SIGNWRITING EYEGAZE-WALLPLANE CURVED;Mn;0;NSM;;;;;N;;;;;
+1DA28;SIGNWRITING EYEGAZE-FLOORPLANE CURVED;Mn;0;NSM;;;;;N;;;;;
+1DA29;SIGNWRITING EYEGAZE-WALLPLANE CIRCLING;Mn;0;NSM;;;;;N;;;;;
+1DA2A;SIGNWRITING CHEEKS PUFFED;Mn;0;NSM;;;;;N;;;;;
+1DA2B;SIGNWRITING CHEEKS NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA2C;SIGNWRITING CHEEKS SUCKED;Mn;0;NSM;;;;;N;;;;;
+1DA2D;SIGNWRITING TENSE CHEEKS HIGH;Mn;0;NSM;;;;;N;;;;;
+1DA2E;SIGNWRITING TENSE CHEEKS MIDDLE;Mn;0;NSM;;;;;N;;;;;
+1DA2F;SIGNWRITING TENSE CHEEKS LOW;Mn;0;NSM;;;;;N;;;;;
+1DA30;SIGNWRITING EARS;Mn;0;NSM;;;;;N;;;;;
+1DA31;SIGNWRITING NOSE NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA32;SIGNWRITING NOSE CONTACT;Mn;0;NSM;;;;;N;;;;;
+1DA33;SIGNWRITING NOSE WRINKLES;Mn;0;NSM;;;;;N;;;;;
+1DA34;SIGNWRITING NOSE WIGGLES;Mn;0;NSM;;;;;N;;;;;
+1DA35;SIGNWRITING AIR BLOWING OUT;Mn;0;NSM;;;;;N;;;;;
+1DA36;SIGNWRITING AIR SUCKING IN;Mn;0;NSM;;;;;N;;;;;
+1DA37;SIGNWRITING AIR BLOW SMALL ROTATIONS;So;0;L;;;;;N;;;;;
+1DA38;SIGNWRITING AIR SUCK SMALL ROTATIONS;So;0;L;;;;;N;;;;;
+1DA39;SIGNWRITING BREATH INHALE;So;0;L;;;;;N;;;;;
+1DA3A;SIGNWRITING BREATH EXHALE;So;0;L;;;;;N;;;;;
+1DA3B;SIGNWRITING MOUTH CLOSED NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA3C;SIGNWRITING MOUTH CLOSED FORWARD;Mn;0;NSM;;;;;N;;;;;
+1DA3D;SIGNWRITING MOUTH CLOSED CONTACT;Mn;0;NSM;;;;;N;;;;;
+1DA3E;SIGNWRITING MOUTH SMILE;Mn;0;NSM;;;;;N;;;;;
+1DA3F;SIGNWRITING MOUTH SMILE WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA40;SIGNWRITING MOUTH SMILE OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA41;SIGNWRITING MOUTH FROWN;Mn;0;NSM;;;;;N;;;;;
+1DA42;SIGNWRITING MOUTH FROWN WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA43;SIGNWRITING MOUTH FROWN OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA44;SIGNWRITING MOUTH OPEN CIRCLE;Mn;0;NSM;;;;;N;;;;;
+1DA45;SIGNWRITING MOUTH OPEN FORWARD;Mn;0;NSM;;;;;N;;;;;
+1DA46;SIGNWRITING MOUTH OPEN WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA47;SIGNWRITING MOUTH OPEN OVAL;Mn;0;NSM;;;;;N;;;;;
+1DA48;SIGNWRITING MOUTH OPEN OVAL WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA49;SIGNWRITING MOUTH OPEN OVAL YAWN;Mn;0;NSM;;;;;N;;;;;
+1DA4A;SIGNWRITING MOUTH OPEN RECTANGLE;Mn;0;NSM;;;;;N;;;;;
+1DA4B;SIGNWRITING MOUTH OPEN RECTANGLE WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA4C;SIGNWRITING MOUTH OPEN RECTANGLE YAWN;Mn;0;NSM;;;;;N;;;;;
+1DA4D;SIGNWRITING MOUTH KISS;Mn;0;NSM;;;;;N;;;;;
+1DA4E;SIGNWRITING MOUTH KISS FORWARD;Mn;0;NSM;;;;;N;;;;;
+1DA4F;SIGNWRITING MOUTH KISS WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA50;SIGNWRITING MOUTH TENSE;Mn;0;NSM;;;;;N;;;;;
+1DA51;SIGNWRITING MOUTH TENSE FORWARD;Mn;0;NSM;;;;;N;;;;;
+1DA52;SIGNWRITING MOUTH TENSE SUCKED;Mn;0;NSM;;;;;N;;;;;
+1DA53;SIGNWRITING LIPS PRESSED TOGETHER;Mn;0;NSM;;;;;N;;;;;
+1DA54;SIGNWRITING LIP LOWER OVER UPPER;Mn;0;NSM;;;;;N;;;;;
+1DA55;SIGNWRITING LIP UPPER OVER LOWER;Mn;0;NSM;;;;;N;;;;;
+1DA56;SIGNWRITING MOUTH CORNERS;Mn;0;NSM;;;;;N;;;;;
+1DA57;SIGNWRITING MOUTH WRINKLES SINGLE;Mn;0;NSM;;;;;N;;;;;
+1DA58;SIGNWRITING MOUTH WRINKLES DOUBLE;Mn;0;NSM;;;;;N;;;;;
+1DA59;SIGNWRITING TONGUE STICKING OUT FAR;Mn;0;NSM;;;;;N;;;;;
+1DA5A;SIGNWRITING TONGUE LICKING LIPS;Mn;0;NSM;;;;;N;;;;;
+1DA5B;SIGNWRITING TONGUE TIP BETWEEN LIPS;Mn;0;NSM;;;;;N;;;;;
+1DA5C;SIGNWRITING TONGUE TIP TOUCHING INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;;
+1DA5D;SIGNWRITING TONGUE INSIDE MOUTH RELAXED;Mn;0;NSM;;;;;N;;;;;
+1DA5E;SIGNWRITING TONGUE MOVES AGAINST CHEEK;Mn;0;NSM;;;;;N;;;;;
+1DA5F;SIGNWRITING TONGUE CENTRE STICKING OUT;Mn;0;NSM;;;;;N;;;;;
+1DA60;SIGNWRITING TONGUE CENTRE INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;;
+1DA61;SIGNWRITING TEETH;Mn;0;NSM;;;;;N;;;;;
+1DA62;SIGNWRITING TEETH MOVEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA63;SIGNWRITING TEETH ON TONGUE;Mn;0;NSM;;;;;N;;;;;
+1DA64;SIGNWRITING TEETH ON TONGUE MOVEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA65;SIGNWRITING TEETH ON LIPS;Mn;0;NSM;;;;;N;;;;;
+1DA66;SIGNWRITING TEETH ON LIPS MOVEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA67;SIGNWRITING TEETH BITE LIPS;Mn;0;NSM;;;;;N;;;;;
+1DA68;SIGNWRITING MOVEMENT-WALLPLANE JAW;Mn;0;NSM;;;;;N;;;;;
+1DA69;SIGNWRITING MOVEMENT-FLOORPLANE JAW;Mn;0;NSM;;;;;N;;;;;
+1DA6A;SIGNWRITING NECK;Mn;0;NSM;;;;;N;;;;;
+1DA6B;SIGNWRITING HAIR;Mn;0;NSM;;;;;N;;;;;
+1DA6C;SIGNWRITING EXCITEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA6D;SIGNWRITING SHOULDER HIP SPINE;So;0;L;;;;;N;;;;;
+1DA6E;SIGNWRITING SHOULDER HIP POSITIONS;So;0;L;;;;;N;;;;;
+1DA6F;SIGNWRITING WALLPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;;
+1DA70;SIGNWRITING FLOORPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;;
+1DA71;SIGNWRITING SHOULDER TILTING FROM WAIST;So;0;L;;;;;N;;;;;
+1DA72;SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH;So;0;L;;;;;N;;;;;
+1DA73;SIGNWRITING TORSO-WALLPLANE CURVED BEND;So;0;L;;;;;N;;;;;
+1DA74;SIGNWRITING TORSO-FLOORPLANE TWISTING;So;0;L;;;;;N;;;;;
+1DA75;SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS;Mn;0;NSM;;;;;N;;;;;
+1DA76;SIGNWRITING LIMB COMBINATION;So;0;L;;;;;N;;;;;
+1DA77;SIGNWRITING LIMB LENGTH-1;So;0;L;;;;;N;;;;;
+1DA78;SIGNWRITING LIMB LENGTH-2;So;0;L;;;;;N;;;;;
+1DA79;SIGNWRITING LIMB LENGTH-3;So;0;L;;;;;N;;;;;
+1DA7A;SIGNWRITING LIMB LENGTH-4;So;0;L;;;;;N;;;;;
+1DA7B;SIGNWRITING LIMB LENGTH-5;So;0;L;;;;;N;;;;;
+1DA7C;SIGNWRITING LIMB LENGTH-6;So;0;L;;;;;N;;;;;
+1DA7D;SIGNWRITING LIMB LENGTH-7;So;0;L;;;;;N;;;;;
+1DA7E;SIGNWRITING FINGER;So;0;L;;;;;N;;;;;
+1DA7F;SIGNWRITING LOCATION-WALLPLANE SPACE;So;0;L;;;;;N;;;;;
+1DA80;SIGNWRITING LOCATION-FLOORPLANE SPACE;So;0;L;;;;;N;;;;;
+1DA81;SIGNWRITING LOCATION HEIGHT;So;0;L;;;;;N;;;;;
+1DA82;SIGNWRITING LOCATION WIDTH;So;0;L;;;;;N;;;;;
+1DA83;SIGNWRITING LOCATION DEPTH;So;0;L;;;;;N;;;;;
+1DA84;SIGNWRITING LOCATION HEAD NECK;Mn;0;NSM;;;;;N;;;;;
+1DA85;SIGNWRITING LOCATION TORSO;So;0;L;;;;;N;;;;;
+1DA86;SIGNWRITING LOCATION LIMBS DIGITS;So;0;L;;;;;N;;;;;
+1DA87;SIGNWRITING COMMA;Po;0;L;;;;;N;;;;;
+1DA88;SIGNWRITING FULL STOP;Po;0;L;;;;;N;;;;;
+1DA89;SIGNWRITING SEMICOLON;Po;0;L;;;;;N;;;;;
+1DA8A;SIGNWRITING COLON;Po;0;L;;;;;N;;;;;
+1DA8B;SIGNWRITING PARENTHESIS;Po;0;L;;;;;N;;;;;
+1DA9B;SIGNWRITING FILL MODIFIER-2;Mn;0;NSM;;;;;N;;;;;
+1DA9C;SIGNWRITING FILL MODIFIER-3;Mn;0;NSM;;;;;N;;;;;
+1DA9D;SIGNWRITING FILL MODIFIER-4;Mn;0;NSM;;;;;N;;;;;
+1DA9E;SIGNWRITING FILL MODIFIER-5;Mn;0;NSM;;;;;N;;;;;
+1DA9F;SIGNWRITING FILL MODIFIER-6;Mn;0;NSM;;;;;N;;;;;
+1DAA1;SIGNWRITING ROTATION MODIFIER-2;Mn;0;NSM;;;;;N;;;;;
+1DAA2;SIGNWRITING ROTATION MODIFIER-3;Mn;0;NSM;;;;;N;;;;;
+1DAA3;SIGNWRITING ROTATION MODIFIER-4;Mn;0;NSM;;;;;N;;;;;
+1DAA4;SIGNWRITING ROTATION MODIFIER-5;Mn;0;NSM;;;;;N;;;;;
+1DAA5;SIGNWRITING ROTATION MODIFIER-6;Mn;0;NSM;;;;;N;;;;;
+1DAA6;SIGNWRITING ROTATION MODIFIER-7;Mn;0;NSM;;;;;N;;;;;
+1DAA7;SIGNWRITING ROTATION MODIFIER-8;Mn;0;NSM;;;;;N;;;;;
+1DAA8;SIGNWRITING ROTATION MODIFIER-9;Mn;0;NSM;;;;;N;;;;;
+1DAA9;SIGNWRITING ROTATION MODIFIER-10;Mn;0;NSM;;;;;N;;;;;
+1DAAA;SIGNWRITING ROTATION MODIFIER-11;Mn;0;NSM;;;;;N;;;;;
+1DAAB;SIGNWRITING ROTATION MODIFIER-12;Mn;0;NSM;;;;;N;;;;;
+1DAAC;SIGNWRITING ROTATION MODIFIER-13;Mn;0;NSM;;;;;N;;;;;
+1DAAD;SIGNWRITING ROTATION MODIFIER-14;Mn;0;NSM;;;;;N;;;;;
+1DAAE;SIGNWRITING ROTATION MODIFIER-15;Mn;0;NSM;;;;;N;;;;;
+1DAAF;SIGNWRITING ROTATION MODIFIER-16;Mn;0;NSM;;;;;N;;;;;
 1E800;MENDE KIKAKUI SYLLABLE M001 KI;Lo;0;R;;;;;N;;;;;
 1E801;MENDE KIKAKUI SYLLABLE M002 KA;Lo;0;R;;;;;N;;;;;
 1E802;MENDE KIKAKUI SYLLABLE M003 KU;Lo;0;R;;;;;N;;;;;
@@ -25108,6 +27011,9 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F32A;CLOUD WITH TORNADO;So;0;ON;;;;;N;;;;;
 1F32B;FOG;So;0;ON;;;;;N;;;;;
 1F32C;WIND BLOWING FACE;So;0;ON;;;;;N;;;;;
+1F32D;HOT DOG;So;0;ON;;;;;N;;;;;
+1F32E;TACO;So;0;ON;;;;;N;;;;;
+1F32F;BURRITO;So;0;ON;;;;;N;;;;;
 1F330;CHESTNUT;So;0;ON;;;;;N;;;;;
 1F331;SEEDLING;So;0;ON;;;;;N;;;;;
 1F332;EVERGREEN TREE;So;0;ON;;;;;N;;;;;
@@ -25186,6 +27092,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F37B;CLINKING BEER MUGS;So;0;ON;;;;;N;;;;;
 1F37C;BABY BOTTLE;So;0;ON;;;;;N;;;;;
 1F37D;FORK AND KNIFE WITH PLATE;So;0;ON;;;;;N;;;;;
+1F37E;BOTTLE WITH POPPING CORK;So;0;ON;;;;;N;;;;;
+1F37F;POPCORN;So;0;ON;;;;;N;;;;;
 1F380;RIBBON;So;0;ON;;;;;N;;;;;
 1F381;WRAPPED PRESENT;So;0;ON;;;;;N;;;;;
 1F382;BIRTHDAY CAKE;So;0;ON;;;;;N;;;;;
@@ -25265,6 +27173,11 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F3CC;GOLFER;So;0;ON;;;;;N;;;;;
 1F3CD;RACING MOTORCYCLE;So;0;ON;;;;;N;;;;;
 1F3CE;RACING CAR;So;0;ON;;;;;N;;;;;
+1F3CF;CRICKET BAT AND BALL;So;0;ON;;;;;N;;;;;
+1F3D0;VOLLEYBALL;So;0;ON;;;;;N;;;;;
+1F3D1;FIELD HOCKEY STICK AND BALL;So;0;ON;;;;;N;;;;;
+1F3D2;ICE HOCKEY STICK AND PUCK;So;0;ON;;;;;N;;;;;
+1F3D3;TABLE TENNIS PADDLE AND BALL;So;0;ON;;;;;N;;;;;
 1F3D4;SNOW CAPPED MOUNTAIN;So;0;ON;;;;;N;;;;;
 1F3D5;CAMPING;So;0;ON;;;;;N;;;;;
 1F3D6;BEACH WITH UMBRELLA;So;0;ON;;;;;N;;;;;
@@ -25301,6 +27214,14 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F3F5;ROSETTE;So;0;ON;;;;;N;;;;;
 1F3F6;BLACK ROSETTE;So;0;ON;;;;;N;;;;;
 1F3F7;LABEL;So;0;ON;;;;;N;;;;;
+1F3F8;BADMINTON RACQUET AND SHUTTLECOCK;So;0;ON;;;;;N;;;;;
+1F3F9;BOW AND ARROW;So;0;ON;;;;;N;;;;;
+1F3FA;AMPHORA;So;0;ON;;;;;N;;;;;
+1F3FB;EMOJI MODIFIER FITZPATRICK TYPE-1-2;Sk;0;ON;;;;;N;;;;;
+1F3FC;EMOJI MODIFIER FITZPATRICK TYPE-3;Sk;0;ON;;;;;N;;;;;
+1F3FD;EMOJI MODIFIER FITZPATRICK TYPE-4;Sk;0;ON;;;;;N;;;;;
+1F3FE;EMOJI MODIFIER FITZPATRICK TYPE-5;Sk;0;ON;;;;;N;;;;;
+1F3FF;EMOJI MODIFIER FITZPATRICK TYPE-6;Sk;0;ON;;;;;N;;;;;
 1F400;RAT;So;0;ON;;;;;N;;;;;
 1F401;MOUSE;So;0;ON;;;;;N;;;;;
 1F402;OX;So;0;ON;;;;;N;;;;;
@@ -25556,6 +27477,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F4FC;VIDEOCASSETTE;So;0;ON;;;;;N;;;;;
 1F4FD;FILM PROJECTOR;So;0;ON;;;;;N;;;;;
 1F4FE;PORTABLE STEREO;So;0;ON;;;;;N;;;;;
+1F4FF;PRAYER BEADS;So;0;ON;;;;;N;;;;;
 1F500;TWISTED RIGHTWARDS ARROWS;So;0;ON;;;;;N;;;;;
 1F501;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;;
 1F502;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY;So;0;ON;;;;;N;;;;;
@@ -25631,6 +27553,11 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F548;CELTIC CROSS;So;0;ON;;;;;N;;;;;
 1F549;OM SYMBOL;So;0;ON;;;;;N;;;;;
 1F54A;DOVE OF PEACE;So;0;ON;;;;;N;;;;;
+1F54B;KAABA;So;0;ON;;;;;N;;;;;
+1F54C;MOSQUE;So;0;ON;;;;;N;;;;;
+1F54D;SYNAGOGUE;So;0;ON;;;;;N;;;;;
+1F54E;MENORAH WITH NINE BRANCHES;So;0;ON;;;;;N;;;;;
+1F54F;BOWL OF HYGIEIA;So;0;ON;;;;;N;;;;;
 1F550;CLOCK FACE ONE OCLOCK;So;0;ON;;;;;N;;;;;
 1F551;CLOCK FACE TWO OCLOCK;So;0;ON;;;;;N;;;;;
 1F552;CLOCK FACE THREE OCLOCK;So;0;ON;;;;;N;;;;;
@@ -25872,6 +27799,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F640;WEARY CAT FACE;So;0;ON;;;;;N;;;;;
 1F641;SLIGHTLY FROWNING FACE;So;0;ON;;;;;N;;;;;
 1F642;SLIGHTLY SMILING FACE;So;0;ON;;;;;N;;;;;
+1F643;UPSIDE-DOWN FACE;So;0;ON;;;;;N;;;;;
+1F644;FACE WITH ROLLING EYES;So;0;ON;;;;;N;;;;;
 1F645;FACE WITH NO GOOD GESTURE;So;0;ON;;;;;N;;;;;
 1F646;FACE WITH OK GESTURE;So;0;ON;;;;;N;;;;;
 1F647;PERSON BOWING DEEPLY;So;0;ON;;;;;N;;;;;
@@ -26011,6 +27940,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F6CD;SHOPPING BAGS;So;0;ON;;;;;N;;;;;
 1F6CE;BELLHOP BELL;So;0;ON;;;;;N;;;;;
 1F6CF;BED;So;0;ON;;;;;N;;;;;
+1F6D0;PLACE OF WORSHIP;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;;;;;
@@ -26377,12 +28307,29 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 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;;;;;
+1F910;ZIPPER-MOUTH FACE;So;0;ON;;;;;N;;;;;
+1F911;MONEY-MOUTH FACE;So;0;ON;;;;;N;;;;;
+1F912;FACE WITH THERMOMETER;So;0;ON;;;;;N;;;;;
+1F913;NERD FACE;So;0;ON;;;;;N;;;;;
+1F914;THINKING FACE;So;0;ON;;;;;N;;;;;
+1F915;FACE WITH HEAD-BANDAGE;So;0;ON;;;;;N;;;;;
+1F916;ROBOT FACE;So;0;ON;;;;;N;;;;;
+1F917;HUGGING FACE;So;0;ON;;;;;N;;;;;
+1F918;SIGN OF THE HORNS;So;0;ON;;;;;N;;;;;
+1F980;CRAB;So;0;ON;;;;;N;;;;;
+1F981;LION FACE;So;0;ON;;;;;N;;;;;
+1F982;SCORPION;So;0;ON;;;;;N;;;;;
+1F983;TURKEY;So;0;ON;;;;;N;;;;;
+1F984;UNICORN FACE;So;0;ON;;;;;N;;;;;
+1F9C0;CHEESE WEDGE;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;;;;;
 2B734;<CJK Ideograph Extension C, Last>;Lo;0;L;;;;;N;;;;;
 2B740;<CJK Ideograph Extension D, First>;Lo;0;L;;;;;N;;;;;
 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;;;;;
 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;;;;;
index d39f2c7..a3ed239 100644 (file)
@@ -1,8 +1,8 @@
-# GraphemeBreakTest-7.0.0.txt
-# Date: 2013-11-27, 09:54:39 GMT [MD]
+# GraphemeBreakTest-8.0.0.txt
+# Date: 2015-02-13, 13:47:15 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
index 752ee79..fba2ee8 100644 (file)
@@ -1,8 +1,8 @@
-# GraphemeBreakProperty-7.0.0.txt
-# Date: 2014-02-19, 15:51:21 GMT [MD]
+# GraphemeBreakProperty-8.0.0.txt
+# Date: 2015-02-13, 13:47:14 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -89,7 +89,7 @@ E01F0..E0FFF  ; Control # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
 0825..0827    ; Extend # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; Extend # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; Extend # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
-08E4..0902    ; Extend # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08E3..0902    ; Extend # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 093A          ; Extend # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; Extend # Mn       DEVANAGARI SIGN NUKTA
 0941..0948    ; Extend # Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
@@ -250,7 +250,7 @@ E01F0..E0FFF  ; Control # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
 A66F          ; Extend # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Extend # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A674..A67D    ; Extend # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
-A69F          ; Extend # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; Extend # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; Extend # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A802          ; Extend # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; Extend # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -283,7 +283,7 @@ ABE8          ; Extend # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; Extend # Mn       MEETEI MAYEK APUN IYEK
 FB1E          ; Extend # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 FE00..FE0F    ; Extend # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; Extend # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; Extend # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
 101FD         ; Extend # Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
 102E0         ; Extend # Mn       COPTIC EPACT THOUSANDS MARK
@@ -305,12 +305,13 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 11173         ; Extend # Mn       MAHAJANI SIGN NUKTA
 11180..11181  ; Extend # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
 111B6..111BE  ; Extend # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111CA..111CC  ; Extend # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 1122F..11231  ; Extend # Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11234         ; Extend # Mn       KHOJKI SIGN ANUSVARA
 11236..11237  ; Extend # Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
 112DF         ; Extend # Mn       KHUDAWADI SIGN ANUSVARA
 112E3..112EA  ; Extend # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
-11301         ; Extend # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Extend # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 1133C         ; Extend # Mn       GRANTHA SIGN NUKTA
 1133E         ; Extend # Mc       GRANTHA VOWEL SIGN AA
 11340         ; Extend # Mn       GRANTHA VOWEL SIGN II
@@ -327,6 +328,7 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 115B2..115B5  ; Extend # Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
 115BC..115BD  ; Extend # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BF..115C0  ; Extend # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; Extend # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11633..1163A  ; Extend # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163D         ; Extend # Mn       MODI SIGN ANUSVARA
 1163F..11640  ; Extend # Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
@@ -334,6 +336,9 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 116AD         ; Extend # Mn       TAKRI VOWEL SIGN AA
 116B0..116B5  ; Extend # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116B7         ; Extend # Mn       TAKRI SIGN NUKTA
+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
 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
@@ -345,10 +350,16 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 1D185..1D18B  ; Extend # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; Extend # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; Extend # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1DA00..1DA36  ; Extend # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; Extend # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; Extend # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; Extend # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; Extend # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; Extend # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E8D0..1E8D6  ; Extend # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1461
+# Total code points: 1610
 
 # ================================================
 
@@ -412,8 +423,6 @@ E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 1929..192B    ; SpacingMark # Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
 1930..1931    ; SpacingMark # Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
 1933..1938    ; SpacingMark # Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-19B5..19B7    ; SpacingMark # Mc   [3] NEW TAI LUE VOWEL SIGN E..NEW TAI LUE VOWEL SIGN O
-19BA          ; SpacingMark # Mc       NEW TAI LUE VOWEL SIGN AY
 1A19..1A1A    ; SpacingMark # Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
 1A55          ; SpacingMark # Mc       TAI THAM CONSONANT SIGN MEDIAL RA
 1A57          ; SpacingMark # Mc       TAI THAM CONSONANT SIGN LA TANG LAI
@@ -487,11 +496,13 @@ ABEC          ; SpacingMark # Mc       MEETEI MAYEK LUM IYEK
 116AC         ; SpacingMark # Mc       TAKRI SIGN VISARGA
 116AE..116AF  ; SpacingMark # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
 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
 16F51..16F7E  ; SpacingMark # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 1D166         ; SpacingMark # Mc       MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D16D         ; SpacingMark # Mc       MUSICAL SYMBOL COMBINING AUGMENTATION DOT
 
-# Total code points: 331
+# Total code points: 330
 
 # ================================================
 
index 638b22a..279e6db 100644 (file)
@@ -1,8 +1,8 @@
-# SentenceBreakTest-7.0.0.txt
-# Date: 2013-11-27, 09:54:53 GMT [MD]
+# SentenceBreakTest-8.0.0.txt
+# Date: 2015-04-30, 09:40:15 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
 ÷ 0055 × 002E × 0053 × 002E × 0041 × 0300 × 002E ÷     #  ÷ [0.2] LATIN CAPITAL LETTER U (Upper) × [12.0] FULL STOP (ATerm) × [7.0] LATIN CAPITAL LETTER S (Upper) × [12.0] FULL STOP (ATerm) × [7.0] LATIN CAPITAL LETTER A (Upper) × [5.0] COMBINING GRAVE ACCENT (Extend_FE) × [12.0] FULL STOP (ATerm) ÷ [0.3]
 ÷ 0033 × 002E × 0034 ÷     #  ÷ [0.2] DIGIT THREE (Numeric) × [12.0] FULL STOP (ATerm) × [6.0] DIGIT FOUR (Numeric) ÷ [0.3]
 ÷ 0063 × 002E × 0064 ÷     #  ÷ [0.2] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [8.0] LATIN SMALL LETTER D (Lower) ÷ [0.3]
+÷ 0043 × 002E × 0064 ÷     #  ÷ [0.2] LATIN CAPITAL LETTER C (Upper) × [12.0] FULL STOP (ATerm) × [8.0] LATIN SMALL LETTER D (Lower) ÷ [0.3]
+÷ 0063 × 002E × 0044 ÷     #  ÷ [0.2] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [7.0] LATIN CAPITAL LETTER D (Upper) ÷ [0.3]
+÷ 0043 × 002E × 0044 ÷     #  ÷ [0.2] LATIN CAPITAL LETTER C (Upper) × [12.0] FULL STOP (ATerm) × [7.0] LATIN CAPITAL LETTER D (Upper) ÷ [0.3]
 ÷ 0065 × 0074 × 0063 × 002E × 0029 × 2019 × 00A0 × 0074 × 0068 × 0065 ÷     #  ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [8.0] RIGHT PARENTHESIS (Close) × [8.0] RIGHT SINGLE QUOTATION MARK (Close) × [8.0] NO-BREAK SPACE (Sp) × [8.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER H (Lower) × [12.0] LATIN SMALL LETTER E (Lower) ÷ [0.3]
 ÷ 0065 × 0074 × 0063 × 002E × 0029 × 2019 × 00A0 ÷ 0054 × 0068 × 0065 ÷     #  ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [9.0] RIGHT PARENTHESIS (Close) × [9.0] RIGHT SINGLE QUOTATION MARK (Close) × [9.0] NO-BREAK SPACE (Sp) ÷ [11.0] LATIN CAPITAL LETTER T (Upper) × [12.0] LATIN SMALL LETTER H (Lower) × [12.0] LATIN SMALL LETTER E (Lower) ÷ [0.3]
 ÷ 0065 × 0074 × 0063 × 002E × 0029 × 2019 × 00A0 × 2018 × 0028 × 0074 × 0068 × 0065 ÷     #  ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [8.0] RIGHT PARENTHESIS (Close) × [8.0] RIGHT SINGLE QUOTATION MARK (Close) × [8.0] NO-BREAK SPACE (Sp) × [8.0] LEFT SINGLE QUOTATION MARK (Close) × [12.0] LEFT PARENTHESIS (Close) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER H (Lower) × [12.0] LATIN SMALL LETTER E (Lower) ÷ [0.3]
 ÷ 0065 × 0074 × 0063 × 002E ÷ 5B83 ÷     #  ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) ÷ [11.0] CJK UNIFIED IDEOGRAPH-5B83 (OLetter) ÷ [0.3]
 ÷ 0065 × 0074 × 0063 × 002E × 3002 ÷     #  ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [8.1] IDEOGRAPHIC FULL STOP (STerm) ÷ [0.3]
 ÷ 5B57 × 3002 ÷ 5B83 ÷     #  ÷ [0.2] CJK UNIFIED IDEOGRAPH-5B57 (OLetter) × [12.0] IDEOGRAPHIC FULL STOP (STerm) ÷ [11.0] CJK UNIFIED IDEOGRAPH-5B83 (OLetter) ÷ [0.3]
+÷ 0021 × 0020 × 0020 ÷     #  ÷ [0.2] EXCLAMATION MARK (STerm) × [9.0] SPACE (Sp) × [10.0] SPACE (Sp) ÷ [0.3]
 ÷ 2060 × 0028 × 2060 × 0022 × 2060 × 0047 × 2060 × 006F × 2060 × 002E × 2060 × 0022 × 2060 × 0029 × 2060 × 0020 × 2060 ÷ 0028 × 2060 × 0048 × 2060 × 0065 × 2060 × 0020 × 2060 × 0064 × 2060 × 0069 × 2060 × 0064 × 2060 × 002E × 2060 × 0029 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER G (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER O (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [9.0] QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER H (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER I (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0028 × 2060 × 201C × 2060 × 0047 × 2060 × 006F × 2060 × 003F × 2060 × 201D × 2060 × 0029 × 2060 × 0020 × 2060 ÷ 0028 × 2060 × 0048 × 2060 × 0065 × 2060 × 0020 × 2060 × 0064 × 2060 × 0069 × 2060 × 0064 × 2060 × 002E × 2060 × 0029 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LEFT DOUBLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER G (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER O (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] QUESTION MARK (STerm) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT DOUBLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER H (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER I (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0055 × 2060 × 002E × 2060 × 0053 × 2060 × 002E × 2060 × 0041 × 2060 × 0300 × 002E × 2060 × 0020 × 2060 × 0069 × 2060 × 0073 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER U (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER S (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER A (Upper) × [5.0] WORD JOINER (Format_FE) × [5.0] COMBINING GRAVE ACCENT (Extend_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [8.0] LATIN SMALL LETTER I (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER S (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0055 × 2060 × 002E × 2060 × 0053 × 2060 × 002E × 2060 × 0041 × 2060 × 0300 × 002E × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER U (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER S (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER A (Upper) × [5.0] WORD JOINER (Format_FE) × [5.0] COMBINING GRAVE ACCENT (Extend_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0033 × 2060 × 002E × 2060 × 0034 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] DIGIT THREE (Numeric) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [6.0] DIGIT FOUR (Numeric) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0063 × 2060 × 002E × 2060 × 0064 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2060 × 0043 × 2060 × 002E × 2060 × 0064 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER C (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2060 × 0063 × 2060 × 002E × 2060 × 0044 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER D (Upper) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2060 × 0043 × 2060 × 002E × 2060 × 0044 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER C (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER D (Upper) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 × 0029 × 2060 × 2019 × 2060 × 00A0 × 2060 × 0074 × 2060 × 0068 × 2060 × 0065 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [8.0] RIGHT SINGLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [8.0] NO-BREAK SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [8.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER H (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 × 0029 × 2060 × 2019 × 2060 × 00A0 × 2060 ÷ 0054 × 2060 × 0068 × 2060 × 0065 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT SINGLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] NO-BREAK SPACE (Sp) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] LATIN CAPITAL LETTER T (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER H (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 × 0029 × 2060 × 2019 × 2060 × 00A0 × 2060 × 2018 × 2060 × 0028 × 2060 × 0074 × 2060 × 0068 × 2060 × 0065 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [8.0] RIGHT SINGLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [8.0] NO-BREAK SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [8.0] LEFT SINGLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER H (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 ÷ 5B83 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] CJK UNIFIED IDEOGRAPH-5B83 (OLetter) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 × 3002 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.1] IDEOGRAPHIC FULL STOP (STerm) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 × 5B57 × 2060 × 3002 × 2060 ÷ 5B83 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] CJK UNIFIED IDEOGRAPH-5B57 (OLetter) × [5.0] WORD JOINER (Format_FE) × [12.0] IDEOGRAPHIC FULL STOP (STerm) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] CJK UNIFIED IDEOGRAPH-5B83 (OLetter) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2060 × 0021 × 2060 × 0020 × 2060 × 0020 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) × [12.0] EXCLAMATION MARK (STerm) × [5.0] WORD JOINER (Format_FE) × [9.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [10.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 1F1E6 × 1F1E7 × 1F1E8 ÷  #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Other) × [12.0] REGIONAL INDICATOR SYMBOL LETTER B (Other) × [12.0] REGIONAL INDICATOR SYMBOL LETTER C (Other) ÷ [0.3]
 ÷ 1F1E6 × 200D × 1F1E7 × 1F1E8 ÷  #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Other) × [5.0] ZERO WIDTH JOINER (Extend_FE) × [12.0] REGIONAL INDICATOR SYMBOL LETTER B (Other) × [12.0] REGIONAL INDICATOR SYMBOL LETTER C (Other) ÷ [0.3]
 ÷ 1F1E6 × 1F1E7 × 200D × 1F1E8 ÷  #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Other) × [12.0] REGIONAL INDICATOR SYMBOL LETTER B (Other) × [5.0] ZERO WIDTH JOINER (Extend_FE) × [12.0] REGIONAL INDICATOR SYMBOL LETTER C (Other) ÷ [0.3]
 ÷ 0020 × 200D × 0646 ÷     #  ÷ [0.2] SPACE (Sp) × [5.0] ZERO WIDTH JOINER (Extend_FE) × [12.0] ARABIC LETTER NOON (OLetter) ÷ [0.3]
 ÷ 0646 × 200D × 0020 ÷     #  ÷ [0.2] ARABIC LETTER NOON (OLetter) × [5.0] ZERO WIDTH JOINER (Extend_FE) × [12.0] SPACE (Sp) ÷ [0.3]
 #
-# Lines: 495
+# Lines: 503
 #
 # EOF
index 1975210..8dd1abf 100644 (file)
@@ -1,8 +1,8 @@
-# SentenceBreakProperty-7.0.0.txt
-# Date: 2014-02-19, 15:51:38 GMT [MD]
+# SentenceBreakProperty-8.0.0.txt
+# Date: 2015-03-11, 22:29:43 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -53,7 +53,7 @@
 0825..0827    ; Extend # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; Extend # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; Extend # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
-08E4..0902    ; Extend # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08E3..0902    ; Extend # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 0903          ; Extend # Mc       DEVANAGARI SIGN VISARGA
 093A          ; Extend # Mn       DEVANAGARI VOWEL SIGN OE
 093B          ; Extend # Mc       DEVANAGARI VOWEL SIGN OOE
 1932          ; Extend # Mn       LIMBU SMALL LETTER ANUSVARA
 1933..1938    ; Extend # Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
 1939..193B    ; Extend # Mn   [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-19B0..19C0    ; Extend # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9    ; Extend # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
 1A17..1A18    ; Extend # Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
 1A19..1A1A    ; Extend # Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
 1A1B          ; Extend # Mn       BUGINESE VOWEL SIGN AE
 A66F          ; Extend # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Extend # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A674..A67D    ; Extend # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
-A69F          ; Extend # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; Extend # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; Extend # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A802          ; Extend # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; Extend # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -345,7 +343,7 @@ ABEC          ; Extend # Mc       MEETEI MAYEK LUM IYEK
 ABED          ; Extend # Mn       MEETEI MAYEK APUN IYEK
 FB1E          ; Extend # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 FE00..FE0F    ; Extend # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; Extend # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; Extend # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
 101FD         ; Extend # Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
 102E0         ; Extend # Mn       COPTIC EPACT THOUSANDS MARK
@@ -376,6 +374,7 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 111B3..111B5  ; Extend # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
 111B6..111BE  ; Extend # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF..111C0  ; Extend # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
+111CA..111CC  ; Extend # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 1122C..1122E  ; Extend # Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
 1122F..11231  ; Extend # Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11232..11233  ; Extend # Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
@@ -385,7 +384,7 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 112DF         ; Extend # Mn       KHUDAWADI SIGN ANUSVARA
 112E0..112E2  ; Extend # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112EA  ; Extend # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
-11301         ; Extend # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Extend # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; Extend # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 1133C         ; Extend # Mn       GRANTHA SIGN NUKTA
 1133E..1133F  ; Extend # Mc   [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I
@@ -411,6 +410,7 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 115BC..115BD  ; Extend # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; Extend # Mc       SIDDHAM SIGN VISARGA
 115BF..115C0  ; Extend # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; Extend # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11630..11632  ; Extend # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; Extend # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163B..1163C  ; Extend # Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
@@ -424,6 +424,11 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 116B0..116B5  ; Extend # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116B6         ; Extend # Mc       TAKRI SIGN VIRAMA
 116B7         ; Extend # Mn       TAKRI SIGN NUKTA
+1171D..1171F  ; Extend # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; Extend # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+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
 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
@@ -436,10 +441,16 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 1D185..1D18B  ; Extend # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; Extend # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; Extend # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1DA00..1DA36  ; Extend # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; Extend # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; Extend # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; Extend # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; Extend # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; Extend # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E8D0..1E8D6  ; Extend # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1834
+# Total code points: 1967
 
 # ================================================
 
@@ -764,6 +775,7 @@ E0020..E007F  ; Format # Cf  [96] TAG SPACE..CANCEL TAG
 052D          ; Lower # L&       CYRILLIC SMALL LETTER DCHE
 052F          ; Lower # L&       CYRILLIC SMALL LETTER EL WITH DESCENDER
 0561..0587    ; Lower # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+13F8..13FD    ; Lower # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1D00..1D2B    ; Lower # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A    ; Lower # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D6B..1D77    ; Lower # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
@@ -1094,15 +1106,19 @@ A7A3          ; Lower # L&       LATIN SMALL LETTER K WITH OBLIQUE STROKE
 A7A5          ; Lower # L&       LATIN SMALL LETTER N WITH OBLIQUE STROKE
 A7A7          ; Lower # L&       LATIN SMALL LETTER R WITH OBLIQUE STROKE
 A7A9          ; Lower # L&       LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7B5          ; Lower # L&       LATIN SMALL LETTER BETA
+A7B7          ; Lower # L&       LATIN SMALL LETTER OMEGA
 A7F8..A7F9    ; Lower # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; Lower # L&       LATIN LETTER SMALL CAPITAL TURNED M
 AB30..AB5A    ; Lower # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5C..AB5F    ; Lower # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; Lower # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; Lower # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; Lower # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 FB00..FB06    ; Lower # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Lower # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FF41..FF5A    ; Lower # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10428..1044F  ; Lower # L&  [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
+10CC0..10CF2  ; Lower # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 118C0..118DF  ; Lower # L&  [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 1D41A..1D433  ; Lower # L&  [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z
 1D44E..1D454  ; Lower # L&   [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G
@@ -1133,7 +1149,7 @@ FF41..FF5A    ; Lower # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN
 1D7C4..1D7C9  ; Lower # L&   [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
 1D7CB         ; Lower # L&       MATHEMATICAL BOLD SMALL DIGAMMA
 
-# Total code points: 2029
+# Total code points: 2172
 
 # ================================================
 
@@ -1412,6 +1428,7 @@ FF41..FF5A    ; Lower # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN
 10A0..10C5    ; Upper # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
 10C7          ; Upper # L&       GEORGIAN CAPITAL LETTER YN
 10CD          ; Upper # L&       GEORGIAN CAPITAL LETTER AEN
+13A0..13F5    ; Upper # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
 1E00          ; Upper # L&       LATIN CAPITAL LETTER A WITH RING BELOW
 1E02          ; Upper # L&       LATIN CAPITAL LETTER B WITH DOT ABOVE
 1E04          ; Upper # L&       LATIN CAPITAL LETTER B WITH DOT BELOW
@@ -1729,9 +1746,11 @@ A7A4          ; Upper # L&       LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
 A7A6          ; Upper # L&       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8          ; Upper # L&       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
 A7AA..A7AD    ; Upper # L&   [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Upper # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B4    ; Upper # L&   [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA
+A7B6          ; Upper # L&       LATIN CAPITAL LETTER OMEGA
 FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Upper # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
+10C80..10CB2  ; Upper # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
 118A0..118BF  ; Upper # L&  [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO
 1D400..1D419  ; Upper # L&  [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
 1D434..1D44D  ; Upper # L&  [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z
@@ -1768,7 +1787,7 @@ FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT
 1F150..1F169  ; Upper # So  [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F189  ; Upper # So  [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
 
-# Total code points: 1641
+# Total code points: 1782
 
 # ================================================
 
@@ -1806,7 +1825,7 @@ FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT
 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
-08A0..08B2    ; OLetter # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+08A0..08B4    ; OLetter # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 0904..0939    ; OLetter # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093D          ; OLetter # Lo       DEVANAGARI SIGN AVAGRAHA
 0950          ; OLetter # Lo       DEVANAGARI OM
@@ -1843,6 +1862,7 @@ FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT
 0ABD          ; OLetter # Lo       GUJARATI SIGN AVAGRAHA
 0AD0          ; OLetter # Lo       GUJARATI OM
 0AE0..0AE1    ; OLetter # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
+0AF9          ; OLetter # Lo       GUJARATI LETTER ZHA
 0B05..0B0C    ; OLetter # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
 0B0F..0B10    ; OLetter # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
 0B13..0B28    ; OLetter # Lo  [22] ORIYA LETTER O..ORIYA LETTER NA
@@ -1869,7 +1889,7 @@ FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT
 0C12..0C28    ; OLetter # Lo  [23] TELUGU LETTER O..TELUGU LETTER NA
 0C2A..0C39    ; OLetter # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; OLetter # Lo       TELUGU SIGN AVAGRAHA
-0C58..0C59    ; OLetter # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; OLetter # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; OLetter # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C85..0C8C    ; OLetter # Lo   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
 0C8E..0C90    ; OLetter # Lo   [3] KANNADA LETTER E..KANNADA LETTER AI
@@ -1885,7 +1905,7 @@ FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT
 0D12..0D3A    ; OLetter # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
 0D3D          ; OLetter # Lo       MALAYALAM SIGN AVAGRAHA
 0D4E          ; OLetter # Lo       MALAYALAM LETTER DOT REPH
-0D60..0D61    ; OLetter # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; OLetter # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D7A..0D7F    ; OLetter # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
 0D85..0D96    ; OLetter # Lo  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
 0D9A..0DB1    ; OLetter # Lo  [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
@@ -1945,7 +1965,6 @@ FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT
 1312..1315    ; OLetter # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; OLetter # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
 1380..138F    ; OLetter # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4    ; OLetter # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
 1401..166C    ; OLetter # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166F..167F    ; OLetter # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
 1681..169A    ; OLetter # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
@@ -1971,7 +1990,7 @@ FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT
 1950..196D    ; OLetter # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; OLetter # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; OLetter # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19C1..19C7    ; OLetter # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
+19B0..19C9    ; OLetter # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 1A00..1A16    ; OLetter # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
 1A20..1A54    ; OLetter # Lo  [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
 1AA7          ; OLetter # Lm       TAI THAM SIGN MAI YAMOK
@@ -2021,7 +2040,7 @@ FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT
 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..9FCC    ; OLetter # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; OLetter # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -2037,6 +2056,7 @@ A6A0..A6E5    ; OLetter # Lo  [70] BAMUM LETTER A..BAMUM LETTER KI
 A6E6..A6EF    ; OLetter # Nl  [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
 A717..A71F    ; OLetter # Lm   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
 A788          ; OLetter # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A78F          ; OLetter # Lo       LATIN LETTER SINOLOGICAL DOT
 A7F7          ; OLetter # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7FB..A801    ; OLetter # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A803..A805    ; OLetter # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
@@ -2046,6 +2066,7 @@ A840..A873    ; OLetter # Lo  [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABIN
 A882..A8B3    ; OLetter # Lo  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
 A8F2..A8F7    ; OLetter # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8FB          ; OLetter # Lo       DEVANAGARI HEADSTROKE
+A8FD          ; OLetter # Lo       DEVANAGARI JAIN OM
 A90A..A925    ; OLetter # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A930..A946    ; OLetter # Lo  [23] REJANG LETTER KA..REJANG LETTER A
 A960..A97C    ; OLetter # Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
@@ -2140,6 +2161,8 @@ FFDA..FFDC    ; OLetter # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 1083F..10855  ; OLetter # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10860..10876  ; OLetter # Lo  [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW
 10880..1089E  ; OLetter # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
+108E0..108F2  ; OLetter # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; OLetter # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; OLetter # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; OLetter # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 10980..109B7  ; OLetter # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
@@ -2166,8 +2189,14 @@ FFDA..FFDC    ; OLetter # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 11183..111B2  ; OLetter # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
 111C1..111C4  ; OLetter # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
 111DA         ; OLetter # Lo       SHARADA EKAM
+111DC         ; OLetter # Lo       SHARADA HEADSTROKE
 11200..11211  ; OLetter # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; OLetter # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
+11280..11286  ; OLetter # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; OLetter # Lo       MULTANI LETTER GHA
+1128A..1128D  ; OLetter # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; OLetter # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; OLetter # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112B0..112DE  ; OLetter # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 11305..1130C  ; OLetter # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; OLetter # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -2176,19 +2205,24 @@ FFDA..FFDC    ; OLetter # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 11332..11333  ; OLetter # Lo   [2] GRANTHA LETTER LA..GRANTHA LETTER LLA
 11335..11339  ; OLetter # Lo   [5] GRANTHA LETTER VA..GRANTHA LETTER HA
 1133D         ; OLetter # Lo       GRANTHA SIGN AVAGRAHA
+11350         ; OLetter # Lo       GRANTHA OM
 1135D..11361  ; OLetter # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11480..114AF  ; OLetter # Lo  [48] TIRHUTA ANJI..TIRHUTA LETTER HA
 114C4..114C5  ; OLetter # Lo   [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG
 114C7         ; OLetter # Lo       TIRHUTA OM
 11580..115AE  ; OLetter # Lo  [47] SIDDHAM LETTER A..SIDDHAM LETTER HA
+115D8..115DB  ; OLetter # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
 11600..1162F  ; OLetter # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11644         ; OLetter # Lo       MODI SIGN HUVA
 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
 11AC0..11AF8  ; OLetter # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; OLetter # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
 13000..1342E  ; OLetter # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; OLetter # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; OLetter # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; OLetter # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16AD0..16AED  ; OLetter # Lo  [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I
@@ -2241,9 +2275,10 @@ FFDA..FFDC    ; OLetter # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 20000..2A6D6  ; OLetter # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 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
 2F800..2FA1D  ; OLetter # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 99420
+# Total code points: 106002
 
 # ================================================
 
@@ -2293,12 +2328,13 @@ ABF0..ABF9    ; Numeric # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT N
 114D0..114D9  ; Numeric # Nd  [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE
 11650..11659  ; Numeric # Nd  [10] MODI DIGIT ZERO..MODI DIGIT NINE
 116C0..116C9  ; Numeric # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11730..11739  ; Numeric # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; Numeric # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI 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
 
-# Total code points: 532
+# Total code points: 542
 
 # ================================================
 
@@ -2358,18 +2394,22 @@ FF61          ; STerm # Po       HALFWIDTH IDEOGRAPHIC FULL STOP
 11141..11143  ; STerm # Po   [3] CHAKMA DANDA..CHAKMA QUESTION MARK
 111C5..111C6  ; STerm # Po   [2] SHARADA DANDA..SHARADA DOUBLE DANDA
 111CD         ; STerm # Po       SHARADA SUTRA MARK
+111DE..111DF  ; STerm # Po   [2] SHARADA SECTION MARK-1..SHARADA SECTION MARK-2
 11238..11239  ; STerm # Po   [2] KHOJKI DANDA..KHOJKI DOUBLE DANDA
 1123B..1123C  ; STerm # Po   [2] KHOJKI SECTION MARK..KHOJKI DOUBLE SECTION MARK
+112A9         ; STerm # Po       MULTANI SECTION MARK
 115C2..115C3  ; STerm # Po   [2] SIDDHAM DANDA..SIDDHAM DOUBLE DANDA
-115C9         ; STerm # Po       SIDDHAM END OF TEXT MARK
+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
 16A6E..16A6F  ; STerm # Po   [2] MRO DANDA..MRO DOUBLE DANDA
 16AF5         ; STerm # Po       BASSA VAH FULL STOP
 16B37..16B38  ; STerm # Po   [2] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN VOS TSHAB CEEB
 16B44         ; STerm # Po       PAHAWH HMONG SIGN XAUS
 1BC9F         ; STerm # Po       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
+1DA88         ; STerm # Po       SIGNWRITING FULL STOP
 
-# Total code points: 96
+# Total code points: 117
 
 # ================================================
 
index 1f812f6..7e163f1 100644 (file)
@@ -1,8 +1,8 @@
-# WordBreakTest-7.0.0.txt
-# Date: 2013-11-27, 09:54:53 GMT [MD]
+# WordBreakTest-8.0.0.txt
+# Date: 2015-05-02, 14:48:55 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
 ÷ 0061 × 0062 × 00AD × 0062 × 0079 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [5.0] LATIN SMALL LETTER B (ALetter) × [4.0] SOFT HYPHEN (Format_FE) × [5.0] LATIN SMALL LETTER B (ALetter) × [5.0] LATIN SMALL LETTER Y (ALetter) ÷ [0.3]
 ÷ 0061 ÷ 0024 ÷ 002D ÷ 0033 × 0034 × 002C × 0035 × 0036 × 0037 × 002E × 0031 × 0034 ÷ 0025 ÷ 0062 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] DOLLAR SIGN (Other) ÷ [999.0] HYPHEN-MINUS (Other) ÷ [999.0] DIGIT THREE (Numeric) × [8.0] DIGIT FOUR (Numeric) × [12.0] COMMA (MidNum) × [11.0] DIGIT FIVE (Numeric) × [8.0] DIGIT SIX (Numeric) × [8.0] DIGIT SEVEN (Numeric) × [12.0] FULL STOP (MidNumLet) × [11.0] DIGIT ONE (Numeric) × [8.0] DIGIT FOUR (Numeric) ÷ [999.0] PERCENT SIGN (Other) ÷ [999.0] LATIN SMALL LETTER B (ALetter) ÷ [0.3]
 ÷ 0033 × 0061 ÷     #  ÷ [0.2] DIGIT THREE (Numeric) × [10.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0063 × 002E × 0064 ÷     #  ÷ [0.2] LATIN SMALL LETTER C (ALetter) × [6.0] FULL STOP (MidNumLet) × [7.0] LATIN SMALL LETTER D (ALetter) ÷ [0.3]
+÷ 0043 × 002E × 0064 ÷     #  ÷ [0.2] LATIN CAPITAL LETTER C (ALetter) × [6.0] FULL STOP (MidNumLet) × [7.0] LATIN SMALL LETTER D (ALetter) ÷ [0.3]
+÷ 0063 × 002E × 0044 ÷     #  ÷ [0.2] LATIN SMALL LETTER C (ALetter) × [6.0] FULL STOP (MidNumLet) × [7.0] LATIN CAPITAL LETTER D (ALetter) ÷ [0.3]
+÷ 0043 × 002E × 0044 ÷     #  ÷ [0.2] LATIN CAPITAL LETTER C (ALetter) × [6.0] FULL STOP (MidNumLet) × [7.0] LATIN CAPITAL LETTER D (ALetter) ÷ [0.3]
 ÷ 2060 ÷ 0063 × 2060 × 0061 × 2060 × 006E × 2060 × 0027 × 2060 × 0074 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER N (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN SMALL LETTER T (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 ÷ 0063 × 2060 × 0061 × 2060 × 006E × 2060 × 2019 × 2060 × 0074 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER N (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] RIGHT SINGLE QUOTATION MARK (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN SMALL LETTER T (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 ÷ 0061 × 2060 × 0062 × 2060 × 00AD × 2060 × 0062 × 2060 × 0079 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER B (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] SOFT HYPHEN (Format_FE) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER B (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER Y (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 ÷ 0061 × 2060 ÷ 0024 × 2060 ÷ 002D × 2060 ÷ 0033 × 2060 × 0034 × 2060 × 002C × 2060 × 0035 × 2060 × 0036 × 2060 × 0037 × 2060 × 002E × 2060 × 0031 × 2060 × 0034 × 2060 ÷ 0025 × 2060 ÷ 0062 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] DOLLAR SIGN (Other) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] HYPHEN-MINUS (Other) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] DIGIT THREE (Numeric) × [4.0] WORD JOINER (Format_FE) × [8.0] DIGIT FOUR (Numeric) × [4.0] WORD JOINER (Format_FE) × [12.0] COMMA (MidNum) × [4.0] WORD JOINER (Format_FE) × [11.0] DIGIT FIVE (Numeric) × [4.0] WORD JOINER (Format_FE) × [8.0] DIGIT SIX (Numeric) × [4.0] WORD JOINER (Format_FE) × [8.0] DIGIT SEVEN (Numeric) × [4.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [11.0] DIGIT ONE (Numeric) × [4.0] WORD JOINER (Format_FE) × [8.0] DIGIT FOUR (Numeric) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] PERCENT SIGN (Other) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER B (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 2060 ÷ 0033 × 2060 × 0061 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] DIGIT THREE (Numeric) × [4.0] WORD JOINER (Format_FE) × [10.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2060 ÷ 0063 × 2060 × 002E × 2060 × 0064 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN SMALL LETTER D (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2060 ÷ 0043 × 2060 × 002E × 2060 × 0064 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN CAPITAL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN SMALL LETTER D (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2060 ÷ 0063 × 2060 × 002E × 2060 × 0044 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER D (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2060 ÷ 0043 × 2060 × 002E × 2060 × 0044 × 2060 × 2060 ÷     #  ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN CAPITAL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER D (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 0061 ÷ 1F1E6 ÷ 0062 ÷    #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] LATIN SMALL LETTER B (ALetter) ÷ [0.3]
 ÷ 1F1F7 × 1F1FA ÷   #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) ÷ [0.3]
 ÷ 1F1F7 × 1F1FA × 1F1F8 ÷  #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER S (Regional_Indicator) ÷ [0.3]
 ÷ 1F1F7 × 1F1FA × 1F1F8 × 1F1EA ÷ #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER S (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER E (Regional_Indicator) ÷ [0.3]
 ÷ 1F1F7 × 1F1FA ÷ 200B ÷ 1F1F8 × 1F1EA ÷ #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) ÷ [999.0] ZERO WIDTH SPACE (Other) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER S (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER E (Regional_Indicator) ÷ [0.3]
+÷ 05D0 × 0022 × 05D0 ÷     #  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) × [7.2] QUOTATION MARK (Double_Quote) × [7.3] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
 ÷ 1F1E6 × 1F1E7 × 1F1E8 ÷  #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER B (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER C (Regional_Indicator) ÷ [0.3]
 ÷ 1F1E6 × 200D × 1F1E7 × 1F1E8 ÷  #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [4.0] ZERO WIDTH JOINER (Extend_FE) × [13.3] REGIONAL INDICATOR SYMBOL LETTER B (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER C (Regional_Indicator) ÷ [0.3]
 ÷ 1F1E6 × 1F1E7 × 200D × 1F1E8 ÷  #  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER B (Regional_Indicator) × [4.0] ZERO WIDTH JOINER (Extend_FE) × [13.3] REGIONAL INDICATOR SYMBOL LETTER C (Regional_Indicator) ÷ [0.3]
 ÷ 0020 × 200D ÷ 0646 ÷     #  ÷ [0.2] SPACE (Other) × [4.0] ZERO WIDTH JOINER (Extend_FE) ÷ [999.0] ARABIC LETTER NOON (ALetter) ÷ [0.3]
 ÷ 0646 × 200D ÷ 0020 ÷     #  ÷ [0.2] ARABIC LETTER NOON (ALetter) × [4.0] ZERO WIDTH JOINER (Extend_FE) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0031 ÷ 003A ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 003A ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 003A ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 ÷ 003A ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 003A ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 003A ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 ÷ 003A ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 003A ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 003A ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 ÷ 003A ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 003A ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 003A ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 ÷ 003A ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 003A ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 003A ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 ÷ 003A ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 003A ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 003A ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 ÷ 002E ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002E ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002E ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 ÷ 002E ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002E ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002E ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 ÷ 002E ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002E ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002E ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 ÷ 002E ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002E ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002E ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 ÷ 002E ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002E ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002E ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 ÷ 002E ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002E ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002E ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 ÷ 002C ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002C ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002C ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 ÷ 002C ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002C ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002C ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 ÷ 002C ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002C ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002C ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 ÷ 002C ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002C ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002C ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 ÷ 002C ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002C ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002C ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0031 ÷ 002C ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0031 ÷ 002C ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0031 × 005F × 0061 ÷ 002C ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 ÷ 003A ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 003A ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 003A ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 ÷ 003A ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 003A ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 003A ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 ÷ 003A ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 003A ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 003A ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 ÷ 003A ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 003A ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 003A ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 ÷ 003A ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 003A ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 003A ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 ÷ 003A ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 003A ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 003A ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 ÷ 002E ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002E ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002E ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 ÷ 002E ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002E ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002E ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 ÷ 002E ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002E ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002E ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 ÷ 002E ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002E ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002E ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 ÷ 002E ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002E ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002E ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 ÷ 002E ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002E ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002E ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 ÷ 002C ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002C ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002C ÷ 003A ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 ÷ 002C ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002C ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002C ÷ 003A ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 ÷ 002C ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002C ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002C ÷ 002E ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 ÷ 002C ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002C ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002C ÷ 002E ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 ÷ 002C ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002C ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002C ÷ 002C ÷ 0031 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0061 ÷ 002C ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0031 ÷ 002C ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
+÷ 0061 × 005F × 0061 ÷ 002C ÷ 002C ÷ 0061 ÷     #  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
 #
-# Lines: 1372
+# Lines: 1489
 #
 # EOF
index 6135aea..dc8e820 100644 (file)
@@ -1,8 +1,8 @@
-# WordBreakProperty-7.0.0.txt
-# Date: 2014-02-19, 15:51:39 GMT [MD]
+# WordBreakProperty-8.0.0.txt
+# Date: 2015-02-14, 10:26:15 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -89,7 +89,7 @@ FB46..FB4F    ; Hebrew_Letter # Lo  [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW
 0825..0827    ; Extend # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; Extend # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; Extend # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
-08E4..0902    ; Extend # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08E3..0902    ; Extend # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 0903          ; Extend # Mc       DEVANAGARI SIGN VISARGA
 093A          ; Extend # Mn       DEVANAGARI VOWEL SIGN OE
 093B          ; Extend # Mc       DEVANAGARI VOWEL SIGN OOE
@@ -252,8 +252,6 @@ FB46..FB4F    ; Hebrew_Letter # Lo  [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW
 1932          ; Extend # Mn       LIMBU SMALL LETTER ANUSVARA
 1933..1938    ; Extend # Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
 1939..193B    ; Extend # Mn   [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-19B0..19C0    ; Extend # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9    ; Extend # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
 1A17..1A18    ; Extend # Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
 1A19..1A1A    ; Extend # Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
 1A1B          ; Extend # Mn       BUGINESE VOWEL SIGN AE
@@ -327,7 +325,7 @@ FB46..FB4F    ; Hebrew_Letter # Lo  [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW
 A66F          ; Extend # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Extend # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A674..A67D    ; Extend # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
-A69F          ; Extend # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; Extend # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; Extend # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A802          ; Extend # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; Extend # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -381,7 +379,7 @@ ABEC          ; Extend # Mc       MEETEI MAYEK LUM IYEK
 ABED          ; Extend # Mn       MEETEI MAYEK APUN IYEK
 FB1E          ; Extend # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 FE00..FE0F    ; Extend # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; Extend # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; Extend # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
 101FD         ; Extend # Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
 102E0         ; Extend # Mn       COPTIC EPACT THOUSANDS MARK
@@ -412,6 +410,7 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 111B3..111B5  ; Extend # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
 111B6..111BE  ; Extend # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF..111C0  ; Extend # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
+111CA..111CC  ; Extend # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 1122C..1122E  ; Extend # Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
 1122F..11231  ; Extend # Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11232..11233  ; Extend # Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
@@ -421,7 +420,7 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 112DF         ; Extend # Mn       KHUDAWADI SIGN ANUSVARA
 112E0..112E2  ; Extend # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112EA  ; Extend # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
-11301         ; Extend # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Extend # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; Extend # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 1133C         ; Extend # Mn       GRANTHA SIGN NUKTA
 1133E..1133F  ; Extend # Mc   [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I
@@ -447,6 +446,7 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 115BC..115BD  ; Extend # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; Extend # Mc       SIDDHAM SIGN VISARGA
 115BF..115C0  ; Extend # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; Extend # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11630..11632  ; Extend # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; Extend # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163B..1163C  ; Extend # Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
@@ -460,6 +460,11 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 116B0..116B5  ; Extend # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116B6         ; Extend # Mc       TAKRI SIGN VIRAMA
 116B7         ; Extend # Mn       TAKRI SIGN NUKTA
+1171D..1171F  ; Extend # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; Extend # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+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
 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
@@ -472,10 +477,16 @@ FF9E..FF9F    ; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
 1D185..1D18B  ; Extend # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; Extend # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; Extend # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1DA00..1DA36  ; Extend # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; Extend # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; Extend # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; Extend # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; Extend # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; Extend # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E8D0..1E8D6  ; Extend # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1834
+# Total code points: 1967
 
 # ================================================
 
@@ -583,7 +594,7 @@ FF71..FF9D    ; Katakana # Lo  [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK
 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
-08A0..08B2    ; ALetter # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+08A0..08B4    ; ALetter # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 0904..0939    ; ALetter # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093D          ; ALetter # Lo       DEVANAGARI SIGN AVAGRAHA
 0950          ; ALetter # Lo       DEVANAGARI OM
@@ -620,6 +631,7 @@ FF71..FF9D    ; Katakana # Lo  [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK
 0ABD          ; ALetter # Lo       GUJARATI SIGN AVAGRAHA
 0AD0          ; ALetter # Lo       GUJARATI OM
 0AE0..0AE1    ; ALetter # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
+0AF9          ; ALetter # Lo       GUJARATI LETTER ZHA
 0B05..0B0C    ; ALetter # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
 0B0F..0B10    ; ALetter # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
 0B13..0B28    ; ALetter # Lo  [22] ORIYA LETTER O..ORIYA LETTER NA
@@ -646,7 +658,7 @@ FF71..FF9D    ; Katakana # Lo  [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK
 0C12..0C28    ; ALetter # Lo  [23] TELUGU LETTER O..TELUGU LETTER NA
 0C2A..0C39    ; ALetter # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; ALetter # Lo       TELUGU SIGN AVAGRAHA
-0C58..0C59    ; ALetter # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; ALetter # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; ALetter # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C85..0C8C    ; ALetter # Lo   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
 0C8E..0C90    ; ALetter # Lo   [3] KANNADA LETTER E..KANNADA LETTER AI
@@ -662,7 +674,7 @@ FF71..FF9D    ; Katakana # Lo  [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK
 0D12..0D3A    ; ALetter # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
 0D3D          ; ALetter # Lo       MALAYALAM SIGN AVAGRAHA
 0D4E          ; ALetter # Lo       MALAYALAM LETTER DOT REPH
-0D60..0D61    ; ALetter # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; ALetter # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D7A..0D7F    ; ALetter # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
 0D85..0D96    ; ALetter # Lo  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
 0D9A..0DB1    ; ALetter # Lo  [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
@@ -695,7 +707,8 @@ FF71..FF9D    ; Katakana # Lo  [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK
 1312..1315    ; ALetter # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; ALetter # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
 1380..138F    ; ALetter # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4    ; ALetter # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; ALetter # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; ALetter # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1401..166C    ; ALetter # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166F..167F    ; ALetter # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
 1681..169A    ; ALetter # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
@@ -825,8 +838,9 @@ 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
 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..A7AD    ; ALetter # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; ALetter # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; ALetter # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; ALetter # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; ALetter # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; ALetter # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -838,6 +852,7 @@ A840..A873    ; ALetter # Lo  [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABIN
 A882..A8B3    ; ALetter # Lo  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
 A8F2..A8F7    ; ALetter # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8FB          ; ALetter # Lo       DEVANAGARI HEADSTROKE
+A8FD          ; ALetter # Lo       DEVANAGARI JAIN OM
 A90A..A925    ; ALetter # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A930..A946    ; ALetter # Lo  [23] REJANG LETTER KA..REJANG LETTER A
 A960..A97C    ; ALetter # Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
@@ -856,7 +871,8 @@ AB20..AB26    ; ALetter # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CC
 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
 AB5C..AB5F    ; ALetter # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; ALetter # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+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
 ABC0..ABE2    ; ALetter # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 AC00..D7A3    ; ALetter # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; ALetter # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
@@ -912,6 +928,8 @@ FFDA..FFDC    ; ALetter # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 1083F..10855  ; ALetter # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10860..10876  ; ALetter # Lo  [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW
 10880..1089E  ; ALetter # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
+108E0..108F2  ; ALetter # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; ALetter # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; ALetter # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; ALetter # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 10980..109B7  ; ALetter # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
@@ -929,6 +947,8 @@ FFDA..FFDC    ; ALetter # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 10B60..10B72  ; ALetter # Lo  [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
 10B80..10B91  ; ALetter # Lo  [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW
 10C00..10C48  ; ALetter # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; ALetter # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; ALetter # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 11003..11037  ; ALetter # Lo  [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
 11083..110AF  ; ALetter # Lo  [45] KAITHI LETTER A..KAITHI LETTER HA
 110D0..110E8  ; ALetter # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
@@ -938,8 +958,14 @@ FFDA..FFDC    ; ALetter # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 11183..111B2  ; ALetter # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
 111C1..111C4  ; ALetter # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
 111DA         ; ALetter # Lo       SHARADA EKAM
+111DC         ; ALetter # Lo       SHARADA HEADSTROKE
 11200..11211  ; ALetter # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; ALetter # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
+11280..11286  ; ALetter # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; ALetter # Lo       MULTANI LETTER GHA
+1128A..1128D  ; ALetter # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; ALetter # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; ALetter # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112B0..112DE  ; ALetter # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 11305..1130C  ; ALetter # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; ALetter # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -948,20 +974,24 @@ FFDA..FFDC    ; ALetter # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 11332..11333  ; ALetter # Lo   [2] GRANTHA LETTER LA..GRANTHA LETTER LLA
 11335..11339  ; ALetter # Lo   [5] GRANTHA LETTER VA..GRANTHA LETTER HA
 1133D         ; ALetter # Lo       GRANTHA SIGN AVAGRAHA
+11350         ; ALetter # Lo       GRANTHA OM
 1135D..11361  ; ALetter # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11480..114AF  ; ALetter # Lo  [48] TIRHUTA ANJI..TIRHUTA LETTER HA
 114C4..114C5  ; ALetter # Lo   [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG
 114C7         ; ALetter # Lo       TIRHUTA OM
 11580..115AE  ; ALetter # Lo  [47] SIDDHAM LETTER A..SIDDHAM LETTER HA
+115D8..115DB  ; ALetter # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
 11600..1162F  ; ALetter # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11644         ; ALetter # Lo       MODI SIGN HUVA
 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
 11AC0..11AF8  ; ALetter # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; ALetter # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
 13000..1342E  ; ALetter # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; ALetter # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; ALetter # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; ALetter # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16AD0..16AED  ; ALetter # Lo  [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I
@@ -1044,7 +1074,7 @@ FFDA..FFDC    ; ALetter # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 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: 26647
+# Total code points: 27697
 
 # ================================================
 
@@ -1139,12 +1169,13 @@ ABF0..ABF9    ; Numeric # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT N
 114D0..114D9  ; Numeric # Nd  [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE
 11650..11659  ; Numeric # Nd  [10] MODI DIGIT ZERO..MODI DIGIT NINE
 116C0..116C9  ; Numeric # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11730..11739  ; Numeric # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; Numeric # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI 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
 
-# Total code points: 531
+# Total code points: 541
 
 # ================================================
 
index a5004b8..9ec885e 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedBidiClass-7.0.0.txt
-# Date: 2014-02-07, 18:42:07 GMT [MD]
+# DerivedBidiClass-8.0.0.txt
+# Date: 2015-02-13, 13:47:08 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
 0AE0..0AE1    ; L # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 0AE6..0AEF    ; L # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
 0AF0          ; L # Po       GUJARATI ABBREVIATION SIGN
+0AF9          ; L # Lo       GUJARATI LETTER ZHA
 0B02..0B03    ; L # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C    ; L # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
 0B0F..0B10    ; L # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
 0C2A..0C39    ; L # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; L # Lo       TELUGU SIGN AVAGRAHA
 0C41..0C44    ; L # Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C58..0C59    ; L # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; L # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; L # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C66..0C6F    ; L # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
 0C7F          ; L # So       TELUGU SIGN TUUMU
 0D4A..0D4C    ; L # Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
 0D4E          ; L # Lo       MALAYALAM LETTER DOT REPH
 0D57          ; L # Mc       MALAYALAM AU LENGTH MARK
-0D60..0D61    ; L # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; L # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D66..0D6F    ; L # Nd  [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
 0D70..0D75    ; L # No   [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
 0D79          ; L # So       MALAYALAM DATE MARK
 1360..1368    ; L # Po   [9] ETHIOPIC SECTION MARK..ETHIOPIC PARAGRAPH SEPARATOR
 1369..137C    ; L # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; L # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4    ; L # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; L # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; L # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1401..166C    ; L # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166D..166E    ; L # Po   [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
 166F..167F    ; L # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
 1950..196D    ; L # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; L # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; L # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0    ; L # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7    ; L # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9    ; L # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9    ; L # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19D0..19D9    ; L # Nd  [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
 19DA          ; L # No       NEW TAI LUE THAM DIGIT ONE
 1A00..1A16    ; L # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
 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..9FCC    ; L # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; L # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -591,8 +591,9 @@ A770          ; L # Lm       MODIFIER LETTER US
 A771..A787    ; L # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A789..A78A    ; L # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E    ; L # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; L # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; L # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; L # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; L # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; L # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; L # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; L # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -613,6 +614,8 @@ A8D0..A8D9    ; L # Nd  [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
 A8F2..A8F7    ; L # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8F8..A8FA    ; L # Po   [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
 A8FB          ; L # Lo       DEVANAGARI HEADSTROKE
+A8FC          ; L # Po       DEVANAGARI SIGN SIDDHAM
+A8FD          ; L # Lo       DEVANAGARI JAIN OM
 A900..A909    ; L # Nd  [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
 A90A..A925    ; L # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A92E..A92F    ; L # Po   [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
@@ -673,7 +676,8 @@ AB28..AB2E    ; L # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; L # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5B          ; L # Sk       MODIFIER BREVE WITH INVERTED BREVE
 AB5C..AB5F    ; L # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; L # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; L # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; L # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; L # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4    ; L # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE6..ABE7    ; L # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
@@ -762,10 +766,13 @@ FFDA..FFDC    ; L # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER
 111B3..111B5  ; L # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
 111BF..111C0  ; L # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
 111C1..111C4  ; L # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
-111C5..111C8  ; L # Po   [4] SHARADA DANDA..SHARADA SEPARATOR
+111C5..111C9  ; L # Po   [5] SHARADA DANDA..SHARADA SANDHI MARK
 111CD         ; L # Po       SHARADA SUTRA MARK
 111D0..111D9  ; L # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
 111DA         ; L # Lo       SHARADA EKAM
+111DB         ; L # Po       SHARADA SIGN SIDDHAM
+111DC         ; L # Lo       SHARADA HEADSTROKE
+111DD..111DF  ; L # Po   [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
 111E1..111F4  ; L # No  [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
 11200..11211  ; L # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; L # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
@@ -773,6 +780,12 @@ FFDA..FFDC    ; L # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER
 11232..11233  ; L # Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
 11235         ; L # Mc       KHOJKI SIGN VIRAMA
 11238..1123D  ; L # Po   [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN
+11280..11286  ; L # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; L # Lo       MULTANI LETTER GHA
+1128A..1128D  ; L # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; L # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; L # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
+112A9         ; L # Po       MULTANI SECTION MARK
 112B0..112DE  ; L # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 112E0..112E2  ; L # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112F0..112F9  ; L # Nd  [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE
@@ -788,6 +801,7 @@ FFDA..FFDC    ; L # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER
 11341..11344  ; L # Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348  ; L # Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134D  ; L # Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
+11350         ; L # Lo       GRANTHA OM
 11357         ; L # Mc       GRANTHA AU LENGTH MARK
 1135D..11361  ; L # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363  ; L # Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
@@ -804,7 +818,8 @@ FFDA..FFDC    ; L # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER
 115AF..115B1  ; L # Mc   [3] SIDDHAM VOWEL SIGN AA..SIDDHAM VOWEL SIGN II
 115B8..115BB  ; L # Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
 115BE         ; L # Mc       SIDDHAM SIGN VISARGA
-115C1..115C9  ; L # Po   [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK
+115C1..115D7  ; L # Po  [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+115D8..115DB  ; L # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
 11600..1162F  ; L # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11630..11632  ; L # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 1163B..1163C  ; L # Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
@@ -817,15 +832,24 @@ FFDA..FFDC    ; L # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER
 116AE..116AF  ; L # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
 116B6         ; L # Mc       TAKRI SIGN VIRAMA
 116C0..116C9  ; L # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11700..11719  ; L # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+11720..11721  ; L # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11726         ; L # Mc       AHOM VOWEL SIGN E
+11730..11739  ; L # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
+1173A..1173B  ; L # No   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
+1173C..1173E  ; L # Po   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+1173F         ; L # So       AHOM SYMBOL VI
 118A0..118DF  ; L # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 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
 11AC0..11AF8  ; L # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; L # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
+12480..12543  ; L # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
 13000..1342E  ; L # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; L # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; L # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; L # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16A60..16A69  ; L # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
@@ -861,7 +885,7 @@ FFDA..FFDC    ; L # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER
 1D16D..1D172  ; L # Mc   [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
 1D183..1D184  ; L # So   [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
 1D18C..1D1A9  ; L # So  [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD  ; L # So  [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
+1D1AE..1D1E8  ; L # So  [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
 1D360..1D371  ; L # No  [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
 1D400..1D454  ; L # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
 1D456..1D49C  ; L # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
@@ -898,6 +922,12 @@ FFDA..FFDC    ; L # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER
 1D7A9         ; L # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
 1D7AA..1D7C2  ; L # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C4..1D7CB  ; L # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+1D800..1D9FF  ; L # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA37..1DA3A  ; L # So   [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA6D..1DA74  ; L # So   [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA76..1DA83  ; L # So  [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA85..1DA86  ; L # So   [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
+1DA87..1DA8B  ; L # Po   [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS
 1F110..1F12E  ; L # So  [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
 1F130..1F169  ; L # So  [58] SQUARED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F19A  ; L # So  [43] NEGATIVE SQUARED LATIN CAPITAL LETTER A..SQUARED VS
@@ -908,12 +938,13 @@ FFDA..FFDC    ; L # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER
 20000..2A6D6  ; L # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 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
 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 856513 code points not listed here.
-# Total code points: 1097670
+# The above property value applies to 848999 code points not listed here.
+# Total code points: 1097474
 
 # ================================================
 
@@ -980,7 +1011,12 @@ FB46..FB4F    ; R # Lo  [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE AL
 10880..1089E  ; R # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
 1089F..108A6  ; R # Cn   [8] <reserved-1089F>..<reserved-108A6>
 108A7..108AF  ; R # No   [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
-108B0..108FF  ; R # Cn  [80] <reserved-108B0>..<reserved-108FF>
+108B0..108DF  ; R # Cn  [48] <reserved-108B0>..<reserved-108DF>
+108E0..108F2  ; R # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F3         ; R # Cn       <reserved-108F3>
+108F4..108F5  ; R # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108F6..108FA  ; R # Cn   [5] <reserved-108F6>..<reserved-108FA>
+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
 1091C..1091E  ; R # Cn   [3] <reserved-1091C>..<reserved-1091E>
@@ -989,9 +1025,12 @@ FB46..FB4F    ; R # Lo  [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE AL
 1093F         ; R # Po       LYDIAN TRIANGULAR MARK
 10940..1097F  ; R # Cn  [64] <reserved-10940>..<reserved-1097F>
 10980..109B7  ; R # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
-109B8..109BD  ; R # Cn   [6] <reserved-109B8>..<reserved-109BD>
+109B8..109BB  ; R # Cn   [4] <reserved-109B8>..<reserved-109BB>
+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..109FF  ; R # Cn  [64] <reserved-109C0>..<reserved-109FF>
+109C0..109CF  ; R # No  [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D0..109D1  ; R # Cn   [2] <reserved-109D0>..<reserved-109D1>
+109D2..109FF  ; R # No  [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 10A00         ; R # Lo       KHAROSHTHI LETTER A
 10A04         ; R # Cn       <reserved-10A04>
 10A07..10A0B  ; R # Cn   [5] <reserved-10A07>..<reserved-10A0B>
@@ -1034,7 +1073,13 @@ FB46..FB4F    ; R # Lo  [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE AL
 10BA9..10BAF  ; R # No   [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
 10BB0..10BFF  ; R # Cn  [80] <reserved-10BB0>..<reserved-10BFF>
 10C00..10C48  ; R # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-10C49..10E5F  ; R # Cn [535] <reserved-10C49>..<reserved-10E5F>
+10C49..10C7F  ; R # Cn  [55] <reserved-10C49>..<reserved-10C7F>
+10C80..10CB2  ; R # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CB3..10CBF  ; R # Cn  [13] <reserved-10CB3>..<reserved-10CBF>
+10CC0..10CF2  ; R # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CF3..10CF9  ; R # Cn   [7] <reserved-10CF3>..<reserved-10CF9>
+10CFA..10CFF  ; R # No   [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
+10D00..10E5F  ; R # Cn [352] <reserved-10D00>..<reserved-10E5F>
 10E7F..10FFF  ; R # Cn [385] <reserved-10E7F>..<reserved-10FFF>
 1E800..1E8C4  ; R # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
 1E8C5..1E8C6  ; R # Cn   [2] <reserved-1E8C5>..<reserved-1E8C6>
@@ -1100,8 +1145,8 @@ FF0D          ; ES # Pd       FULLWIDTH HYPHEN-MINUS
 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..20BD    ; ET # Sc  [30] EURO-CURRENCY SIGN..RUBLE SIGN
-20BE..20CF    ; ET # Cn  [18] <reserved-20BE>..<reserved-20CF>
+20A0..20BE    ; ET # Sc  [31] EURO-CURRENCY SIGN..LARI SIGN
+20BF..20CF    ; ET # Cn  [17] <reserved-20BF>..<reserved-20CF>
 212E          ; ET # So       ESTIMATED SYMBOL
 2213          ; ET # Sm       MINUS-OR-PLUS SIGN
 A838          ; ET # Sc       NORTH INDIC RUPEE MARK
@@ -1316,6 +1361,7 @@ FF1A          ; CS # Po       FULLWIDTH COLON
 214C..214D    ; ON # So   [2] PER SIGN..AKTIESELSKAB
 2150..215F    ; ON # No  [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
 2189          ; ON # No       VULGAR FRACTION ZERO THIRDS
+218A..218B    ; ON # So   [2] TURNED DIGIT TWO..TURNED DIGIT THREE
 2190..2194    ; ON # Sm   [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
 2195..2199    ; ON # So   [5] UP DOWN ARROW..SOUTH WEST ARROW
 219A..219B    ; ON # Sm   [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
@@ -1441,6 +1487,7 @@ FF1A          ; CS # Po       FULLWIDTH COLON
 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
+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
 2CFD          ; ON # No       COPTIC FRACTION ONE HALF
@@ -1645,16 +1692,11 @@ FFFC..FFFD    ; ON # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTE
 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
-1F300..1F32C  ; ON # So  [45] CYCLONE..WIND BLOWING FACE
-1F330..1F37D  ; ON # So  [78] CHESTNUT..FORK AND KNIFE WITH PLATE
-1F380..1F3CE  ; ON # So  [79] RIBBON..RACING CAR
-1F3D4..1F3F7  ; ON # So  [36] SNOW CAPPED MOUNTAIN..LABEL
-1F400..1F4FE  ; ON # So [255] RAT..PORTABLE STEREO
-1F500..1F54A  ; ON # So  [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE
-1F550..1F579  ; ON # So  [42] CLOCK FACE ONE OCLOCK..JOYSTICK
+1F300..1F3FA  ; ON # So [251] CYCLONE..AMPHORA
+1F3FB..1F3FF  ; ON # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
+1F400..1F579  ; ON # So [378] RAT..JOYSTICK
 1F57B..1F5A3  ; ON # So  [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX
-1F5A5..1F642  ; ON # So [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE
-1F645..1F6CF  ; ON # So [139] FACE WITH NO GOOD GESTURE..BED
+1F5A5..1F6D0  ; ON # So [300] DESKTOP COMPUTER..PLACE OF WORSHIP
 1F6E0..1F6EC  ; ON # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6F0..1F6F3  ; ON # So   [4] SATELLITE..PASSENGER SHIP
 1F700..1F773  ; ON # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -1664,8 +1706,11 @@ FFFC..FFFD    ; ON # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTE
 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..1F918  ; ON # So   [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984  ; ON # So   [5] CRAB..UNICORN FACE
+1F9C0         ; ON # So       CHEESE WEDGE
 
-# Total code points: 5126
+# Total code points: 5174
 
 # ================================================
 
@@ -1739,7 +1784,7 @@ FFFFE..FFFFF  ; BN # Cn   [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
 0825..0827    ; NSM # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; NSM # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; NSM # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
-08E4..0902    ; NSM # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08E3..0902    ; NSM # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 093A          ; NSM # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; NSM # Mn       DEVANAGARI SIGN NUKTA
 0941..0948    ; NSM # Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
@@ -1884,7 +1929,7 @@ FFFFE..FFFFF  ; BN # Cn   [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
 A66F          ; NSM # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; NSM # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A674..A67D    ; NSM # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
-A69F          ; NSM # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; NSM # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; NSM # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A802          ; NSM # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; NSM # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -1917,7 +1962,7 @@ ABE8          ; NSM # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; NSM # Mn       MEETEI MAYEK APUN IYEK
 FB1E          ; NSM # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 FE00..FE0F    ; NSM # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; NSM # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; NSM # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 101FD         ; NSM # Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
 102E0         ; NSM # Mn       COPTIC EPACT THOUSANDS MARK
 10376..1037A  ; NSM # Mn   [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
@@ -1938,12 +1983,13 @@ FE20..FE2D    ; NSM # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ
 11173         ; NSM # Mn       MAHAJANI SIGN NUKTA
 11180..11181  ; NSM # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
 111B6..111BE  ; NSM # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111CA..111CC  ; NSM # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 1122F..11231  ; NSM # Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11234         ; NSM # Mn       KHOJKI SIGN ANUSVARA
 11236..11237  ; NSM # Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
 112DF         ; NSM # Mn       KHUDAWADI SIGN ANUSVARA
 112E3..112EA  ; NSM # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
-11301         ; NSM # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; NSM # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 1133C         ; NSM # Mn       GRANTHA SIGN NUKTA
 11340         ; NSM # Mn       GRANTHA VOWEL SIGN II
 11366..1136C  ; NSM # Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
@@ -1955,6 +2001,7 @@ FE20..FE2D    ; NSM # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ
 115B2..115B5  ; NSM # Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
 115BC..115BD  ; NSM # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BF..115C0  ; NSM # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; NSM # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11633..1163A  ; NSM # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163D         ; NSM # Mn       MODI SIGN ANUSVARA
 1163F..11640  ; NSM # Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
@@ -1962,6 +2009,9 @@ FE20..FE2D    ; NSM # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ
 116AD         ; NSM # Mn       TAKRI VOWEL SIGN AA
 116B0..116B5  ; NSM # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116B7         ; NSM # Mn       TAKRI SIGN NUKTA
+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
 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
@@ -1971,10 +2021,16 @@ FE20..FE2D    ; NSM # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ
 1D185..1D18B  ; NSM # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; NSM # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; NSM # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1DA00..1DA36  ; NSM # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; NSM # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; NSM # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; NSM # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; NSM # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; NSM # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E8D0..1E8D6  ; NSM # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 E0100..E01EF  ; NSM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1429
+# Total code points: 1578
 
 # ================================================
 
@@ -2009,8 +2065,8 @@ E0100..E01EF  ; NSM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 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>
-08A0..08B2    ; AL # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
-08B3..08E3    ; AL # Cn  [49] <reserved-08B3>..<reserved-08E3>
+08A0..08B4    ; AL # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08B5..08E2    ; AL # Cn  [46] <reserved-08B5>..<reserved-08E2>
 FB50..FBB1    ; AL # Lo  [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
 FBB2..FBC1    ; AL # Sk  [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW
 FBC2..FBD2    ; AL # Cn  [17] <reserved-FBC2>..<reserved-FBD2>
@@ -2095,7 +2151,7 @@ FEFD..FEFE    ; AL # Cn   [2] <reserved-FEFD>..<reserved-FEFE>
 1EEBC..1EEEF  ; AL # Cn  [52] <reserved-1EEBC>..<reserved-1EEEF>
 1EEF2..1EEFF  ; AL # Cn  [14] <reserved-1EEF2>..<reserved-1EEFF>
 
-# Total code points: 1436
+# Total code points: 1435
 
 # ================================================
 
index e623460..cb8b8f1 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedBinaryProperties-7.0.0.txt
-# Date: 2013-11-27, 09:54:31 GMT [MD]
+# DerivedBinaryProperties-8.0.0.txt
+# Date: 2015-02-13, 13:47:09 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
index f7548d9..a81c56d 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedCombiningClass-7.0.0.txt
-# Date: 2014-02-07, 18:42:08 GMT [MD]
+# DerivedCombiningClass-8.0.0.txt
+# Date: 2015-02-13, 13:47:09 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
 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
-08A0..08B2    ; 0 # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+08A0..08B4    ; 0 # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 0900..0902    ; 0 # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903          ; 0 # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; 0 # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 0AE6..0AEF    ; 0 # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
 0AF0          ; 0 # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; 0 # Sc       GUJARATI RUPEE SIGN
+0AF9          ; 0 # Lo       GUJARATI LETTER ZHA
 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
 0C41..0C44    ; 0 # Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
 0C46..0C48    ; 0 # Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
 0C4A..0C4C    ; 0 # Mn   [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU
-0C58..0C59    ; 0 # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; 0 # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; 0 # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63    ; 0 # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C66..0C6F    ; 0 # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
 0D4A..0D4C    ; 0 # Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
 0D4E          ; 0 # Lo       MALAYALAM LETTER DOT REPH
 0D57          ; 0 # Mc       MALAYALAM AU LENGTH MARK
-0D60..0D61    ; 0 # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; 0 # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D62..0D63    ; 0 # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
 0D66..0D6F    ; 0 # Nd  [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
 0D70..0D75    ; 0 # No   [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
 1369..137C    ; 0 # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; 0 # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399    ; 0 # So  [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4    ; 0 # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; 0 # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; 0 # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1400          ; 0 # Pd       CANADIAN SYLLABICS HYPHEN
 1401..166C    ; 0 # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166D..166E    ; 0 # Po   [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
 1950..196D    ; 0 # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; 0 # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; 0 # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0    ; 0 # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7    ; 0 # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9    ; 0 # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9    ; 0 # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19D0..19D9    ; 0 # Nd  [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
 19DA          ; 0 # No       NEW TAI LUE THAM DIGIT ONE
 19DE..19FF    ; 0 # So  [34] NEW TAI LUE SIGN LAE..KHMER SYMBOL DAP-PRAM ROC
 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..20BD    ; 0 # Sc  [30] EURO-CURRENCY SIGN..RUBLE SIGN
+20A0..20BE    ; 0 # Sc  [31] EURO-CURRENCY SIGN..LARI 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
 2183..2184    ; 0 # L&   [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
 2185..2188    ; 0 # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
 2189          ; 0 # No       VULGAR FRACTION ZERO THIRDS
+218A..218B    ; 0 # So   [2] TURNED DIGIT TWO..TURNED DIGIT THREE
 2190..2194    ; 0 # Sm   [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
 2195..2199    ; 0 # So   [5] UP DOWN ARROW..SOUTH WEST ARROW
 219A..219B    ; 0 # Sm   [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
 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
+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
 2C60..2C7B    ; 0 # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
 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..9FCC    ; 0 # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; 0 # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -1058,8 +1060,9 @@ A771..A787    ; 0 # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR
 A788          ; 0 # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A    ; 0 # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E    ; 0 # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; 0 # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; 0 # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; 0 # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; 0 # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; 0 # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; 0 # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; 0 # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -1087,6 +1090,8 @@ A8D0..A8D9    ; 0 # Nd  [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
 A8F2..A8F7    ; 0 # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8F8..A8FA    ; 0 # Po   [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
 A8FB          ; 0 # Lo       DEVANAGARI HEADSTROKE
+A8FC          ; 0 # Po       DEVANAGARI SIGN SIDDHAM
+A8FD          ; 0 # Lo       DEVANAGARI JAIN OM
 A900..A909    ; 0 # Nd  [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
 A90A..A925    ; 0 # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A926..A92A    ; 0 # Mn   [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O
@@ -1160,7 +1165,8 @@ AB28..AB2E    ; 0 # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; 0 # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5B          ; 0 # Sk       MODIFIER BREVE WITH INVERTED BREVE
 AB5C..AB5F    ; 0 # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; 0 # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; 0 # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; 0 # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; 0 # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4    ; 0 # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; 0 # Mn       MEETEI MAYEK VOWEL SIGN ANAP
@@ -1351,13 +1357,19 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 10879..1087F  ; 0 # No   [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY
 10880..1089E  ; 0 # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
 108A7..108AF  ; 0 # No   [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
+108E0..108F2  ; 0 # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; 0 # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108FB..108FF  ; 0 # No   [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
 10900..10915  ; 0 # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10916..1091B  ; 0 # No   [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
 1091F         ; 0 # Po       PHOENICIAN WORD SEPARATOR
 10920..10939  ; 0 # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 1093F         ; 0 # Po       LYDIAN TRIANGULAR MARK
 10980..109B7  ; 0 # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BC..109BD  ; 0 # No   [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
 109BE..109BF  ; 0 # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+109C0..109CF  ; 0 # No  [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF  ; 0 # No  [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 10A00         ; 0 # Lo       KHAROSHTHI LETTER A
 10A01..10A03  ; 0 # Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
 10A05..10A06  ; 0 # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
@@ -1388,6 +1400,9 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 10B99..10B9C  ; 0 # Po   [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT
 10BA9..10BAF  ; 0 # No   [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
 10C00..10C48  ; 0 # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; 0 # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; 0 # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CFA..10CFF  ; 0 # No   [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
 10E60..10E7E  ; 0 # No  [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
 11000         ; 0 # Mc       BRAHMI SIGN CANDRABINDU
 11001         ; 0 # Mn       BRAHMI SIGN ANUSVARA
@@ -1424,10 +1439,14 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 111B6..111BE  ; 0 # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF         ; 0 # Mc       SHARADA VOWEL SIGN AU
 111C1..111C4  ; 0 # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
-111C5..111C8  ; 0 # Po   [4] SHARADA DANDA..SHARADA SEPARATOR
+111C5..111C9  ; 0 # Po   [5] SHARADA DANDA..SHARADA SANDHI MARK
+111CB..111CC  ; 0 # Mn   [2] SHARADA VOWEL MODIFIER MARK..SHARADA EXTRA SHORT VOWEL MARK
 111CD         ; 0 # Po       SHARADA SUTRA MARK
 111D0..111D9  ; 0 # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
 111DA         ; 0 # Lo       SHARADA EKAM
+111DB         ; 0 # Po       SHARADA SIGN SIDDHAM
+111DC         ; 0 # Lo       SHARADA HEADSTROKE
+111DD..111DF  ; 0 # Po   [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
 111E1..111F4  ; 0 # No  [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
 11200..11211  ; 0 # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; 0 # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
@@ -1437,12 +1456,18 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 11234         ; 0 # Mn       KHOJKI SIGN ANUSVARA
 11237         ; 0 # Mn       KHOJKI SIGN SHADDA
 11238..1123D  ; 0 # Po   [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN
+11280..11286  ; 0 # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; 0 # Lo       MULTANI LETTER GHA
+1128A..1128D  ; 0 # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; 0 # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; 0 # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
+112A9         ; 0 # Po       MULTANI SECTION MARK
 112B0..112DE  ; 0 # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 112DF         ; 0 # Mn       KHUDAWADI SIGN ANUSVARA
 112E0..112E2  ; 0 # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112E8  ; 0 # Mn   [6] KHUDAWADI VOWEL SIGN U..KHUDAWADI VOWEL SIGN AU
 112F0..112F9  ; 0 # Nd  [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE
-11301         ; 0 # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; 0 # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; 0 # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 11305..1130C  ; 0 # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; 0 # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -1456,6 +1481,7 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 11341..11344  ; 0 # Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348  ; 0 # Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134C  ; 0 # Mc   [2] GRANTHA VOWEL SIGN OO..GRANTHA VOWEL SIGN AU
+11350         ; 0 # Lo       GRANTHA OM
 11357         ; 0 # Mc       GRANTHA AU LENGTH MARK
 1135D..11361  ; 0 # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363  ; 0 # Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
@@ -1477,7 +1503,9 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 115B8..115BB  ; 0 # Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
 115BC..115BD  ; 0 # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; 0 # Mc       SIDDHAM SIGN VISARGA
-115C1..115C9  ; 0 # Po   [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK
+115C1..115D7  ; 0 # Po  [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+115D8..115DB  ; 0 # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
+115DC..115DD  ; 0 # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11600..1162F  ; 0 # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11630..11632  ; 0 # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; 0 # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
@@ -1495,15 +1523,27 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 116AE..116AF  ; 0 # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
 116B0..116B5  ; 0 # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116C0..116C9  ; 0 # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11700..11719  ; 0 # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F  ; 0 # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; 0 # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725  ; 0 # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726         ; 0 # Mc       AHOM VOWEL SIGN E
+11727..1172A  ; 0 # Mn   [4] AHOM VOWEL SIGN AW..AHOM VOWEL SIGN AM
+11730..11739  ; 0 # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
+1173A..1173B  ; 0 # No   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
+1173C..1173E  ; 0 # Po   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+1173F         ; 0 # So       AHOM SYMBOL VI
 118A0..118DF  ; 0 # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 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
 11AC0..11AF8  ; 0 # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; 0 # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
+12480..12543  ; 0 # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
 13000..1342E  ; 0 # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; 0 # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; 0 # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; 0 # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16A60..16A69  ; 0 # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
@@ -1541,7 +1581,7 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 1D173..1D17A  ; 0 # Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
 1D183..1D184  ; 0 # So   [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
 1D18C..1D1A9  ; 0 # So  [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD  ; 0 # So  [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
+1D1AE..1D1E8  ; 0 # So  [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
 1D200..1D241  ; 0 # So  [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
 1D245         ; 0 # So       GREEK MUSICAL LEIMMA
 1D300..1D356  ; 0 # So  [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
@@ -1587,6 +1627,18 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 1D7C3         ; 0 # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; 0 # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; 0 # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1D800..1D9FF  ; 0 # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA00..1DA36  ; 0 # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA37..1DA3A  ; 0 # So   [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA3B..1DA6C  ; 0 # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA6D..1DA74  ; 0 # So   [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA75         ; 0 # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA76..1DA83  ; 0 # So  [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA84         ; 0 # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA85..1DA86  ; 0 # So   [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
+1DA87..1DA8B  ; 0 # Po   [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS
+1DA9B..1DA9F  ; 0 # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; 0 # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E800..1E8C4  ; 0 # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
 1E8C7..1E8CF  ; 0 # No   [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE
 1EE00..1EE03  ; 0 # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
@@ -1637,16 +1689,11 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 1F210..1F23A  ; 0 # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
 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
-1F300..1F32C  ; 0 # So  [45] CYCLONE..WIND BLOWING FACE
-1F330..1F37D  ; 0 # So  [78] CHESTNUT..FORK AND KNIFE WITH PLATE
-1F380..1F3CE  ; 0 # So  [79] RIBBON..RACING CAR
-1F3D4..1F3F7  ; 0 # So  [36] SNOW CAPPED MOUNTAIN..LABEL
-1F400..1F4FE  ; 0 # So [255] RAT..PORTABLE STEREO
-1F500..1F54A  ; 0 # So  [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE
-1F550..1F579  ; 0 # So  [42] CLOCK FACE ONE OCLOCK..JOYSTICK
+1F300..1F3FA  ; 0 # So [251] CYCLONE..AMPHORA
+1F3FB..1F3FF  ; 0 # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
+1F400..1F579  ; 0 # So [378] RAT..JOYSTICK
 1F57B..1F5A3  ; 0 # So  [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX
-1F5A5..1F642  ; 0 # So [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE
-1F645..1F6CF  ; 0 # So [139] FACE WITH NO GOOD GESTURE..BED
+1F5A5..1F6D0  ; 0 # So [300] DESKTOP COMPUTER..PLACE OF WORSHIP
 1F6E0..1F6EC  ; 0 # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6F0..1F6F3  ; 0 # So   [4] SATELLITE..PASSENGER SHIP
 1F700..1F773  ; 0 # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -1656,9 +1703,13 @@ FFFC..FFFD    ; 0 # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 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..1F918  ; 0 # So   [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984  ; 0 # So   [5] CRAB..UNICORN FACE
+1F9C0         ; 0 # So       CHEESE WEDGE
 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
 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
@@ -1666,8 +1717,8 @@ E0100..E01EF  ; 0 # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 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 863623 code points not listed here.
-# Total code points: 1113367
+# The above property value applies to 855907 code points not listed here.
+# Total code points: 1113361
 
 # ================================================
 
@@ -1704,6 +1755,7 @@ F0000..FFFFD  ; 0 # Co [65534] <private-use-F0000>..<private-use-FFFFD>
 A9B3          ; 7 # Mn       JAVANESE SIGN CECAK TELU
 110BA         ; 7 # Mn       KAITHI SIGN NUKTA
 11173         ; 7 # Mn       MAHAJANI SIGN NUKTA
+111CA         ; 7 # Mn       SHARADA SIGN NUKTA
 11236         ; 7 # Mn       KHOJKI SIGN NUKTA
 112E9         ; 7 # Mn       KHUDAWADI SIGN NUKTA
 1133C         ; 7 # Mn       GRANTHA SIGN NUKTA
@@ -1711,7 +1763,7 @@ A9B3          ; 7 # Mn       JAVANESE SIGN CECAK TELU
 115C0         ; 7 # Mn       SIDDHAM SIGN NUKTA
 116B7         ; 7 # Mn       TAKRI SIGN NUKTA
 
-# Total code points: 19
+# Total code points: 20
 
 # ================================================
 
@@ -1766,8 +1818,9 @@ ABED          ; 9 # Mn       MEETEI MAYEK APUN IYEK
 115BF         ; 9 # Mn       SIDDHAM SIGN VIRAMA
 1163F         ; 9 # Mn       MODI SIGN VIRAMA
 116B6         ; 9 # Mc       TAKRI SIGN VIRAMA
+1172B         ; 9 # Mn       AHOM SIGN KILLER
 
-# Total code points: 44
+# Total code points: 45
 
 # ================================================
 
@@ -2139,6 +2192,7 @@ FB1E          ; 26 # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 0748          ; 220 # Mn       SYRIAC OBLIQUE LINE BELOW
 07F2          ; 220 # Mn       NKO COMBINING NASALIZATION MARK
 0859..085B    ; 220 # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
+08E3          ; 220 # Mn       ARABIC TURNED DAMMA BELOW
 08E6          ; 220 # Mn       ARABIC CURLY KASRA
 08E9          ; 220 # Mn       ARABIC CURLY KASRATAN
 08ED..08EF    ; 220 # Mn   [3] ARABIC TONE ONE DOT BELOW..ARABIC TONE LOOP BELOW
@@ -2178,7 +2232,7 @@ FE27..FE2D    ; 220 # Mn   [7] COMBINING LIGATURE LEFT HALF BELOW..COMBINING CON
 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: 152
+# Total code points: 153
 
 # ================================================
 
@@ -2302,7 +2356,7 @@ FE27..FE2D    ; 220 # Mn   [7] COMBINING LIGATURE LEFT HALF BELOW..COMBINING CON
 2DE0..2DFF    ; 230 # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
 A66F          ; 230 # Mn       COMBINING CYRILLIC VZMET
 A674..A67D    ; 230 # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
-A69F          ; 230 # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; 230 # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; 230 # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A8E0..A8F1    ; 230 # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
 AAB0          ; 230 # Mn       TAI VIET MAI KANG
@@ -2311,6 +2365,7 @@ AAB7..AAB8    ; 230 # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE..AABF    ; 230 # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; 230 # Mn       TAI VIET TONE MAI THO
 FE20..FE26    ; 230 # Mn   [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
+FE2E..FE2F    ; 230 # Mn   [2] COMBINING CYRILLIC TITLO LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 10376..1037A  ; 230 # Mn   [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
 10A0F         ; 230 # Mn       KHAROSHTHI SIGN VISARGA
 10A38         ; 230 # Mn       KHAROSHTHI SIGN BAR ABOVE
@@ -2323,7 +2378,7 @@ FE20..FE26    ; 230 # Mn   [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ
 1D1AA..1D1AD  ; 230 # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; 230 # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 
-# Total code points: 399
+# Total code points: 402
 
 # ================================================
 
index 0923ada..0d29e23 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedDecompositionType-7.0.0.txt
-# Date: 2013-11-27, 09:54:33 GMT [MD]
+# DerivedDecompositionType-8.0.0.txt
+# Date: 2015-02-13, 13:47:11 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
index 1510bb5..5343f7e 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedEastAsianWidth-7.0.0.txt
-# Date: 2014-02-07, 18:42:12 GMT [MD]
+# DerivedEastAsianWidth-8.0.0.txt
+# Date: 2015-02-13, 13:47:11 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
 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
-08A0..08B2    ; N # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
-08E4..0902    ; N # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08A0..08B4    ; N # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08E3..0902    ; N # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 0903          ; N # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; N # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093A          ; N # Mn       DEVANAGARI VOWEL SIGN OE
 0AE6..0AEF    ; N # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
 0AF0          ; N # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; N # Sc       GUJARATI RUPEE SIGN
+0AF9          ; N # Lo       GUJARATI LETTER ZHA
 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
 0C46..0C48    ; N # Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
 0C4A..0C4D    ; N # Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
 0C55..0C56    ; N # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59    ; N # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; N # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; N # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63    ; N # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C66..0C6F    ; N # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
 0D4D          ; N # Mn       MALAYALAM SIGN VIRAMA
 0D4E          ; N # Lo       MALAYALAM LETTER DOT REPH
 0D57          ; N # Mc       MALAYALAM AU LENGTH MARK
-0D60..0D61    ; N # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; N # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D62..0D63    ; N # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
 0D66..0D6F    ; N # Nd  [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
 0D70..0D75    ; N # No   [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
 1369..137C    ; N # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; N # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399    ; N # So  [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4    ; N # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; N # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; N # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1400          ; N # Pd       CANADIAN SYLLABICS HYPHEN
 1401..166C    ; N # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166D..166E    ; N # Po   [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
 1950..196D    ; N # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; N # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; N # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0    ; N # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7    ; N # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9    ; N # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9    ; N # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19D0..19D9    ; N # Nd  [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
 19DA          ; N # No       NEW TAI LUE THAM DIGIT ONE
 19DE..19FF    ; N # So  [34] NEW TAI LUE SIGN LAE..KHMER SYMBOL DAP-PRAM ROC
 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..20BD    ; N # Sc  [17] KIP SIGN..RUBLE SIGN
+20AD..20BE    ; N # Sc  [18] KIP SIGN..LARI 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
 217A..2182    ; N # Nl   [9] SMALL ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TEN THOUSAND
 2183..2184    ; N # L&   [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
 2185..2188    ; N # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
+218A..218B    ; N # So   [2] TURNED DIGIT TWO..TURNED DIGIT THREE
 219A..219B    ; N # Sm   [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
 219C..219F    ; N # So   [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
 21A0          ; N # Sm       RIGHTWARDS TWO HEADED 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
+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
 2C60..2C7B    ; N # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
@@ -1084,7 +1086,7 @@ A67E          ; N # Po       CYRILLIC KAVYKA
 A67F          ; N # Lm       CYRILLIC PAYEROK
 A680..A69B    ; N # L&  [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O
 A69C..A69D    ; N # Lm   [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN
-A69F          ; N # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; N # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6A0..A6E5    ; N # Lo  [70] BAMUM LETTER A..BAMUM LETTER KI
 A6E6..A6EF    ; N # Nl  [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
 A6F0..A6F1    ; N # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
@@ -1098,8 +1100,9 @@ A771..A787    ; N # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR
 A788          ; N # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A    ; N # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E    ; N # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; N # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; N # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; N # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; N # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; N # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; N # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; N # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -1130,6 +1133,8 @@ A8E0..A8F1    ; N # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGA
 A8F2..A8F7    ; N # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8F8..A8FA    ; N # Po   [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
 A8FB          ; N # Lo       DEVANAGARI HEADSTROKE
+A8FC          ; N # Po       DEVANAGARI SIGN SIDDHAM
+A8FD          ; N # Lo       DEVANAGARI JAIN OM
 A900..A909    ; N # Nd  [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
 A90A..A925    ; N # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A926..A92D    ; N # Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
@@ -1209,7 +1214,8 @@ AB28..AB2E    ; N # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; N # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5B          ; N # Sk       MODIFIER BREVE WITH INVERTED BREVE
 AB5C..AB5F    ; N # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; N # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; N # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; N # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; N # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4    ; N # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; N # Mn       MEETEI MAYEK VOWEL SIGN ANAP
@@ -1243,7 +1249,7 @@ FD92..FDC7    ; N # Lo  [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FO
 FDF0..FDFB    ; N # Lo  [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
 FDFC          ; N # Sc       RIAL SIGN
 FDFD          ; N # So       ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE20..FE2D    ; N # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; N # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FE70..FE74    ; N # Lo   [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
 FE76..FEFC    ; N # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
 FEFF          ; N # Cf       ZERO WIDTH NO-BREAK SPACE
@@ -1308,13 +1314,19 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 10879..1087F  ; N # No   [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY
 10880..1089E  ; N # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
 108A7..108AF  ; N # No   [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
+108E0..108F2  ; N # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; N # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108FB..108FF  ; N # No   [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
 10900..10915  ; N # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10916..1091B  ; N # No   [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
 1091F         ; N # Po       PHOENICIAN WORD SEPARATOR
 10920..10939  ; N # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 1093F         ; N # Po       LYDIAN TRIANGULAR MARK
 10980..109B7  ; N # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BC..109BD  ; N # No   [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
 109BE..109BF  ; N # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+109C0..109CF  ; N # No  [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF  ; N # No  [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 10A00         ; N # Lo       KHAROSHTHI LETTER A
 10A01..10A03  ; N # Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
 10A05..10A06  ; N # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
@@ -1347,6 +1359,9 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 10B99..10B9C  ; N # Po   [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT
 10BA9..10BAF  ; N # No   [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
 10C00..10C48  ; N # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; N # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; N # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CFA..10CFF  ; N # No   [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
 10E60..10E7E  ; N # No  [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
 11000         ; N # Mc       BRAHMI SIGN CANDRABINDU
 11001         ; N # Mn       BRAHMI SIGN ANUSVARA
@@ -1386,10 +1401,14 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 111B6..111BE  ; N # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF..111C0  ; N # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
 111C1..111C4  ; N # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
-111C5..111C8  ; N # Po   [4] SHARADA DANDA..SHARADA SEPARATOR
+111C5..111C9  ; N # Po   [5] SHARADA DANDA..SHARADA SANDHI MARK
+111CA..111CC  ; N # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 111CD         ; N # Po       SHARADA SUTRA MARK
 111D0..111D9  ; N # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
 111DA         ; N # Lo       SHARADA EKAM
+111DB         ; N # Po       SHARADA SIGN SIDDHAM
+111DC         ; N # Lo       SHARADA HEADSTROKE
+111DD..111DF  ; N # Po   [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
 111E1..111F4  ; N # No  [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
 11200..11211  ; N # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; N # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
@@ -1400,12 +1419,18 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 11235         ; N # Mc       KHOJKI SIGN VIRAMA
 11236..11237  ; N # Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
 11238..1123D  ; N # Po   [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN
+11280..11286  ; N # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; N # Lo       MULTANI LETTER GHA
+1128A..1128D  ; N # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; N # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; N # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
+112A9         ; N # Po       MULTANI SECTION MARK
 112B0..112DE  ; N # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 112DF         ; N # Mn       KHUDAWADI SIGN ANUSVARA
 112E0..112E2  ; N # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112EA  ; N # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
 112F0..112F9  ; N # Nd  [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE
-11301         ; N # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; N # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; N # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 11305..1130C  ; N # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; N # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -1420,6 +1445,7 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 11341..11344  ; N # Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
 11347..11348  ; N # Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
 1134B..1134D  ; N # Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
+11350         ; N # Lo       GRANTHA OM
 11357         ; N # Mc       GRANTHA AU LENGTH MARK
 1135D..11361  ; N # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11362..11363  ; N # Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
@@ -1445,7 +1471,9 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 115BC..115BD  ; N # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; N # Mc       SIDDHAM SIGN VISARGA
 115BF..115C0  ; N # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
-115C1..115C9  ; N # Po   [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK
+115C1..115D7  ; N # Po  [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+115D8..115DB  ; N # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
+115DC..115DD  ; N # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11600..1162F  ; N # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11630..11632  ; N # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; N # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
@@ -1465,15 +1493,27 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 116B6         ; N # Mc       TAKRI SIGN VIRAMA
 116B7         ; N # Mn       TAKRI SIGN NUKTA
 116C0..116C9  ; N # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11700..11719  ; N # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F  ; N # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; N # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725  ; N # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726         ; N # Mc       AHOM VOWEL SIGN E
+11727..1172B  ; N # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11730..11739  ; N # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
+1173A..1173B  ; N # No   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
+1173C..1173E  ; N # Po   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+1173F         ; N # So       AHOM SYMBOL VI
 118A0..118DF  ; N # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 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
 11AC0..11AF8  ; N # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; N # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
+12480..12543  ; N # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
 13000..1342E  ; N # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+14400..14646  ; N # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; N # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; N # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16A60..16A69  ; N # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
@@ -1518,7 +1558,7 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 1D185..1D18B  ; N # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D18C..1D1A9  ; N # So  [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
 1D1AA..1D1AD  ; N # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE..1D1DD  ; N # So  [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
+1D1AE..1D1E8  ; N # So  [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
 1D200..1D241  ; N # So  [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
 1D242..1D244  ; N # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 1D245         ; N # So       GREEK MUSICAL LEIMMA
@@ -1565,6 +1605,18 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 1D7C3         ; N # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; N # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; N # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1D800..1D9FF  ; N # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA00..1DA36  ; N # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA37..1DA3A  ; N # So   [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA3B..1DA6C  ; N # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA6D..1DA74  ; N # So   [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA75         ; N # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA76..1DA83  ; N # So  [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA84         ; N # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA85..1DA86  ; N # So   [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
+1DA87..1DA8B  ; N # Po   [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS
+1DA9B..1DA9F  ; N # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; N # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E800..1E8C4  ; N # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
 1E8C7..1E8CF  ; N # No   [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE
 1E8D0..1E8D6  ; N # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
@@ -1612,16 +1664,11 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 1F12E         ; N # So       CIRCLED WZ
 1F16A..1F16B  ; N # So   [2] RAISED MC SIGN..RAISED MD SIGN
 1F1E6..1F1FF  ; N # So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
-1F300..1F32C  ; N # So  [45] CYCLONE..WIND BLOWING FACE
-1F330..1F37D  ; N # So  [78] CHESTNUT..FORK AND KNIFE WITH PLATE
-1F380..1F3CE  ; N # So  [79] RIBBON..RACING CAR
-1F3D4..1F3F7  ; N # So  [36] SNOW CAPPED MOUNTAIN..LABEL
-1F400..1F4FE  ; N # So [255] RAT..PORTABLE STEREO
-1F500..1F54A  ; N # So  [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE
-1F550..1F579  ; N # So  [42] CLOCK FACE ONE OCLOCK..JOYSTICK
+1F300..1F3FA  ; N # So [251] CYCLONE..AMPHORA
+1F3FB..1F3FF  ; N # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
+1F400..1F579  ; N # So [378] RAT..JOYSTICK
 1F57B..1F5A3  ; N # So  [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX
-1F5A5..1F642  ; N # So [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE
-1F645..1F6CF  ; N # So [139] FACE WITH NO GOOD GESTURE..BED
+1F5A5..1F6D0  ; N # So [300] DESKTOP COMPUTER..PLACE OF WORSHIP
 1F6E0..1F6EC  ; N # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6F0..1F6F3  ; N # So   [4] SATELLITE..PASSENGER SHIP
 1F700..1F773  ; N # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -1631,10 +1678,13 @@ FFFC          ; N # So       OBJECT REPLACEMENT CHARACTER
 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..1F918  ; N # So   [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984  ; N # So   [5] CRAB..UNICORN FACE
+1F9C0         ; N # So       CHEESE WEDGE
 E0001         ; N # Cf       LANGUAGE TAG
 E0020..E007F  ; N # Cf  [96] TAG SPACE..CANCEL TAG
 
-# The above property value applies to 780078 code points not listed here.
+# The above property value applies to 778133 code points not listed here.
 # Total code points: 801894
 
 # ================================================
@@ -1941,8 +1991,8 @@ FFED..FFEE    ; H # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 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..9FCC    ; W # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
-9FCD..9FFF    ; W # Cn  [51] <reserved-9FCD>..<reserved-9FFF>
+4E00..9FD5    ; W # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+9FD6..9FFF    ; W # Cn  [42] <reserved-9FD6>..<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
@@ -2007,7 +2057,9 @@ FE6A..FE6B    ; W # Po   [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
 2A700..2B734  ; W # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B735..2B73F  ; W # Cn  [11] <reserved-2B735>..<reserved-2B73F>
 2B740..2B81D  ; W # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
-2B81E..2F7FF  ; W # Cn [16354] <reserved-2B81E>..<reserved-2F7FF>
+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>
 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>
index d16dc05..77c9b38 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedGeneralCategory-7.0.0.txt
-# Date: 2014-02-07, 18:42:12 GMT [MD]
+# DerivedGeneralCategory-8.0.0.txt
+# Date: 2015-02-13, 13:47:11 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -37,7 +37,7 @@
 083F          ; Cn #       <reserved-083F>
 085C..085D    ; Cn #   [2] <reserved-085C>..<reserved-085D>
 085F..089F    ; Cn #  [65] <reserved-085F>..<reserved-089F>
-08B3..08E3    ; Cn #  [49] <reserved-08B3>..<reserved-08E3>
+08B5..08E2    ; Cn #  [46] <reserved-08B5>..<reserved-08E2>
 0984          ; Cn #       <reserved-0984>
 098D..098E    ; Cn #   [2] <reserved-098D>..<reserved-098E>
 0991..0992    ; Cn #   [2] <reserved-0991>..<reserved-0992>
@@ -80,7 +80,8 @@
 0ACE..0ACF    ; Cn #   [2] <reserved-0ACE>..<reserved-0ACF>
 0AD1..0ADF    ; Cn #  [15] <reserved-0AD1>..<reserved-0ADF>
 0AE4..0AE5    ; Cn #   [2] <reserved-0AE4>..<reserved-0AE5>
-0AF2..0B00    ; Cn #  [15] <reserved-0AF2>..<reserved-0B00>
+0AF2..0AF8    ; Cn #   [7] <reserved-0AF2>..<reserved-0AF8>
+0AFA..0B00    ; Cn #   [7] <reserved-0AFA>..<reserved-0B00>
 0B04          ; Cn #       <reserved-0B04>
 0B0D..0B0E    ; Cn #   [2] <reserved-0B0D>..<reserved-0B0E>
 0B11..0B12    ; Cn #   [2] <reserved-0B11>..<reserved-0B12>
 0C49          ; Cn #       <reserved-0C49>
 0C4E..0C54    ; Cn #   [7] <reserved-0C4E>..<reserved-0C54>
 0C57          ; Cn #       <reserved-0C57>
-0C5A..0C5F    ; Cn #   [6] <reserved-0C5A>..<reserved-0C5F>
+0C5B..0C5F    ; Cn #   [5] <reserved-0C5B>..<reserved-0C5F>
 0C64..0C65    ; Cn #   [2] <reserved-0C64>..<reserved-0C65>
 0C70..0C77    ; Cn #   [8] <reserved-0C70>..<reserved-0C77>
 0C80          ; Cn #       <reserved-0C80>
 0D45          ; Cn #       <reserved-0D45>
 0D49          ; Cn #       <reserved-0D49>
 0D4F..0D56    ; Cn #   [8] <reserved-0D4F>..<reserved-0D56>
-0D58..0D5F    ; Cn #   [8] <reserved-0D58>..<reserved-0D5F>
+0D58..0D5E    ; Cn #   [7] <reserved-0D58>..<reserved-0D5E>
 0D64..0D65    ; Cn #   [2] <reserved-0D64>..<reserved-0D65>
 0D76..0D78    ; Cn #   [3] <reserved-0D76>..<reserved-0D78>
 0D80..0D81    ; Cn #   [2] <reserved-0D80>..<reserved-0D81>
 135B..135C    ; Cn #   [2] <reserved-135B>..<reserved-135C>
 137D..137F    ; Cn #   [3] <reserved-137D>..<reserved-137F>
 139A..139F    ; Cn #   [6] <reserved-139A>..<reserved-139F>
-13F5..13FF    ; Cn #  [11] <reserved-13F5>..<reserved-13FF>
+13F6..13F7    ; Cn #   [2] <reserved-13F6>..<reserved-13F7>
+13FE..13FF    ; Cn #   [2] <reserved-13FE>..<reserved-13FF>
 169D..169F    ; Cn #   [3] <reserved-169D>..<reserved-169F>
 16F9..16FF    ; Cn #   [7] <reserved-16F9>..<reserved-16FF>
 170D          ; Cn #       <reserved-170D>
 2072..2073    ; Cn #   [2] <reserved-2072>..<reserved-2073>
 208F          ; Cn #       <reserved-208F>
 209D..209F    ; Cn #   [3] <reserved-209D>..<reserved-209F>
-20BE..20CF    ; Cn #  [18] <reserved-20BE>..<reserved-20CF>
+20BF..20CF    ; Cn #  [17] <reserved-20BF>..<reserved-20CF>
 20F1..20FF    ; Cn #  [15] <reserved-20F1>..<reserved-20FF>
-218A..218F    ; Cn #   [6] <reserved-218A>..<reserved-218F>
+218C..218F    ; Cn #   [4] <reserved-218C>..<reserved-218F>
 23FB..23FF    ; Cn #   [5] <reserved-23FB>..<reserved-23FF>
 2427..243F    ; Cn #  [25] <reserved-2427>..<reserved-243F>
 244B..245F    ; Cn #  [21] <reserved-244B>..<reserved-245F>
 2B96..2B97    ; Cn #   [2] <reserved-2B96>..<reserved-2B97>
 2BBA..2BBC    ; Cn #   [3] <reserved-2BBA>..<reserved-2BBC>
 2BC9          ; Cn #       <reserved-2BC9>
-2BD2..2BFF    ; Cn #  [46] <reserved-2BD2>..<reserved-2BFF>
+2BD2..2BEB    ; Cn #  [26] <reserved-2BD2>..<reserved-2BEB>
+2BF0..2BFF    ; Cn #  [16] <reserved-2BF0>..<reserved-2BFF>
 2C2F          ; Cn #       <reserved-2C2F>
 2C5F          ; Cn #       <reserved-2C5F>
 2CF4..2CF8    ; Cn #   [5] <reserved-2CF4>..<reserved-2CF8>
 321F          ; Cn #       <reserved-321F>
 32FF          ; Cn #       <reserved-32FF>
 4DB6..4DBF    ; Cn #  [10] <reserved-4DB6>..<reserved-4DBF>
-9FCD..9FFF    ; Cn #  [51] <reserved-9FCD>..<reserved-9FFF>
+9FD6..9FFF    ; Cn #  [42] <reserved-9FD6>..<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>
-A69E          ; Cn #       <reserved-A69E>
 A6F8..A6FF    ; Cn #   [8] <reserved-A6F8>..<reserved-A6FF>
-A78F          ; Cn #       <reserved-A78F>
 A7AE..A7AF    ; Cn #   [2] <reserved-A7AE>..<reserved-A7AF>
-A7B2..A7F6    ; Cn #  [69] <reserved-A7B2>..<reserved-A7F6>
+A7B8..A7F6    ; Cn #  [63] <reserved-A7B8>..<reserved-A7F6>
 A82C..A82F    ; Cn #   [4] <reserved-A82C>..<reserved-A82F>
 A83A..A83F    ; Cn #   [6] <reserved-A83A>..<reserved-A83F>
 A878..A87F    ; Cn #   [8] <reserved-A878>..<reserved-A87F>
 A8C5..A8CD    ; Cn #   [9] <reserved-A8C5>..<reserved-A8CD>
 A8DA..A8DF    ; Cn #   [6] <reserved-A8DA>..<reserved-A8DF>
-A8FC..A8FF    ; Cn #   [4] <reserved-A8FC>..<reserved-A8FF>
+A8FE..A8FF    ; Cn #   [2] <reserved-A8FE>..<reserved-A8FF>
 A954..A95E    ; Cn #  [11] <reserved-A954>..<reserved-A95E>
 A97D..A97F    ; Cn #   [3] <reserved-A97D>..<reserved-A97F>
 A9CE          ; Cn #       <reserved-A9CE>
@@ -345,8 +346,7 @@ AB0F..AB10    ; Cn #   [2] <reserved-AB0F>..<reserved-AB10>
 AB17..AB1F    ; Cn #   [9] <reserved-AB17>..<reserved-AB1F>
 AB27          ; Cn #       <reserved-AB27>
 AB2F          ; Cn #       <reserved-AB2F>
-AB60..AB63    ; Cn #   [4] <reserved-AB60>..<reserved-AB63>
-AB66..ABBF    ; Cn #  [90] <reserved-AB66>..<reserved-ABBF>
+AB66..AB6F    ; Cn #  [10] <reserved-AB66>..<reserved-AB6F>
 ABEE..ABEF    ; Cn #   [2] <reserved-ABEE>..<reserved-ABEF>
 ABFA..ABFF    ; Cn #   [6] <reserved-ABFA>..<reserved-ABFF>
 D7A4..D7AF    ; Cn #  [12] <reserved-D7A4>..<reserved-D7AF>
@@ -367,7 +367,6 @@ FD90..FD91    ; Cn #   [2] <reserved-FD90>..<reserved-FD91>
 FDC8..FDEF    ; Cn #  [40] <reserved-FDC8>..<noncharacter-FDEF>
 FDFE..FDFF    ; Cn #   [2] <reserved-FDFE>..<reserved-FDFF>
 FE1A..FE1F    ; Cn #   [6] <reserved-FE1A>..<reserved-FE1F>
-FE2E..FE2F    ; Cn #   [2] <reserved-FE2E>..<reserved-FE2F>
 FE53          ; Cn #       <reserved-FE53>
 FE67          ; Cn #       <reserved-FE67>
 FE6C..FE6F    ; Cn #   [4] <reserved-FE6C>..<reserved-FE6F>
@@ -419,12 +418,14 @@ FFFE..FFFF    ; Cn #   [2] <noncharacter-FFFE>..<noncharacter-FFFF>
 1083D..1083E  ; Cn #   [2] <reserved-1083D>..<reserved-1083E>
 10856         ; Cn #       <reserved-10856>
 1089F..108A6  ; Cn #   [8] <reserved-1089F>..<reserved-108A6>
-108B0..108FF  ; Cn #  [80] <reserved-108B0>..<reserved-108FF>
+108B0..108DF  ; Cn #  [48] <reserved-108B0>..<reserved-108DF>
+108F3         ; Cn #       <reserved-108F3>
+108F6..108FA  ; Cn #   [5] <reserved-108F6>..<reserved-108FA>
 1091C..1091E  ; Cn #   [3] <reserved-1091C>..<reserved-1091E>
 1093A..1093E  ; Cn #   [5] <reserved-1093A>..<reserved-1093E>
 10940..1097F  ; Cn #  [64] <reserved-10940>..<reserved-1097F>
-109B8..109BD  ; Cn #   [6] <reserved-109B8>..<reserved-109BD>
-109C0..109FF  ; Cn #  [64] <reserved-109C0>..<reserved-109FF>
+109B8..109BB  ; Cn #   [4] <reserved-109B8>..<reserved-109BB>
+109D0..109D1  ; Cn #   [2] <reserved-109D0>..<reserved-109D1>
 10A04         ; Cn #       <reserved-10A04>
 10A07..10A0B  ; Cn #   [5] <reserved-10A07>..<reserved-10A0B>
 10A14         ; Cn #       <reserved-10A14>
@@ -442,7 +443,10 @@ FFFE..FFFF    ; Cn #   [2] <noncharacter-FFFE>..<noncharacter-FFFF>
 10B92..10B98  ; Cn #   [7] <reserved-10B92>..<reserved-10B98>
 10B9D..10BA8  ; Cn #  [12] <reserved-10B9D>..<reserved-10BA8>
 10BB0..10BFF  ; Cn #  [80] <reserved-10BB0>..<reserved-10BFF>
-10C49..10E5F  ; Cn # [535] <reserved-10C49>..<reserved-10E5F>
+10C49..10C7F  ; Cn #  [55] <reserved-10C49>..<reserved-10C7F>
+10CB3..10CBF  ; Cn #  [13] <reserved-10CB3>..<reserved-10CBF>
+10CF3..10CF9  ; Cn #   [7] <reserved-10CF3>..<reserved-10CF9>
+10D00..10E5F  ; Cn # [352] <reserved-10D00>..<reserved-10E5F>
 10E7F..10FFF  ; Cn # [385] <reserved-10E7F>..<reserved-10FFF>
 1104E..11051  ; Cn #   [4] <reserved-1104E>..<reserved-11051>
 11070..1107E  ; Cn #  [15] <reserved-11070>..<reserved-1107E>
@@ -452,14 +456,18 @@ FFFE..FFFF    ; Cn #   [2] <noncharacter-FFFE>..<noncharacter-FFFF>
 11135         ; Cn #       <reserved-11135>
 11144..1114F  ; Cn #  [12] <reserved-11144>..<reserved-1114F>
 11177..1117F  ; Cn #   [9] <reserved-11177>..<reserved-1117F>
-111C9..111CC  ; Cn #   [4] <reserved-111C9>..<reserved-111CC>
 111CE..111CF  ; Cn #   [2] <reserved-111CE>..<reserved-111CF>
-111DB..111E0  ; Cn #   [6] <reserved-111DB>..<reserved-111E0>
+111E0         ; Cn #       <reserved-111E0>
 111F5..111FF  ; Cn #  [11] <reserved-111F5>..<reserved-111FF>
 11212         ; Cn #       <reserved-11212>
-1123E..112AF  ; Cn # [114] <reserved-1123E>..<reserved-112AF>
+1123E..1127F  ; Cn #  [66] <reserved-1123E>..<reserved-1127F>
+11287         ; Cn #       <reserved-11287>
+11289         ; Cn #       <reserved-11289>
+1128E         ; Cn #       <reserved-1128E>
+1129E         ; Cn #       <reserved-1129E>
+112AA..112AF  ; Cn #   [6] <reserved-112AA>..<reserved-112AF>
 112EB..112EF  ; Cn #   [5] <reserved-112EB>..<reserved-112EF>
-112FA..11300  ; Cn #   [7] <reserved-112FA>..<reserved-11300>
+112FA..112FF  ; Cn #   [6] <reserved-112FA>..<reserved-112FF>
 11304         ; Cn #       <reserved-11304>
 1130D..1130E  ; Cn #   [2] <reserved-1130D>..<reserved-1130E>
 11311..11312  ; Cn #   [2] <reserved-11311>..<reserved-11312>
@@ -469,7 +477,8 @@ FFFE..FFFF    ; Cn #   [2] <noncharacter-FFFE>..<noncharacter-FFFF>
 1133A..1133B  ; Cn #   [2] <reserved-1133A>..<reserved-1133B>
 11345..11346  ; Cn #   [2] <reserved-11345>..<reserved-11346>
 11349..1134A  ; Cn #   [2] <reserved-11349>..<reserved-1134A>
-1134E..11356  ; Cn #   [9] <reserved-1134E>..<reserved-11356>
+1134E..1134F  ; Cn #   [2] <reserved-1134E>..<reserved-1134F>
+11351..11356  ; Cn #   [6] <reserved-11351>..<reserved-11356>
 11358..1135C  ; Cn #   [5] <reserved-11358>..<reserved-1135C>
 11364..11365  ; Cn #   [2] <reserved-11364>..<reserved-11365>
 1136D..1136F  ; Cn #   [3] <reserved-1136D>..<reserved-1136F>
@@ -477,18 +486,23 @@ FFFE..FFFF    ; Cn #   [2] <noncharacter-FFFE>..<noncharacter-FFFF>
 114C8..114CF  ; Cn #   [8] <reserved-114C8>..<reserved-114CF>
 114DA..1157F  ; Cn # [166] <reserved-114DA>..<reserved-1157F>
 115B6..115B7  ; Cn #   [2] <reserved-115B6>..<reserved-115B7>
-115CA..115FF  ; Cn #  [54] <reserved-115CA>..<reserved-115FF>
+115DE..115FF  ; Cn #  [34] <reserved-115DE>..<reserved-115FF>
 11645..1164F  ; Cn #  [11] <reserved-11645>..<reserved-1164F>
 1165A..1167F  ; Cn #  [38] <reserved-1165A>..<reserved-1167F>
 116B8..116BF  ; Cn #   [8] <reserved-116B8>..<reserved-116BF>
-116CA..1189F  ; Cn # [470] <reserved-116CA>..<reserved-1189F>
+116CA..116FF  ; Cn #  [54] <reserved-116CA>..<reserved-116FF>
+1171A..1171C  ; Cn #   [3] <reserved-1171A>..<reserved-1171C>
+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>
 11AF9..11FFF  ; Cn # [1287] <reserved-11AF9>..<reserved-11FFF>
-12399..123FF  ; Cn # [103] <reserved-12399>..<reserved-123FF>
+1239A..123FF  ; Cn # [102] <reserved-1239A>..<reserved-123FF>
 1246F         ; Cn #       <reserved-1246F>
-12475..12FFF  ; Cn # [2955] <reserved-12475>..<reserved-12FFF>
-1342F..167FF  ; Cn # [13265] <reserved-1342F>..<reserved-167FF>
+12475..1247F  ; Cn #  [11] <reserved-12475>..<reserved-1247F>
+12544..12FFF  ; Cn # [2748] <reserved-12544>..<reserved-12FFF>
+1342F..143FF  ; Cn # [4049] <reserved-1342F>..<reserved-143FF>
+14647..167FF  ; Cn # [8633] <reserved-14647>..<reserved-167FF>
 16A39..16A3F  ; Cn #   [7] <reserved-16A39>..<reserved-16A3F>
 16A5F         ; Cn #       <reserved-16A5F>
 16A6A..16A6D  ; Cn #   [4] <reserved-16A6A>..<reserved-16A6D>
@@ -511,7 +525,7 @@ FFFE..FFFF    ; Cn #   [2] <noncharacter-FFFE>..<noncharacter-FFFF>
 1BCA4..1CFFF  ; Cn # [4956] <reserved-1BCA4>..<reserved-1CFFF>
 1D0F6..1D0FF  ; Cn #  [10] <reserved-1D0F6>..<reserved-1D0FF>
 1D127..1D128  ; Cn #   [2] <reserved-1D127>..<reserved-1D128>
-1D1DE..1D1FF  ; Cn #  [34] <reserved-1D1DE>..<reserved-1D1FF>
+1D1E9..1D1FF  ; Cn #  [23] <reserved-1D1E9>..<reserved-1D1FF>
 1D246..1D2FF  ; Cn # [186] <reserved-1D246>..<reserved-1D2FF>
 1D357..1D35F  ; Cn #   [9] <reserved-1D357>..<reserved-1D35F>
 1D372..1D3FF  ; Cn # [142] <reserved-1D372>..<reserved-1D3FF>
@@ -535,7 +549,9 @@ FFFE..FFFF    ; Cn #   [2] <noncharacter-FFFE>..<noncharacter-FFFF>
 1D551         ; Cn #       <reserved-1D551>
 1D6A6..1D6A7  ; Cn #   [2] <reserved-1D6A6>..<reserved-1D6A7>
 1D7CC..1D7CD  ; Cn #   [2] <reserved-1D7CC>..<reserved-1D7CD>
-1D800..1E7FF  ; Cn # [4096] <reserved-1D800>..<reserved-1E7FF>
+1DA8C..1DA9A  ; Cn #  [15] <reserved-1DA8C>..<reserved-1DA9A>
+1DAA0         ; Cn #       <reserved-1DAA0>
+1DAB0..1E7FF  ; Cn # [3408] <reserved-1DAB0>..<reserved-1E7FF>
 1E8C5..1E8C6  ; Cn #   [2] <reserved-1E8C5>..<reserved-1E8C6>
 1E8D7..1EDFF  ; Cn # [1321] <reserved-1E8D7>..<reserved-1EDFF>
 1EE04         ; Cn #       <reserved-1EE04>
@@ -586,16 +602,9 @@ FFFE..FFFF    ; Cn #   [2] <noncharacter-FFFE>..<noncharacter-FFFF>
 1F23B..1F23F  ; Cn #   [5] <reserved-1F23B>..<reserved-1F23F>
 1F249..1F24F  ; Cn #   [7] <reserved-1F249>..<reserved-1F24F>
 1F252..1F2FF  ; Cn # [174] <reserved-1F252>..<reserved-1F2FF>
-1F32D..1F32F  ; Cn #   [3] <reserved-1F32D>..<reserved-1F32F>
-1F37E..1F37F  ; Cn #   [2] <reserved-1F37E>..<reserved-1F37F>
-1F3CF..1F3D3  ; Cn #   [5] <reserved-1F3CF>..<reserved-1F3D3>
-1F3F8..1F3FF  ; Cn #   [8] <reserved-1F3F8>..<reserved-1F3FF>
-1F4FF         ; Cn #       <reserved-1F4FF>
-1F54B..1F54F  ; Cn #   [5] <reserved-1F54B>..<reserved-1F54F>
 1F57A         ; Cn #       <reserved-1F57A>
 1F5A4         ; Cn #       <reserved-1F5A4>
-1F643..1F644  ; Cn #   [2] <reserved-1F643>..<reserved-1F644>
-1F6D0..1F6DF  ; Cn #  [16] <reserved-1F6D0>..<reserved-1F6DF>
+1F6D1..1F6DF  ; Cn #  [15] <reserved-1F6D1>..<reserved-1F6DF>
 1F6ED..1F6EF  ; Cn #   [3] <reserved-1F6ED>..<reserved-1F6EF>
 1F6F4..1F6FF  ; Cn #  [12] <reserved-1F6F4>..<reserved-1F6FF>
 1F774..1F77F  ; Cn #  [12] <reserved-1F774>..<reserved-1F77F>
@@ -604,10 +613,14 @@ FFFE..FFFF    ; Cn #   [2] <noncharacter-FFFE>..<noncharacter-FFFF>
 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..1FFFF  ; Cn # [1874] <reserved-1F8AE>..<noncharacter-1FFFF>
+1F8AE..1F90F  ; Cn #  [98] <reserved-1F8AE>..<reserved-1F90F>
+1F919..1F97F  ; Cn # [103] <reserved-1F919>..<reserved-1F97F>
+1F985..1F9BF  ; Cn #  [59] <reserved-1F985>..<reserved-1F9BF>
+1F9C1..1FFFF  ; Cn # [1599] <reserved-1F9C1>..<noncharacter-1FFFF>
 2A6D7..2A6FF  ; Cn #  [41] <reserved-2A6D7>..<reserved-2A6FF>
 2B735..2B73F  ; Cn #  [11] <reserved-2B735>..<reserved-2B73F>
-2B81E..2F7FF  ; Cn # [16354] <reserved-2B81E>..<reserved-2F7FF>
+2B81E..2B81F  ; Cn #   [2] <reserved-2B81E>..<reserved-2B81F>
+2CEA2..2F7FF  ; Cn # [10590] <reserved-2CEA2>..<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>
@@ -615,7 +628,7 @@ E01F0..EFFFF  ; Cn # [65040] <reserved-E01F0>..<noncharacter-EFFFF>
 FFFFE..FFFFF  ; Cn #   [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
 10FFFE..10FFFF; Cn #   [2] <noncharacter-10FFFE>..<noncharacter-10FFFF>
 
-# Total code points: 861575
+# Total code points: 853859
 
 # ================================================
 
@@ -896,6 +909,7 @@ FFFFE..FFFFF  ; Cn #   [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
 10A0..10C5    ; Lu #  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
 10C7          ; Lu #       GEORGIAN CAPITAL LETTER YN
 10CD          ; Lu #       GEORGIAN CAPITAL LETTER AEN
+13A0..13F5    ; Lu #  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
 1E00          ; Lu #       LATIN CAPITAL LETTER A WITH RING BELOW
 1E02          ; Lu #       LATIN CAPITAL LETTER B WITH DOT ABOVE
 1E04          ; Lu #       LATIN CAPITAL LETTER B WITH DOT BELOW
@@ -1208,9 +1222,11 @@ A7A4          ; Lu #       LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
 A7A6          ; Lu #       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8          ; Lu #       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
 A7AA..A7AD    ; Lu #   [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; Lu #   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B4    ; Lu #   [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA
+A7B6          ; Lu #       LATIN CAPITAL LETTER OMEGA
 FF21..FF3A    ; Lu #  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Lu #  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
+10C80..10CB2  ; Lu #  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
 118A0..118BF  ; Lu #  [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO
 1D400..1D419  ; Lu #  [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
 1D434..1D44D  ; Lu #  [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z
@@ -1244,7 +1260,7 @@ FF21..FF3A    ; Lu #  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAP
 1D790..1D7A8  ; Lu #  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
 1D7CA         ; Lu #       MATHEMATICAL BOLD CAPITAL DIGAMMA
 
-# Total code points: 1490
+# Total code points: 1631
 
 # ================================================
 
@@ -1520,6 +1536,7 @@ FF21..FF3A    ; Lu #  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAP
 052D          ; Ll #       CYRILLIC SMALL LETTER DCHE
 052F          ; Ll #       CYRILLIC SMALL LETTER EL WITH DESCENDER
 0561..0587    ; Ll #  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+13F8..13FD    ; Ll #   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1D00..1D2B    ; Ll #  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D6B..1D77    ; Ll #  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D79..1D9A    ; Ll #  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
@@ -1839,13 +1856,17 @@ A7A3          ; Ll #       LATIN SMALL LETTER K WITH OBLIQUE STROKE
 A7A5          ; Ll #       LATIN SMALL LETTER N WITH OBLIQUE STROKE
 A7A7          ; Ll #       LATIN SMALL LETTER R WITH OBLIQUE STROKE
 A7A9          ; Ll #       LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7B5          ; Ll #       LATIN SMALL LETTER BETA
+A7B7          ; Ll #       LATIN SMALL LETTER OMEGA
 A7FA          ; Ll #       LATIN LETTER SMALL CAPITAL TURNED M
 AB30..AB5A    ; Ll #  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
-AB64..AB65    ; Ll #   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; Ll #   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; Ll #  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 FB00..FB06    ; Ll #   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Ll #   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FF41..FF5A    ; Ll #  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10428..1044F  ; Ll #  [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
+10CC0..10CF2  ; Ll #  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
 118C0..118DF  ; Ll #  [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 1D41A..1D433  ; Ll #  [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z
 1D44E..1D454  ; Ll #   [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G
@@ -1876,7 +1897,7 @@ FF41..FF5A    ; Ll #  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL
 1D7C4..1D7C9  ; Ll #   [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
 1D7CB         ; Ll #       MATHEMATICAL BOLD SMALL DIGAMMA
 
-# Total code points: 1841
+# Total code points: 1984
 
 # ================================================
 
@@ -1984,7 +2005,7 @@ FF9E..FF9F    ; Lm #   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK
 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
-08A0..08B2    ; Lo #  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+08A0..08B4    ; Lo #  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 0904..0939    ; Lo #  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093D          ; Lo #       DEVANAGARI SIGN AVAGRAHA
 0950          ; Lo #       DEVANAGARI OM
@@ -2020,6 +2041,7 @@ FF9E..FF9F    ; Lm #   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK
 0ABD          ; Lo #       GUJARATI SIGN AVAGRAHA
 0AD0          ; Lo #       GUJARATI OM
 0AE0..0AE1    ; Lo #   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
+0AF9          ; Lo #       GUJARATI LETTER ZHA
 0B05..0B0C    ; Lo #   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
 0B0F..0B10    ; Lo #   [2] ORIYA LETTER E..ORIYA LETTER AI
 0B13..0B28    ; Lo #  [22] ORIYA LETTER O..ORIYA LETTER NA
@@ -2046,7 +2068,7 @@ FF9E..FF9F    ; Lm #   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK
 0C12..0C28    ; Lo #  [23] TELUGU LETTER O..TELUGU LETTER NA
 0C2A..0C39    ; Lo #  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; Lo #       TELUGU SIGN AVAGRAHA
-0C58..0C59    ; Lo #   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; Lo #   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; Lo #   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C85..0C8C    ; Lo #   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
 0C8E..0C90    ; Lo #   [3] KANNADA LETTER E..KANNADA LETTER AI
@@ -2062,7 +2084,7 @@ FF9E..FF9F    ; Lm #   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK
 0D12..0D3A    ; Lo #  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
 0D3D          ; Lo #       MALAYALAM SIGN AVAGRAHA
 0D4E          ; Lo #       MALAYALAM LETTER DOT REPH
-0D60..0D61    ; Lo #   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; Lo #   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D7A..0D7F    ; Lo #   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
 0D85..0D96    ; Lo #  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
 0D9A..0DB1    ; Lo #  [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
@@ -2119,7 +2141,6 @@ FF9E..FF9F    ; Lm #   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK
 1312..1315    ; Lo #   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; Lo #  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
 1380..138F    ; Lo #  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4    ; Lo #  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
 1401..166C    ; Lo # [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166F..167F    ; Lo #  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
 1681..169A    ; Lo #  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
@@ -2142,7 +2163,7 @@ FF9E..FF9F    ; Lm #   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK
 1950..196D    ; Lo #  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; Lo #   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; Lo #  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19C1..19C7    ; Lo #   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
+19B0..19C9    ; Lo #  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 1A00..1A16    ; Lo #  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
 1A20..1A54    ; Lo #  [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
 1B05..1B33    ; Lo #  [47] BALINESE LETTER AKARA..BALINESE LETTER HA
@@ -2178,7 +2199,7 @@ FF9E..FF9F    ; Lm #   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK
 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..9FCC    ; Lo # [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+4E00..9FD5    ; Lo # [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
 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
@@ -2187,6 +2208,7 @@ A610..A61F    ; Lo #  [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
 A62A..A62B    ; Lo #   [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
 A66E          ; Lo #       CYRILLIC LETTER MULTIOCULAR O
 A6A0..A6E5    ; Lo #  [70] BAMUM LETTER A..BAMUM LETTER KI
+A78F          ; Lo #       LATIN LETTER SINOLOGICAL DOT
 A7F7          ; Lo #       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7FB..A801    ; Lo #   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A803..A805    ; Lo #   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
@@ -2196,6 +2218,7 @@ A840..A873    ; Lo #  [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
 A882..A8B3    ; Lo #  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
 A8F2..A8F7    ; Lo #   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8FB          ; Lo #       DEVANAGARI HEADSTROKE
+A8FD          ; Lo #       DEVANAGARI JAIN OM
 A90A..A925    ; Lo #  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A930..A946    ; Lo #  [23] REJANG LETTER KA..REJANG LETTER A
 A960..A97C    ; Lo #  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
@@ -2280,6 +2303,8 @@ FFDA..FFDC    ; Lo #   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
 1083F..10855  ; Lo #  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10860..10876  ; Lo #  [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW
 10880..1089E  ; Lo #  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
+108E0..108F2  ; Lo #  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; Lo #   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; Lo #  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; Lo #  [26] LYDIAN LETTER A..LYDIAN LETTER C
 10980..109B7  ; Lo #  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
@@ -2306,8 +2331,14 @@ FFDA..FFDC    ; Lo #   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
 11183..111B2  ; Lo #  [48] SHARADA LETTER A..SHARADA LETTER HA
 111C1..111C4  ; Lo #   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
 111DA         ; Lo #       SHARADA EKAM
+111DC         ; Lo #       SHARADA HEADSTROKE
 11200..11211  ; Lo #  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; Lo #  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
+11280..11286  ; Lo #   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; Lo #       MULTANI LETTER GHA
+1128A..1128D  ; Lo #   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; Lo #  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; Lo #  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112B0..112DE  ; Lo #  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 11305..1130C  ; Lo #   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; Lo #   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -2316,18 +2347,23 @@ FFDA..FFDC    ; Lo #   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
 11332..11333  ; Lo #   [2] GRANTHA LETTER LA..GRANTHA LETTER LLA
 11335..11339  ; Lo #   [5] GRANTHA LETTER VA..GRANTHA LETTER HA
 1133D         ; Lo #       GRANTHA SIGN AVAGRAHA
+11350         ; Lo #       GRANTHA OM
 1135D..11361  ; Lo #   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11480..114AF  ; Lo #  [48] TIRHUTA ANJI..TIRHUTA LETTER HA
 114C4..114C5  ; Lo #   [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG
 114C7         ; Lo #       TIRHUTA OM
 11580..115AE  ; Lo #  [47] SIDDHAM LETTER A..SIDDHAM LETTER HA
+115D8..115DB  ; Lo #   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
 11600..1162F  ; Lo #  [48] MODI LETTER A..MODI LETTER LLA
 11644         ; Lo #       MODI SIGN HUVA
 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
 11AC0..11AF8  ; Lo #  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; Lo # [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
+14400..14646  ; Lo # [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; Lo # [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; Lo #  [31] MRO LETTER TA..MRO LETTER TEK
 16AD0..16AED  ; Lo #  [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I
@@ -2378,9 +2414,10 @@ FFDA..FFDC    ; Lo #   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
 20000..2A6D6  ; Lo # [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 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
 2F800..2FA1D  ; Lo # [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 99115
+# Total code points: 105697
 
 # ================================================
 
@@ -2409,7 +2446,7 @@ FFDA..FFDC    ; Lo #   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
 0825..0827    ; Mn #   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; Mn #   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; Mn #   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
-08E4..0902    ; Mn #  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08E3..0902    ; Mn #  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 093A          ; Mn #       DEVANAGARI VOWEL SIGN OE
 093C          ; Mn #       DEVANAGARI SIGN NUKTA
 0941..0948    ; Mn #   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
@@ -2552,7 +2589,7 @@ FFDA..FFDC    ; Lo #   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
 3099..309A    ; Mn #   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 A66F          ; Mn #       COMBINING CYRILLIC VZMET
 A674..A67D    ; Mn #  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
-A69F          ; Mn #       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; Mn #   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; Mn #   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A802          ; Mn #       SYLOTI NAGRI SIGN DVISVARA
 A806          ; Mn #       SYLOTI NAGRI SIGN HASANTA
@@ -2585,7 +2622,7 @@ ABE8          ; Mn #       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; Mn #       MEETEI MAYEK APUN IYEK
 FB1E          ; Mn #       HEBREW POINT JUDEO-SPANISH VARIKA
 FE00..FE0F    ; Mn #  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; Mn #  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; Mn #  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 101FD         ; Mn #       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
 102E0         ; Mn #       COPTIC EPACT THOUSANDS MARK
 10376..1037A  ; Mn #   [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
@@ -2606,12 +2643,13 @@ FE20..FE2D    ; Mn #  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MA
 11173         ; Mn #       MAHAJANI SIGN NUKTA
 11180..11181  ; Mn #   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
 111B6..111BE  ; Mn #   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111CA..111CC  ; Mn #   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 1122F..11231  ; Mn #   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11234         ; Mn #       KHOJKI SIGN ANUSVARA
 11236..11237  ; Mn #   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
 112DF         ; Mn #       KHUDAWADI SIGN ANUSVARA
 112E3..112EA  ; Mn #   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
-11301         ; Mn #       GRANTHA SIGN CANDRABINDU
+11300..11301  ; Mn #   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 1133C         ; Mn #       GRANTHA SIGN NUKTA
 11340         ; Mn #       GRANTHA VOWEL SIGN II
 11366..1136C  ; Mn #   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
@@ -2623,6 +2661,7 @@ FE20..FE2D    ; Mn #  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MA
 115B2..115B5  ; Mn #   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
 115BC..115BD  ; Mn #   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BF..115C0  ; Mn #   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; Mn #   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11633..1163A  ; Mn #   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163D         ; Mn #       MODI SIGN ANUSVARA
 1163F..11640  ; Mn #   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
@@ -2630,6 +2669,9 @@ FE20..FE2D    ; Mn #  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MA
 116AD         ; Mn #       TAKRI VOWEL SIGN AA
 116B0..116B5  ; Mn #   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116B7         ; Mn #       TAKRI SIGN NUKTA
+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
 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
@@ -2639,10 +2681,16 @@ FE20..FE2D    ; Mn #  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MA
 1D185..1D18B  ; Mn #   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; Mn #   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; Mn #   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1DA00..1DA36  ; Mn #  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; Mn #  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; Mn #       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; Mn #       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; Mn #   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; Mn #  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E8D0..1E8D6  ; Mn #   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 E0100..E01EF  ; Mn # [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1418
+# Total code points: 1567
 
 # ================================================
 
@@ -2724,8 +2772,6 @@ A670..A672    ; Me #   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRIL
 1929..192B    ; Mc #   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
 1930..1931    ; Mc #   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
 1933..1938    ; Mc #   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-19B0..19C0    ; Mc #  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9    ; Mc #   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
 1A19..1A1A    ; Mc #   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
 1A55          ; Mc #       TAI THAM CONSONANT SIGN MEDIAL RA
 1A57          ; Mc #       TAI THAM CONSONANT SIGN LA TANG LAI
@@ -2804,11 +2850,13 @@ ABEC          ; Mc #       MEETEI MAYEK LUM IYEK
 116AC         ; Mc #       TAKRI SIGN VISARGA
 116AE..116AF  ; Mc #   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
 116B6         ; Mc #       TAKRI SIGN VIRAMA
+11720..11721  ; Mc #   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11726         ; Mc #       AHOM VOWEL SIGN E
 16F51..16F7E  ; Mc #  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 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: 399
+# Total code points: 383
 
 # ================================================
 
@@ -2860,12 +2908,13 @@ FF10..FF19    ; Nd #  [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
 114D0..114D9  ; Nd #  [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE
 11650..11659  ; Nd #  [10] MODI DIGIT ZERO..MODI DIGIT NINE
 116C0..116C9  ; Nd #  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11730..11739  ; Nd #  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; Nd #  [10] WARANG CITI DIGIT ZERO..WARANG CITI 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
 
-# Total code points: 540
+# Total code points: 550
 
 # ================================================
 
@@ -2926,7 +2975,11 @@ A830..A835    ; No #   [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTIO
 10858..1085F  ; No #   [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
 10879..1087F  ; No #   [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY
 108A7..108AF  ; No #   [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
+108FB..108FF  ; No #   [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
 10916..1091B  ; No #   [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
+109BC..109BD  ; No #   [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
+109C0..109CF  ; No #  [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF  ; No #  [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 10A40..10A47  ; No #   [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND
 10A7D..10A7E  ; No #   [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
 10A9D..10A9F  ; No #   [3] OLD NORTH ARABIAN NUMBER ONE..OLD NORTH ARABIAN NUMBER TWENTY
@@ -2934,16 +2987,18 @@ A830..A835    ; No #   [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTIO
 10B58..10B5F  ; No #   [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
 10B78..10B7F  ; No #   [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
 10BA9..10BAF  ; No #   [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
+10CFA..10CFF  ; No #   [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
 10E60..10E7E  ; No #  [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
 11052..11065  ; No #  [20] BRAHMI NUMBER ONE..BRAHMI NUMBER ONE THOUSAND
 111E1..111F4  ; No #  [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
+1173A..1173B  ; No #   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
 118EA..118F2  ; No #   [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 16B5B..16B61  ; No #   [7] PAHAWH HMONG NUMBER TENS..PAHAWH HMONG NUMBER TRILLIONS
 1D360..1D371  ; No #  [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
 1E8C7..1E8CF  ; No #   [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE
 1F100..1F10C  ; No #  [13] DIGIT ZERO FULL STOP..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO
 
-# Total code points: 570
+# Total code points: 647
 
 # ================================================
 
@@ -3322,6 +3377,7 @@ A6F2..A6F7    ; Po #   [6] BAMUM NJAEMLI..BAMUM QUESTION MARK
 A874..A877    ; Po #   [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD
 A8CE..A8CF    ; Po #   [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
 A8F8..A8FA    ; Po #   [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
+A8FC          ; Po #       DEVANAGARI SIGN SIDDHAM
 A92E..A92F    ; Po #   [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
 A95F          ; Po #       REJANG SECTION MARK
 A9C1..A9CD    ; Po #  [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH
@@ -3367,20 +3423,25 @@ FF64..FF65    ; Po #   [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDL
 110BE..110C1  ; Po #   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
 11140..11143  ; Po #   [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK
 11174..11175  ; Po #   [2] MAHAJANI ABBREVIATION SIGN..MAHAJANI SECTION MARK
-111C5..111C8  ; Po #   [4] SHARADA DANDA..SHARADA SEPARATOR
+111C5..111C9  ; Po #   [5] SHARADA DANDA..SHARADA SANDHI MARK
 111CD         ; Po #       SHARADA SUTRA MARK
+111DB         ; Po #       SHARADA SIGN SIDDHAM
+111DD..111DF  ; Po #   [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
 11238..1123D  ; Po #   [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN
+112A9         ; Po #       MULTANI SECTION MARK
 114C6         ; Po #       TIRHUTA ABBREVIATION SIGN
-115C1..115C9  ; Po #   [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK
+115C1..115D7  ; Po #  [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
 11641..11643  ; Po #   [3] MODI DANDA..MODI ABBREVIATION SIGN
+1173C..1173E  ; Po #   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
 12470..12474  ; Po #   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
 16A6E..16A6F  ; Po #   [2] MRO DANDA..MRO DOUBLE DANDA
 16AF5         ; Po #       BASSA VAH FULL STOP
 16B37..16B3B  ; Po #   [5] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN VOS FEEM
 16B44         ; Po #       PAHAWH HMONG SIGN XAUS
 1BC9F         ; Po #       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
+1DA87..1DA8B  ; Po #   [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS
 
-# Total code points: 484
+# Total code points: 513
 
 # ================================================
 
@@ -3467,7 +3528,7 @@ FFE9..FFEC    ; Sm #   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
 0BF9          ; Sc #       TAMIL RUPEE SIGN
 0E3F          ; Sc #       THAI CURRENCY SYMBOL BAHT
 17DB          ; Sc #       KHMER CURRENCY SYMBOL RIEL
-20A0..20BD    ; Sc #  [30] EURO-CURRENCY SIGN..RUBLE SIGN
+20A0..20BE    ; Sc #  [31] EURO-CURRENCY SIGN..LARI SIGN
 A838          ; Sc #       NORTH INDIC RUPEE MARK
 FDFC          ; Sc #       RIAL SIGN
 FE69          ; Sc #       SMALL DOLLAR SIGN
@@ -3475,7 +3536,7 @@ FF04          ; Sc #       FULLWIDTH DOLLAR SIGN
 FFE0..FFE1    ; Sc #   [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
 FFE5..FFE6    ; Sc #   [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
 
-# Total code points: 52
+# Total code points: 53
 
 # ================================================
 
@@ -3509,8 +3570,9 @@ FBB2..FBC1    ; Sk #  [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELO
 FF3E          ; Sk #       FULLWIDTH CIRCUMFLEX ACCENT
 FF40          ; Sk #       FULLWIDTH GRAVE ACCENT
 FFE3          ; Sk #       FULLWIDTH MACRON
+1F3FB..1F3FF  ; Sk #   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
 
-# Total code points: 116
+# Total code points: 121
 
 # ================================================
 
@@ -3564,6 +3626,7 @@ FFE3          ; Sk #       FULLWIDTH MACRON
 214A          ; So #       PROPERTY LINE
 214C..214D    ; So #   [2] PER SIGN..AKTIESELSKAB
 214F          ; So #       SYMBOL FOR SAMARITAN SOURCE
+218A..218B    ; So #   [2] TURNED DIGIT TWO..TURNED DIGIT THREE
 2195..2199    ; So #   [5] UP DOWN ARROW..SOUTH WEST ARROW
 219C..219F    ; So #   [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
 21A1..21A2    ; So #   [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
@@ -3597,6 +3660,7 @@ FFE3          ; Sk #       FULLWIDTH MACRON
 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
+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
 2E9B..2EF3    ; So #  [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
@@ -3636,6 +3700,7 @@ FFFC..FFFD    ; So #   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 101D0..101FC  ; So #  [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
 10877..10878  ; So #   [2] PALMYRENE LEFT-POINTING FLEURON..PALMYRENE RIGHT-POINTING FLEURON
 10AC8         ; So #       MANICHAEAN SIGN UD
+1173F         ; So #       AHOM SYMBOL VI
 16B3C..16B3F  ; So #   [4] PAHAWH HMONG SIGN XYEEM NTXIV..PAHAWH HMONG SIGN XYEEM FAIB
 16B45         ; So #       PAHAWH HMONG SIGN CIM TSOV ROG
 1BC9C         ; So #       DUPLOYAN SIGN O WITH CROSS
@@ -3645,10 +3710,15 @@ FFFC..FFFD    ; So #   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 1D16A..1D16C  ; So #   [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
 1D183..1D184  ; So #   [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
 1D18C..1D1A9  ; So #  [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD  ; So #  [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
+1D1AE..1D1E8  ; So #  [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
 1D200..1D241  ; So #  [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
 1D245         ; So #       GREEK MUSICAL LEIMMA
 1D300..1D356  ; So #  [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
+1D800..1D9FF  ; So # [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA37..1DA3A  ; So #   [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA6D..1DA74  ; So #   [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA76..1DA83  ; So #  [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA85..1DA86  ; So #   [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
 1F000..1F02B  ; So #  [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
 1F030..1F093  ; So # [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
 1F0A0..1F0AE  ; So #  [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES
@@ -3662,16 +3732,10 @@ FFFC..FFFD    ; So #   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 1F210..1F23A  ; So #  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
 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
-1F300..1F32C  ; So #  [45] CYCLONE..WIND BLOWING FACE
-1F330..1F37D  ; So #  [78] CHESTNUT..FORK AND KNIFE WITH PLATE
-1F380..1F3CE  ; So #  [79] RIBBON..RACING CAR
-1F3D4..1F3F7  ; So #  [36] SNOW CAPPED MOUNTAIN..LABEL
-1F400..1F4FE  ; So # [255] RAT..PORTABLE STEREO
-1F500..1F54A  ; So #  [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE
-1F550..1F579  ; So #  [42] CLOCK FACE ONE OCLOCK..JOYSTICK
+1F300..1F3FA  ; So # [251] CYCLONE..AMPHORA
+1F400..1F579  ; So # [378] RAT..JOYSTICK
 1F57B..1F5A3  ; So #  [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX
-1F5A5..1F642  ; So # [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE
-1F645..1F6CF  ; So # [139] FACE WITH NO GOOD GESTURE..BED
+1F5A5..1F6D0  ; So # [300] DESKTOP COMPUTER..PLACE OF WORSHIP
 1F6E0..1F6EC  ; So #  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6F0..1F6F3  ; So #   [4] SATELLITE..PASSENGER SHIP
 1F700..1F773  ; So # [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -3681,8 +3745,11 @@ FFFC..FFFD    ; So #   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
 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..1F918  ; So #   [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984  ; So #   [5] CRAB..UNICORN FACE
+1F9C0         ; So #       CHEESE WEDGE
 
-# Total code points: 5082
+# Total code points: 5677
 
 # ================================================
 
index 2489a7c..4fe657e 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedJoiningGroup-7.0.0.txt
-# Date: 2013-11-27, 09:54:34 GMT [MD]
+# DerivedJoiningGroup-8.0.0.txt
+# Date: 2015-02-13, 13:47:12 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -21,8 +21,9 @@
 06A0          ; Ain # Lo       ARABIC LETTER AIN WITH THREE DOTS ABOVE
 06FC          ; Ain # Lo       ARABIC LETTER GHAIN WITH DOT BELOW
 075D..075F    ; Ain # Lo   [3] ARABIC LETTER AIN WITH TWO DOTS ABOVE..ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
+08B3          ; Ain # Lo       ARABIC LETTER AIN WITH THREE DOTS BELOW
 
-# Total code points: 7
+# Total code points: 8
 
 # ================================================
 
 0643          ; Kaf # Lo       ARABIC LETTER KAF
 06AC..06AE    ; Kaf # Lo   [3] ARABIC LETTER KAF WITH DOT ABOVE..ARABIC LETTER KAF WITH THREE DOTS BELOW
 077F          ; Kaf # Lo       ARABIC LETTER KAF WITH TWO DOTS ABOVE
+08B4          ; Kaf # Lo       ARABIC LETTER KAF WITH DOT BELOW
 
-# Total code points: 5
+# Total code points: 6
 
 # ================================================
 
index 9381eb9..3261fe0 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedJoiningType-7.0.0.txt
-# Date: 2014-02-07, 18:42:13 GMT [MD]
+# DerivedJoiningType-8.0.0.txt
+# Date: 2015-02-13, 13:47:12 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
 077A..077F    ; D # Lo   [6] ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER KAF WITH TWO DOTS ABOVE
 07CA..07EA    ; D # Lo  [33] NKO LETTER A..NKO LETTER JONA RA
 0841..0845    ; D # Lo   [5] MANDAIC LETTER AB..MANDAIC LETTER USHENNA
-0847..0848    ; D # Lo   [2] MANDAIC LETTER IT..MANDAIC LETTER ATT
-084A..084E    ; D # Lo   [5] MANDAIC LETTER AK..MANDAIC LETTER AS
-0850..0853    ; D # Lo   [4] MANDAIC LETTER AP..MANDAIC LETTER AR
+0848          ; D # Lo       MANDAIC LETTER ATT
+084A..0853    ; D # Lo  [10] MANDAIC LETTER AK..MANDAIC LETTER AR
 0855          ; D # Lo       MANDAIC LETTER AT
 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
 1807          ; D # Po       MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
 1820..1842    ; D # Lo  [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
 1843          ; D # Lm       MONGOLIAN LETTER TODO LONG VOWEL SIGN
@@ -86,7 +86,7 @@ A840..A871    ; D # Lo  [50] PHAGS-PA LETTER KA..PHAGS-PA SUBJOINED LETTER RA
 10B90         ; D # Lo       PSALTER PAHLAVI LETTER SHIN
 10BAD..10BAE  ; D # No   [2] PSALTER PAHLAVI NUMBER TEN..PSALTER PAHLAVI NUMBER TWENTY
 
-# Total code points: 424
+# Total code points: 426
 
 # ================================================
 
@@ -121,9 +121,8 @@ A840..A871    ; D # Lo  [50] PHAGS-PA LETTER KA..PHAGS-PA SUBJOINED LETTER RA
 0773..0774    ; R # Lo   [2] ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
 0778..0779    ; R # Lo   [2] ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
 0840          ; R # Lo       MANDAIC LETTER HALQA
-0846          ; R # Lo       MANDAIC LETTER AZ
+0846..0847    ; R # Lo   [2] MANDAIC LETTER AZ..MANDAIC LETTER IT
 0849          ; R # Lo       MANDAIC LETTER AKSA
-084F          ; R # Lo       MANDAIC LETTER IN
 0854          ; R # Lo       MANDAIC LETTER ASH
 08AA..08AC    ; R # Lo   [3] ARABIC LETTER REH WITH LOOP..ARABIC LETTER ROHINGYA YEH
 08AE          ; R # Lo       ARABIC LETTER DAL WITH THREE DOTS BELOW
@@ -187,7 +186,7 @@ A872          ; L # Lo       PHAGS-PA SUPERFIXED LETTER RA
 0825..0827    ; T # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; T # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; T # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
-08E4..0902    ; T # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08E3..0902    ; T # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 093A          ; T # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; T # Mn       DEVANAGARI SIGN NUKTA
 0941..0948    ; T # Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
@@ -339,7 +338,7 @@ A872          ; L # Lo       PHAGS-PA SUPERFIXED LETTER RA
 A66F          ; T # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; T # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A674..A67D    ; T # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
-A69F          ; T # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; T # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; T # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A802          ; T # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; T # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -372,7 +371,7 @@ ABE8          ; T # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; T # Mn       MEETEI MAYEK APUN IYEK
 FB1E          ; T # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 FE00..FE0F    ; T # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; T # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; T # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FEFF          ; T # Cf       ZERO WIDTH NO-BREAK SPACE
 FFF9..FFFB    ; T # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
 101FD         ; T # Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
@@ -396,12 +395,13 @@ FFF9..FFFB    ; T # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATI
 11173         ; T # Mn       MAHAJANI SIGN NUKTA
 11180..11181  ; T # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
 111B6..111BE  ; T # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111CA..111CC  ; T # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 1122F..11231  ; T # Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11234         ; T # Mn       KHOJKI SIGN ANUSVARA
 11236..11237  ; T # Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
 112DF         ; T # Mn       KHUDAWADI SIGN ANUSVARA
 112E3..112EA  ; T # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
-11301         ; T # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; T # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 1133C         ; T # Mn       GRANTHA SIGN NUKTA
 11340         ; T # Mn       GRANTHA VOWEL SIGN II
 11366..1136C  ; T # Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
@@ -413,6 +413,7 @@ FFF9..FFFB    ; T # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATI
 115B2..115B5  ; T # Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
 115BC..115BD  ; T # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BF..115C0  ; T # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; T # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11633..1163A  ; T # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163D         ; T # Mn       MODI SIGN ANUSVARA
 1163F..11640  ; T # Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
@@ -420,6 +421,9 @@ FFF9..FFFB    ; T # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATI
 116AD         ; T # Mn       TAKRI VOWEL SIGN AA
 116B0..116B5  ; T # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116B7         ; T # Mn       TAKRI SIGN NUKTA
+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
 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
@@ -431,11 +435,17 @@ FFF9..FFFB    ; T # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATI
 1D185..1D18B  ; T # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; T # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; T # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1DA00..1DA36  ; T # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; T # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; T # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; T # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; T # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; T # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E8D0..1E8D6  ; T # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 E0001         ; T # Cf       LANGUAGE TAG
 E0020..E007F  ; T # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; T # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1567
+# Total code points: 1716
 
 # EOF
index 4ddecba..bbdbac1 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedLineBreak-7.0.0.txt
-# Date: 2014-02-07, 18:42:14 GMT [MD]
+# DerivedLineBreak-8.0.0.txt
+# Date: 2015-02-14, 10:26:02 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -23,8 +23,8 @@ E000..F8FF    ; XX # Co [6400] <private-use-E000>..<private-use-F8FF>
 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 778012 code points not listed here.
-# Total code points: 915480
+# The above property value applies to 776068 code points not listed here.
+# Total code points: 913536
 
 # ================================================
 
@@ -112,8 +112,9 @@ FF62          ; OP # Ps       HALFWIDTH LEFT CORNER BRACKET
 13286         ; OP # Lo       EGYPTIAN HIEROGLYPH O036A
 13288         ; OP # Lo       EGYPTIAN HIEROGLYPH O036C
 13379         ; OP # Lo       EGYPTIAN HIEROGLYPH V011A
+145CE         ; OP # Lo       ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK
 
-# Total code points: 84
+# Total code points: 85
 
 # ================================================
 
@@ -202,8 +203,9 @@ FF64          ; CL # Po       HALFWIDTH IDEOGRAPHIC COMMA
 13287         ; CL # Lo       EGYPTIAN HIEROGLYPH O036B
 13289         ; CL # Lo       EGYPTIAN HIEROGLYPH O036D
 1337A..1337B  ; CL # Lo   [2] EGYPTIAN HIEROGLYPH V011B..EGYPTIAN HIEROGLYPH V011C
+145CF         ; CL # Lo       ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK
 
-# Total code points: 89
+# Total code points: 90
 
 # ================================================
 
@@ -357,7 +359,7 @@ FE13..FE14    ; IS # Po   [2] PRESENTATION FORM FOR VERTICAL COLON..PRESENTATION
 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
-20BE..20CF    ; PR # Cn  [18] <reserved-20BE>..<reserved-20CF>
+20BF..20CF    ; PR # Cn  [17] <reserved-20BF>..<reserved-20CF>
 2116          ; PR # So       NUMERO SIGN
 2212..2213    ; PR # Sm   [2] MINUS SIGN..MINUS-OR-PLUS SIGN
 FE69          ; PR # Sc       SMALL DOLLAR SIGN
@@ -365,7 +367,7 @@ FF04          ; PR # Sc       FULLWIDTH DOLLAR SIGN
 FFE1          ; PR # Sc       FULLWIDTH POUND SIGN
 FFE5..FFE6    ; PR # Sc   [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
 
-# Total code points: 66
+# Total code points: 65
 
 # ================================================
 
@@ -384,6 +386,7 @@ FFE5..FFE6    ; PR # Sc   [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
 20A7          ; PO # Sc       PESETA SIGN
 20B6          ; PO # Sc       LIVRE TOURNOIS SIGN
 20BB          ; PO # Sc       NORDIC MARK SIGN
+20BE          ; PO # Sc       LARI SIGN
 2103          ; PO # So       DEGREE CELSIUS
 2109          ; PO # So       DEGREE FAHRENHEIT
 A838          ; PO # Sc       NORTH INDIC RUPEE MARK
@@ -392,7 +395,7 @@ FE6A          ; PO # Po       SMALL PERCENT SIGN
 FF05          ; PO # Po       FULLWIDTH PERCENT SIGN
 FFE0          ; PO # Sc       FULLWIDTH CENT SIGN
 
-# Total code points: 29
+# Total code points: 30
 
 # ================================================
 
@@ -444,12 +447,13 @@ ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 114D0..114D9  ; NU # Nd  [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE
 11650..11659  ; NU # Nd  [10] MODI DIGIT ZERO..MODI DIGIT NINE
 116C0..116C9  ; NU # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11730..11739  ; NU # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; NU # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI 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
 
-# Total code points: 532
+# Total code points: 542
 
 # ================================================
 
@@ -557,7 +561,7 @@ ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 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
-08A0..08B2    ; AL # Lo  [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+08A0..08B4    ; AL # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 0904..0939    ; AL # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093D          ; AL # Lo       DEVANAGARI SIGN AVAGRAHA
 0950          ; AL # Lo       DEVANAGARI OM
@@ -598,6 +602,7 @@ ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 0AD0          ; AL # Lo       GUJARATI OM
 0AE0..0AE1    ; AL # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 0AF0          ; AL # Po       GUJARATI ABBREVIATION SIGN
+0AF9          ; AL # Lo       GUJARATI LETTER ZHA
 0B05..0B0C    ; AL # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
 0B0F..0B10    ; AL # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
 0B13..0B28    ; AL # Lo  [22] ORIYA LETTER O..ORIYA LETTER NA
@@ -629,7 +634,7 @@ ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 0C12..0C28    ; AL # Lo  [23] TELUGU LETTER O..TELUGU LETTER NA
 0C2A..0C39    ; AL # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; AL # Lo       TELUGU SIGN AVAGRAHA
-0C58..0C59    ; AL # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C58..0C5A    ; AL # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0C60..0C61    ; AL # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C78..0C7E    ; AL # No   [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
 0C7F          ; AL # So       TELUGU SIGN TUUMU
@@ -647,7 +652,7 @@ ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 0D12..0D3A    ; AL # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
 0D3D          ; AL # Lo       MALAYALAM SIGN AVAGRAHA
 0D4E          ; AL # Lo       MALAYALAM LETTER DOT REPH
-0D60..0D61    ; AL # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D5F..0D61    ; AL # Lo   [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
 0D70..0D75    ; AL # No   [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
 0D7A..0D7F    ; AL # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
 0D85..0D96    ; AL # Lo  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
@@ -702,7 +707,8 @@ ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 1369..137C    ; AL # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; AL # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399    ; AL # So  [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4    ; AL # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+13A0..13F5    ; AL # L&  [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD    ; AL # L&   [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
 1401..166C    ; AL # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
 166D..166E    ; AL # Po   [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
 166F..167F    ; AL # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
@@ -846,6 +852,7 @@ ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 217A..2182    ; AL # Nl   [9] SMALL ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TEN THOUSAND
 2183..2184    ; AL # L&   [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
 2185..2188    ; AL # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
+218A..218B    ; AL # So   [2] TURNED DIGIT TWO..TURNED DIGIT THREE
 219A..219B    ; AL # Sm   [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
 219C..219F    ; AL # So   [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
 21A0          ; AL # Sm       RIGHTWARDS TWO HEADED ARROW
@@ -888,7 +895,8 @@ ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 2296..2298    ; AL # Sm   [3] CIRCLED MINUS..CIRCLED DIVISION SLASH
 229A..22A4    ; AL # Sm  [11] CIRCLED RING OPERATOR..DOWN TACK
 22A6..22BE    ; AL # Sm  [25] ASSERTION..RIGHT ANGLE WITH ARC
-22C0..22FF    ; AL # Sm  [64] N-ARY LOGICAL AND..Z NOTATION BAG MEMBERSHIP
+22C0..22EE    ; AL # Sm  [47] N-ARY LOGICAL AND..VERTICAL ELLIPSIS
+22F0..22FF    ; AL # Sm  [16] UP RIGHT DIAGONAL ELLIPSIS..Z NOTATION BAG MEMBERSHIP
 2300..2307    ; AL # So   [8] DIAMETER SIGN..WAVY LINE
 230C..2311    ; AL # So   [6] BOTTOM RIGHT CROP..SQUARE LOZENGE
 2313..2319    ; AL # So   [7] SEGMENT..TURNED NOT SIGN
@@ -965,6 +973,7 @@ ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 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
+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
 2C60..2C7B    ; AL # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
@@ -1022,8 +1031,9 @@ A771..A787    ; AL # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR
 A788          ; AL # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A    ; AL # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E    ; AL # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F          ; AL # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AD    ; AL # L&  [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT
-A7B0..A7B1    ; AL # L&   [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T
+A7B0..A7B7    ; AL # L&   [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
 A7F7          ; AL # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; AL # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; AL # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -1040,6 +1050,7 @@ A882..A8B3    ; AL # Lo  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
 A8F2..A8F7    ; AL # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
 A8F8..A8FA    ; AL # Po   [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
 A8FB          ; AL # Lo       DEVANAGARI HEADSTROKE
+A8FD          ; AL # Lo       DEVANAGARI JAIN OM
 A90A..A925    ; AL # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
 A930..A946    ; AL # Lo  [23] REJANG LETTER KA..REJANG LETTER A
 A95F          ; AL # Po       REJANG SECTION MARK
@@ -1063,7 +1074,8 @@ AB28..AB2E    ; AL # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; AL # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
 AB5B          ; AL # Sk       MODIFIER BREVE WITH INVERTED BREVE
 AB5C..AB5F    ; AL # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
-AB64..AB65    ; AL # L&   [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA
+AB60..AB65    ; AL # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF    ; AL # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
 ABC0..ABE2    ; AL # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 FB00..FB06    ; AL # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; AL # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -1138,12 +1150,18 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 10879..1087F  ; AL # No   [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY
 10880..1089E  ; AL # Lo  [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
 108A7..108AF  ; AL # No   [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
+108E0..108F2  ; AL # Lo  [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5  ; AL # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108FB..108FF  ; AL # No   [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
 10900..10915  ; AL # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10916..1091B  ; AL # No   [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
 10920..10939  ; AL # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 1093F         ; AL # Po       LYDIAN TRIANGULAR MARK
 10980..109B7  ; AL # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BC..109BD  ; AL # No   [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
 109BE..109BF  ; AL # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+109C0..109CF  ; AL # No  [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF  ; AL # No  [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 10A00         ; AL # Lo       KHAROSHTHI LETTER A
 10A10..10A13  ; AL # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
 10A15..10A17  ; AL # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
@@ -1168,6 +1186,9 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 10B99..10B9C  ; AL # Po   [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT
 10BA9..10BAF  ; AL # No   [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
 10C00..10C48  ; AL # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2  ; AL # L&  [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2  ; AL # L&  [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CFA..10CFF  ; AL # No   [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
 10E60..10E7E  ; AL # No  [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
 11003..11037  ; AL # Lo  [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
 11049..1104D  ; AL # Po   [5] BRAHMI PUNCTUATION DOT..BRAHMI PUNCTUATION LOTUS
@@ -1183,13 +1204,20 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 11183..111B2  ; AL # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
 111C1..111C4  ; AL # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
 111C7         ; AL # Po       SHARADA ABBREVIATION SIGN
+111C9         ; AL # Po       SHARADA SANDHI MARK
 111CD         ; AL # Po       SHARADA SUTRA MARK
 111DA         ; AL # Lo       SHARADA EKAM
+111DC         ; AL # Lo       SHARADA HEADSTROKE
 111E1..111F4  ; AL # No  [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
 11200..11211  ; AL # Lo  [18] KHOJKI LETTER A..KHOJKI LETTER JJA
 11213..1122B  ; AL # Lo  [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
 1123A         ; AL # Po       KHOJKI WORD SEPARATOR
 1123D         ; AL # Po       KHOJKI ABBREVIATION SIGN
+11280..11286  ; AL # Lo   [7] MULTANI LETTER A..MULTANI LETTER GA
+11288         ; AL # Lo       MULTANI LETTER GHA
+1128A..1128D  ; AL # Lo   [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D  ; AL # Lo  [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8  ; AL # Lo  [10] MULTANI LETTER BHA..MULTANI LETTER RHA
 112B0..112DE  ; AL # Lo  [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
 11305..1130C  ; AL # Lo   [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
 1130F..11310  ; AL # Lo   [2] GRANTHA LETTER EE..GRANTHA LETTER AI
@@ -1198,6 +1226,7 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 11332..11333  ; AL # Lo   [2] GRANTHA LETTER LA..GRANTHA LETTER LLA
 11335..11339  ; AL # Lo   [5] GRANTHA LETTER VA..GRANTHA LETTER HA
 1133D         ; AL # Lo       GRANTHA SIGN AVAGRAHA
+11350         ; AL # Lo       GRANTHA OM
 1135D..11361  ; AL # Lo   [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
 11480..114AF  ; AL # Lo  [48] TIRHUTA ANJI..TIRHUTA LETTER HA
 114C4..114C5  ; AL # Lo   [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG
@@ -1205,6 +1234,7 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 114C7         ; AL # Lo       TIRHUTA OM
 11580..115AE  ; AL # Lo  [47] SIDDHAM LETTER A..SIDDHAM LETTER HA
 115C6..115C8  ; AL # Po   [3] SIDDHAM REPETITION MARK-1..SIDDHAM REPETITION MARK-3
+115D8..115DB  ; AL # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
 11600..1162F  ; AL # Lo  [48] MODI LETTER A..MODI LETTER LLA
 11643         ; AL # Po       MODI ABBREVIATION SIGN
 11644         ; AL # Lo       MODI SIGN HUVA
@@ -1213,13 +1243,16 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 118EA..118F2  ; AL # No   [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 118FF         ; AL # Lo       WARANG CITI OM
 11AC0..11AF8  ; AL # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
-12000..12398  ; AL # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME
+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
 13000..13257  ; AL # Lo [600] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH O006
 1325E..13281  ; AL # Lo  [36] EGYPTIAN HIEROGLYPH O007..EGYPTIAN HIEROGLYPH O033
 13283..13285  ; AL # Lo   [3] EGYPTIAN HIEROGLYPH O034..EGYPTIAN HIEROGLYPH O036
 1328A..13378  ; AL # Lo [239] EGYPTIAN HIEROGLYPH O037..EGYPTIAN HIEROGLYPH V011
 1337C..1342E  ; AL # Lo [179] EGYPTIAN HIEROGLYPH V012..EGYPTIAN HIEROGLYPH AA032
+14400..145CD  ; AL # Lo [462] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A409
+145D0..14646  ; AL # Lo [119] ANATOLIAN HIEROGLYPH A411..ANATOLIAN HIEROGLYPH A530
 16800..16A38  ; AL # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
 16A40..16A5E  ; AL # Lo  [31] MRO LETTER TA..MRO LETTER TEK
 16AD0..16AED  ; AL # Lo  [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I
@@ -1245,7 +1278,7 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 1D16A..1D16C  ; AL # So   [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
 1D183..1D184  ; AL # So   [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
 1D18C..1D1A9  ; AL # So  [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD  ; AL # So  [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
+1D1AE..1D1E8  ; AL # So  [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
 1D200..1D241  ; AL # So  [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
 1D245         ; AL # So       GREEK MUSICAL LEIMMA
 1D300..1D356  ; AL # So  [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
@@ -1290,6 +1323,12 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 1D7AA..1D7C2  ; AL # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C3         ; AL # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; AL # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+1D800..1D9FF  ; AL # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA37..1DA3A  ; AL # So   [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA6D..1DA74  ; AL # So   [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA76..1DA83  ; AL # So  [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA85..1DA86  ; AL # So   [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
+1DA8B         ; AL # Po       SIGNWRITING PARENTHESIS
 1E800..1E8C4  ; AL # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
 1E8C7..1E8CF  ; AL # No   [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE
 1EE00..1EE03  ; AL # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
@@ -1331,6 +1370,7 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 1F39C..1F39D  ; AL # So   [2] BEAMED ASCENDING MUSICAL NOTES..BEAMED DESCENDING MUSICAL NOTES
 1F3B5..1F3B6  ; AL # So   [2] MUSICAL NOTE..MULTIPLE MUSICAL NOTES
 1F3BC         ; AL # So       MUSICAL SCORE
+1F3FB..1F3FF  ; AL # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
 1F4A0         ; AL # So       DIAMOND SHAPE WITH A DOT INSIDE
 1F4A2         ; AL # So       ANGER SYMBOL
 1F4A4         ; AL # So       SLEEPING SYMBOL
@@ -1351,7 +1391,7 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 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
 
-# Total code points: 17608
+# Total code points: 19294
 
 # ================================================
 
@@ -1438,8 +1478,8 @@ FFED..FFEE    ; AL # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 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..9FCC    ; ID # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
-9FCD..9FFF    ; ID # Cn  [51] <reserved-9FCD>..<reserved-9FFF>
+4E00..9FD5    ; ID # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+9FD6..9FFF    ; ID # Cn  [42] <reserved-9FD6>..<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
@@ -1492,52 +1532,53 @@ FFE4          ; ID # So       FULLWIDTH BROKEN BAR
 1F210..1F23A  ; ID # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
 1F240..1F248  ; ID # So   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250..1F251  ; ID # So   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
-1F300..1F32C  ; ID # So  [45] CYCLONE..WIND BLOWING FACE
-1F330..1F37D  ; ID # So  [78] CHESTNUT..FORK AND KNIFE WITH PLATE
-1F380..1F39B  ; ID # So  [28] RIBBON..CONTROL KNOBS
+1F300..1F39B  ; ID # So [156] CYCLONE..CONTROL KNOBS
 1F39E..1F3B4  ; ID # So  [23] FILM FRAMES..FLOWER PLAYING CARDS
 1F3B7..1F3BB  ; ID # So   [5] SAXOPHONE..VIOLIN
-1F3BD..1F3CE  ; ID # So  [18] RUNNING SHIRT WITH SASH..RACING CAR
-1F3D4..1F3F7  ; ID # So  [36] SNOW CAPPED MOUNTAIN..LABEL
+1F3BD..1F3FA  ; ID # So  [62] RUNNING SHIRT WITH SASH..AMPHORA
 1F400..1F49F  ; ID # So [160] RAT..HEART DECORATION
 1F4A1         ; ID # So       ELECTRIC LIGHT BULB
 1F4A3         ; ID # So       BOMB
 1F4A5..1F4AE  ; ID # So  [10] COLLISION SYMBOL..WHITE FLOWER
 1F4B0         ; ID # So       MONEY BAG
-1F4B3..1F4FE  ; ID # So  [76] CREDIT CARD..PORTABLE STEREO
+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         ; ID # So       DOVE OF PEACE
-1F550..1F579  ; ID # So  [42] CLOCK FACE ONE OCLOCK..JOYSTICK
+1F54A..1F579  ; ID # So  [48] DOVE OF PEACE..JOYSTICK
 1F57B..1F5A3  ; ID # So  [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX
 1F5A5..1F5D3  ; ID # So  [47] DESKTOP COMPUTER..SPIRAL CALENDAR PAD
 1F5DC..1F5F3  ; ID # So  [24] COMPRESSION..BALLOT BOX WITH BALLOT
-1F5FA..1F642  ; ID # So  [73] WORLD MAP..SLIGHTLY SMILING FACE
-1F645..1F64F  ; ID # So  [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
-1F680..1F6CF  ; ID # So  [80] ROCKET..BED
+1F5FA..1F64F  ; ID # So  [86] WORLD MAP..PERSON WITH FOLDED HANDS
+1F680..1F6D0  ; ID # So  [81] ROCKET..PLACE OF WORSHIP
 1F6E0..1F6EC  ; ID # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6F0..1F6F3  ; ID # So   [4] SATELLITE..PASSENGER SHIP
+1F910..1F918  ; ID # So   [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS
+1F980..1F984  ; ID # So   [5] CRAB..UNICORN FACE
+1F9C0         ; ID # So       CHEESE WEDGE
 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
 2B735..2B73F  ; ID # Cn  [11] <reserved-2B735>..<reserved-2B73F>
 2B740..2B81D  ; ID # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
-2B81E..2F7FF  ; ID # Cn [16354] <reserved-2B81E>..<reserved-2F7FF>
+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>
 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: 162936
+# Total code points: 162973
 
 # ================================================
 
 # Line_Break=Inseparable
 
 2024..2026    ; IN # Po   [3] ONE DOT LEADER..HORIZONTAL ELLIPSIS
+22EF          ; IN # Sm       MIDLINE HORIZONTAL ELLIPSIS
 FE19          ; IN # Po       PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
 10AF6         ; IN # Po       MANICHAEAN PUNCTUATION LINE FILLER
 
-# Total code points: 5
+# Total code points: 6
 
 # ================================================
 
@@ -1582,7 +1623,7 @@ FE19          ; IN # Po       PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
 0825..0827    ; CM # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; CM # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; CM # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
-08E4..0902    ; CM # Mn  [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA
+08E3..0902    ; CM # Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
 0903          ; CM # Mc       DEVANAGARI SIGN VISARGA
 093A          ; CM # Mn       DEVANAGARI VOWEL SIGN OE
 093B          ; CM # Mc       DEVANAGARI VOWEL SIGN OOE
@@ -1772,7 +1813,7 @@ FE19          ; IN # Po       PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
 A66F          ; CM # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; CM # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A674..A67D    ; CM # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
-A69F          ; CM # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A69E..A69F    ; CM # Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; CM # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A802          ; CM # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; CM # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -1817,7 +1858,7 @@ ABEC          ; CM # Mc       MEETEI MAYEK LUM IYEK
 ABED          ; CM # Mn       MEETEI MAYEK APUN IYEK
 FB1E          ; CM # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 FE00..FE0F    ; CM # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE2D    ; CM # Mn  [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW
+FE20..FE2F    ; CM # Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
 FFF9..FFFB    ; CM # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
 101FD         ; CM # Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
 102E0         ; CM # Mn       COPTIC EPACT THOUSANDS MARK
@@ -1848,6 +1889,7 @@ FFF9..FFFB    ; CM # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTAT
 111B3..111B5  ; CM # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
 111B6..111BE  ; CM # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
 111BF..111C0  ; CM # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
+111CA..111CC  ; CM # Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
 1122C..1122E  ; CM # Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
 1122F..11231  ; CM # Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
 11232..11233  ; CM # Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
@@ -1857,7 +1899,7 @@ FFF9..FFFB    ; CM # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTAT
 112DF         ; CM # Mn       KHUDAWADI SIGN ANUSVARA
 112E0..112E2  ; CM # Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
 112E3..112EA  ; CM # Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
-11301         ; CM # Mn       GRANTHA SIGN CANDRABINDU
+11300..11301  ; CM # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302..11303  ; CM # Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
 1133C         ; CM # Mn       GRANTHA SIGN NUKTA
 1133E..1133F  ; CM # Mc   [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I
@@ -1883,6 +1925,7 @@ FFF9..FFFB    ; CM # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTAT
 115BC..115BD  ; CM # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 115BE         ; CM # Mc       SIDDHAM SIGN VISARGA
 115BF..115C0  ; CM # Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115DC..115DD  ; CM # Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
 11630..11632  ; CM # Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
 11633..1163A  ; CM # Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
 1163B..1163C  ; CM # Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
@@ -1910,12 +1953,18 @@ FFF9..FFFB    ; CM # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTAT
 1D185..1D18B  ; CM # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; CM # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; CM # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1DA00..1DA36  ; CM # Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA3B..1DA6C  ; CM # Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA75         ; CM # Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA84         ; CM # Mn       SIGNWRITING LOCATION HEAD NECK
+1DA9B..1DA9F  ; CM # Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA1..1DAAF  ; CM # Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
 1E8D0..1E8D6  ; CM # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 E0001         ; CM # Cf       LANGUAGE TAG
 E0020..E007F  ; CM # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; CM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1820
+# Total code points: 1957
 
 # ================================================
 
@@ -1934,10 +1983,12 @@ E0100..E01EF  ; CM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 1806          ; BB # Pd       MONGOLIAN TODO SOFT HYPHEN
 1FFD          ; BB # Sk       GREEK OXIA
 A874..A875    ; BB # Po   [2] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA DOUBLE HEAD MARK
+A8FC          ; BB # Po       DEVANAGARI SIGN SIDDHAM
 11175         ; BB # Po       MAHAJANI SECTION MARK
+111DB         ; BB # Po       SHARADA SIGN SIDDHAM
 115C1         ; BB # Po       SIDDHAM SIGN SIDDHAM
 
-# Total code points: 21
+# Total code points: 23
 
 # ================================================
 
@@ -2015,19 +2066,23 @@ ABEB          ; BA # Po       MEETEI MAYEK CHEIKHEI
 11140..11143  ; BA # Po   [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK
 111C5..111C6  ; BA # Po   [2] SHARADA DANDA..SHARADA DOUBLE DANDA
 111C8         ; BA # Po       SHARADA SEPARATOR
+111DD..111DF  ; BA # Po   [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
 11238..11239  ; BA # Po   [2] KHOJKI DANDA..KHOJKI DOUBLE DANDA
 1123B..1123C  ; BA # Po   [2] KHOJKI SECTION MARK..KHOJKI DOUBLE SECTION MARK
+112A9         ; BA # Po       MULTANI SECTION MARK
 115C2..115C3  ; BA # Po   [2] SIDDHAM DANDA..SIDDHAM DOUBLE DANDA
-115C9         ; BA # Po       SIDDHAM END OF TEXT MARK
+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
 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
 16AF5         ; BA # Po       BASSA VAH FULL STOP
 16B37..16B39  ; BA # Po   [3] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN CIM CHEEM
 16B44         ; BA # Po       PAHAWH HMONG SIGN XAUS
 1BC9F         ; BA # Po       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
+1DA87..1DA8A  ; BA # Po   [4] SIGNWRITING COMMA..SIGNWRITING COLON
 
-# Total code points: 181
+# Total code points: 206
 
 # ================================================
 
@@ -2149,9 +2204,7 @@ FFFC          ; CB # So       OBJECT REPLACEMENT CHARACTER
 1950..196D    ; SA # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
 1970..1974    ; SA # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
 1980..19AB    ; SA # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0    ; SA # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7    ; SA # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9    ; SA # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+19B0..19C9    ; SA # Lo  [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
 19DA          ; SA # No       NEW TAI LUE THAM DIGIT ONE
 19DE..19DF    ; SA # So   [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
 1A20..1A54    ; SA # Lo  [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
@@ -2196,8 +2249,16 @@ AAC2          ; SA # Lo       TAI VIET TONE MAI SONG
 AADB..AADC    ; SA # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; SA # Lm       TAI VIET SYMBOL SAM
 AADE..AADF    ; SA # Po   [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
-
-# Total code points: 690
+11700..11719  ; SA # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F  ; SA # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721  ; SA # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725  ; SA # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726         ; SA # Mc       AHOM VOWEL SIGN E
+11727..1172B  ; SA # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+1173A..1173B  ; SA # No   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
+1173F         ; SA # So       AHOM SYMBOL VI
+
+# Total code points: 734
 
 # ================================================
 
index e2edb24..c942302 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedNumericType-7.0.0.txt
-# Date: 2013-12-03, 15:11:49 GMT [MD]
+# DerivedNumericType-8.0.0.txt
+# Date: 2015-02-13, 13:47:13 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -127,7 +127,11 @@ F9FD          ; Numeric # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 10858..1085F  ; Numeric # No   [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
 10879..1087F  ; Numeric # No   [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY
 108A7..108AF  ; Numeric # No   [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
+108FB..108FF  ; Numeric # No   [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
 10916..1091B  ; Numeric # No   [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
+109BC..109BD  ; Numeric # No   [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
+109C0..109CF  ; Numeric # No  [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF  ; Numeric # No  [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
 10A44..10A47  ; Numeric # No   [4] KHAROSHTHI NUMBER TEN..KHAROSHTHI NUMBER ONE THOUSAND
 10A7D..10A7E  ; Numeric # No   [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
 10A9D..10A9F  ; Numeric # No   [3] OLD NORTH ARABIAN NUMBER ONE..OLD NORTH ARABIAN NUMBER TWENTY
@@ -135,9 +139,11 @@ F9FD          ; Numeric # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 10B58..10B5F  ; Numeric # No   [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
 10B78..10B7F  ; Numeric # No   [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
 10BA9..10BAF  ; Numeric # No   [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
+10CFA..10CFF  ; Numeric # No   [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
 10E69..10E7E  ; Numeric # No  [22] RUMI NUMBER TEN..RUMI FRACTION TWO THIRDS
 1105B..11065  ; Numeric # No  [11] BRAHMI NUMBER TEN..BRAHMI NUMBER ONE THOUSAND
 111E1..111F4  ; Numeric # No  [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
+1173A..1173B  ; Numeric # No   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
 118EA..118F2  ; Numeric # No   [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 12400..1246E  ; Numeric # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 16B5B..16B61  ; Numeric # No   [7] PAHAWH HMONG NUMBER TENS..PAHAWH HMONG NUMBER TRILLIONS
@@ -161,7 +167,7 @@ F9FD          ; Numeric # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 2626D         ; Numeric # Lo       CJK UNIFIED IDEOGRAPH-2626D
 2F890         ; Numeric # Lo       CJK COMPATIBILITY IDEOGRAPH-2F890
 
-# Total code points: 759
+# Total code points: 836
 
 # ================================================
 
@@ -236,11 +242,12 @@ FF10..FF19    ; Decimal # Nd  [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
 114D0..114D9  ; Decimal # Nd  [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE
 11650..11659  ; Decimal # Nd  [10] MODI DIGIT ZERO..MODI DIGIT NINE
 116C0..116C9  ; Decimal # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11730..11739  ; Decimal # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; Decimal # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI 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
 
-# Total code points: 540
+# Total code points: 550
 
 # EOF
index cfde691..4c749b2 100644 (file)
@@ -1,8 +1,8 @@
-# DerivedNumericValues-7.0.0.txt
-# Date: 2014-03-18, 07:28:51 GMT [MD]
+# DerivedNumericValues-8.0.0.txt
+# Date: 2015-02-13, 13:47:13 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2014 Unicode, Inc.
+# Copyright (c) 1991-2015 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -96,6 +96,7 @@ FF10          ; 0.0 ; ; 0 # Nd       FULLWIDTH DIGIT ZERO
 114D0         ; 0.0 ; ; 0 # Nd       TIRHUTA DIGIT ZERO
 11650         ; 0.0 ; ; 0 # Nd       MODI DIGIT ZERO
 116C0         ; 0.0 ; ; 0 # Nd       TAKRI DIGIT ZERO
+11730         ; 0.0 ; ; 0 # Nd       AHOM DIGIT ZERO
 118E0         ; 0.0 ; ; 0 # Nd       WARANG CITI DIGIT ZERO
 16A60         ; 0.0 ; ; 0 # Nd       MRO DIGIT ZERO
 16B50         ; 0.0 ; ; 0 # Nd       PAHAWH HMONG DIGIT ZERO
@@ -107,7 +108,7 @@ FF10          ; 0.0 ; ; 0 # Nd       FULLWIDTH DIGIT ZERO
 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: 70
+# Total code points: 71
 
 # ================================================
 
@@ -119,6 +120,12 @@ A833          ; 0.0625 ; ; 1/16 # No       NORTH INDIC FRACTION ONE SIXTEENTH
 
 # ================================================
 
+109F6         ; 0.08333333 ; ; 1/12 # No       MEROITIC CURSIVE FRACTION ONE TWELFTH
+
+# Total code points: 1
+
+# ================================================
+
 2152          ; 0.1 ; ; 1/10 # No       VULGAR FRACTION ONE TENTH
 
 # Total code points: 1
@@ -148,9 +155,10 @@ A834          ; 0.125 ; ; 1/8 # No       NORTH INDIC FRACTION ONE EIGHTH
 # ================================================
 
 2159          ; 0.16666667 ; ; 1/6 # No       VULGAR FRACTION ONE SIXTH
+109F7         ; 0.16666667 ; ; 1/6 # No       MEROITIC CURSIVE FRACTION TWO TWELFTHS
 12461         ; 0.16666667 ; ; 1/6 # Nl       CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
 
-# Total code points: 2
+# Total code points: 3
 
 # ================================================
 
@@ -175,21 +183,23 @@ A835          ; 0.1875 ; ; 3/16 # No       NORTH INDIC FRACTION THREE SIXTEENTHS
 A830          ; 0.25 ; ; 1/4 # No       NORTH INDIC FRACTION ONE QUARTER
 10140         ; 0.25 ; ; 1/4 # Nl       GREEK ACROPHONIC ATTIC ONE QUARTER
 1018B         ; 0.25 ; ; 1/4 # No       GREEK ONE QUARTER SIGN
+109F8         ; 0.25 ; ; 1/4 # No       MEROITIC CURSIVE FRACTION THREE TWELFTHS
 10E7C         ; 0.25 ; ; 1/4 # No       RUMI FRACTION ONE QUARTER
 12460         ; 0.25 ; ; 1/4 # Nl       CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
 12462..12463  ; 0.25 ; ; 1/4 # Nl   [2] CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER..CUNEIFORM NUMERIC SIGN ONE QUARTER GUR
 
-# Total code points: 11
+# Total code points: 12
 
 # ================================================
 
 2153          ; 0.33333333 ; ; 1/3 # No       VULGAR FRACTION ONE THIRD
+109F9         ; 0.33333333 ; ; 1/3 # No       MEROITIC CURSIVE FRACTION FOUR TWELFTHS
 10E7D         ; 0.33333333 ; ; 1/3 # No       RUMI FRACTION ONE THIRD
 1245A         ; 0.33333333 ; ; 1/3 # Nl       CUNEIFORM NUMERIC SIGN ONE THIRD DISH
 1245D         ; 0.33333333 ; ; 1/3 # Nl       CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
 12465         ; 0.33333333 ; ; 1/3 # Nl       CUNEIFORM NUMERIC SIGN ELAMITE ONE THIRD
 
-# Total code points: 5
+# Total code points: 6
 
 # ================================================
 
@@ -205,6 +215,12 @@ A830          ; 0.25 ; ; 1/4 # No       NORTH INDIC FRACTION ONE QUARTER
 
 # ================================================
 
+109FA         ; 0.41666667 ; ; 5/12 # No       MEROITIC CURSIVE FRACTION FIVE TWELFTHS
+
+# Total code points: 1
+
+# ================================================
+
 00BD          ; 0.5 ; ; 1/2 # No       VULGAR FRACTION ONE HALF
 0B73          ; 0.5 ; ; 1/2 # No       ORIYA FRACTION ONE HALF
 0D74          ; 0.5 ; ; 1/2 # No       MALAYALAM FRACTION ONE HALF
@@ -213,10 +229,18 @@ A830          ; 0.25 ; ; 1/4 # No       NORTH INDIC FRACTION ONE QUARTER
 A831          ; 0.5 ; ; 1/2 # No       NORTH INDIC FRACTION ONE HALF
 10141         ; 0.5 ; ; 1/2 # Nl       GREEK ACROPHONIC ATTIC ONE HALF
 10175..10176  ; 0.5 ; ; 1/2 # No   [2] GREEK ONE HALF SIGN..GREEK ONE HALF SIGN ALTERNATE FORM
+109BD         ; 0.5 ; ; 1/2 # No       MEROITIC CURSIVE FRACTION ONE HALF
+109FB         ; 0.5 ; ; 1/2 # No       MEROITIC CURSIVE FRACTION SIX TWELFTHS
 10E7B         ; 0.5 ; ; 1/2 # No       RUMI FRACTION ONE HALF
 12464         ; 0.5 ; ; 1/2 # Nl       CUNEIFORM NUMERIC SIGN ONE HALF GUR
 
-# Total code points: 11
+# Total code points: 13
+
+# ================================================
+
+109FC         ; 0.58333333 ; ; 7/12 # No       MEROITIC CURSIVE FRACTION SEVEN TWELFTHS
+
+# Total code points: 1
 
 # ================================================
 
@@ -234,12 +258,13 @@ A831          ; 0.5 ; ; 1/2 # No       NORTH INDIC FRACTION ONE HALF
 
 2154          ; 0.66666667 ; ; 2/3 # No       VULGAR FRACTION TWO THIRDS
 10177         ; 0.66666667 ; ; 2/3 # No       GREEK TWO THIRDS SIGN
+109FD         ; 0.66666667 ; ; 2/3 # No       MEROITIC CURSIVE FRACTION EIGHT TWELFTHS
 10E7E         ; 0.66666667 ; ; 2/3 # No       RUMI FRACTION TWO THIRDS
 1245B         ; 0.66666667 ; ; 2/3 # Nl       CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
 1245E         ; 0.66666667 ; ; 2/3 # Nl       CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
 12466         ; 0.66666667 ; ; 2/3 # Nl       CUNEIFORM NUMERIC SIGN ELAMITE TWO THIRDS
 
-# Total code points: 6
+# Total code points: 7
 
 # ================================================
 
@@ -249,8 +274,9 @@ A831          ; 0.5 ; ; 1/2 # No       NORTH INDIC FRACTION ONE HALF
 0D75          ; 0.75 ; ; 3/4 # No       MALAYALAM FRACTION THREE QUARTERS
 A832          ; 0.75 ; ; 3/4 # No       NORTH INDIC FRACTION THREE QUARTERS
 10178         ; 0.75 ; ; 3/4 # No       GREEK THREE QUARTERS SIGN
+109FE         ; 0.75 ; ; 3/4 # No       MEROITIC CURSIVE FRACTION NINE TWELFTHS
 
-# Total code points: 6
+# Total code points: 7
 
 # ================================================
 
@@ -261,9 +287,10 @@ A832          ; 0.75 ; ; 3/4 # No       NORTH INDIC FRACTION THREE QUARTERS
 # ================================================
 
 215A          ; 0.83333333 ; ; 5/6 # No       VULGAR FRACTION FIVE SIXTHS
+109FF         ; 0.83333333 ; ; 5/6 # No       MEROITIC CURSIVE FRACTION TEN TWELFTHS
 1245C         ; 0.83333333 ; ; 5/6 # Nl       CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
 
-# Total code points: 2
+# Total code points: 3
 
 # ================================================
 
@@ -273,6 +300,12 @@ A832          ; 0.75 ; ; 3/4 # No       NORTH INDIC FRACTION THREE QUARTERS
 
 # ================================================
 
+109BC         ; 0.91666667 ; ; 11/12 # No       MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS
+
+# Total code points: 1
+
+# ================================================
+
 0031          ; 1.0 ; ; 1 # Nd       DIGIT ONE
 00B9          ; 1.0 ; ; 1 # No       SUPERSCRIPT ONE
 0661          ; 1.0 ; ; 1 # Nd       ARABIC-INDIC DIGIT ONE
@@ -347,7 +380,9 @@ FF11          ; 1.0 ; ; 1 # Nd       FULLWIDTH DIGIT ONE
 10858         ; 1.0 ; ; 1 # No       IMPERIAL ARAMAIC NUMBER ONE
 10879         ; 1.0 ; ; 1 # No       PALMYRENE NUMBER ONE
 108A7         ; 1.0 ; ; 1 # No       NABATAEAN NUMBER ONE
+108FB         ; 1.0 ; ; 1 # No       HATRAN NUMBER ONE
 10916         ; 1.0 ; ; 1 # No       PHOENICIAN NUMBER ONE
+109C0         ; 1.0 ; ; 1 # No       MEROITIC CURSIVE NUMBER ONE
 10A40         ; 1.0 ; ; 1 # No       KHAROSHTHI DIGIT ONE
 10A7D         ; 1.0 ; ; 1 # No       OLD SOUTH ARABIAN NUMBER ONE
 10A9D         ; 1.0 ; ; 1 # No       OLD NORTH ARABIAN NUMBER ONE
@@ -355,6 +390,7 @@ FF11          ; 1.0 ; ; 1 # Nd       FULLWIDTH DIGIT ONE
 10B58         ; 1.0 ; ; 1 # No       INSCRIPTIONAL PARTHIAN NUMBER ONE
 10B78         ; 1.0 ; ; 1 # No       INSCRIPTIONAL PAHLAVI NUMBER ONE
 10BA9         ; 1.0 ; ; 1 # No       PSALTER PAHLAVI NUMBER ONE
+10CFA         ; 1.0 ; ; 1 # No       OLD HUNGARIAN NUMBER ONE
 10E60         ; 1.0 ; ; 1 # No       RUMI DIGIT ONE
 11052         ; 1.0 ; ; 1 # No       BRAHMI NUMBER ONE
 11067         ; 1.0 ; ; 1 # Nd       BRAHMI DIGIT ONE
@@ -366,6 +402,7 @@ FF11          ; 1.0 ; ; 1 # Nd       FULLWIDTH DIGIT ONE
 114D1         ; 1.0 ; ; 1 # Nd       TIRHUTA DIGIT ONE
 11651         ; 1.0 ; ; 1 # Nd       MODI DIGIT ONE
 116C1         ; 1.0 ; ; 1 # Nd       TAKRI DIGIT ONE
+11731         ; 1.0 ; ; 1 # Nd       AHOM DIGIT ONE
 118E1         ; 1.0 ; ; 1 # Nd       WARANG CITI DIGIT ONE
 12415         ; 1.0 ; ; 1 # Nl       CUNEIFORM NUMERIC SIGN ONE GESH2
 1241E         ; 1.0 ; ; 1 # Nl       CUNEIFORM NUMERIC SIGN ONE GESHU
@@ -385,7 +422,7 @@ FF11          ; 1.0 ; ; 1 # Nd       FULLWIDTH DIGIT ONE
 1F102         ; 1.0 ; ; 1 # No       DIGIT ONE COMMA
 2092A         ; 1.0 ; ; 1 # Lo       CJK UNIFIED IDEOGRAPH-2092A
 
-# Total code points: 113
+# Total code points: 117
 
 # ================================================
 
@@ -470,6 +507,7 @@ FF12          ; 2.0 ; ; 2 # Nd       FULLWIDTH DIGIT TWO
 1087A         ; 2.0 ; ; 2 # No       PALMYRENE NUMBER TWO
 108A8         ; 2.0 ; ; 2 # No       NABATAEAN NUMBER TWO
 1091A         ; 2.0 ; ; 2 # No       PHOENICIAN NUMBER TWO
+109C1         ; 2.0 ; ; 2 # No       MEROITIC CURSIVE NUMBER TWO
 10A41         ; 2.0 ; ; 2 # No       KHAROSHTHI DIGIT TWO
 10B59         ; 2.0 ; ; 2 # No       INSCRIPTIONAL PARTHIAN NUMBER TWO
 10B79         ; 2.0 ; ; 2 # No       INSCRIPTIONAL PAHLAVI NUMBER TWO
@@ -485,6 +523,7 @@ FF12          ; 2.0 ; ; 2 # Nd       FULLWIDTH DIGIT TWO
 114D2         ; 2.0 ; ; 2 # Nd       TIRHUTA DIGIT TWO
 11652         ; 2.0 ; ; 2 # Nd       MODI DIGIT TWO
 116C2         ; 2.0 ; ; 2 # Nd       TAKRI DIGIT TWO
+11732         ; 2.0 ; ; 2 # Nd       AHOM DIGIT TWO
 118E2         ; 2.0 ; ; 2 # Nd       WARANG CITI DIGIT TWO
 12400         ; 2.0 ; ; 2 # Nl       CUNEIFORM NUMERIC SIGN TWO ASH
 12416         ; 2.0 ; ; 2 # Nl       CUNEIFORM NUMERIC SIGN TWO GESH2
@@ -508,7 +547,7 @@ FF12          ; 2.0 ; ; 2 # Nd       FULLWIDTH DIGIT TWO
 1F103         ; 2.0 ; ; 2 # No       DIGIT TWO COMMA
 22390         ; 2.0 ; ; 2 # Lo       CJK UNIFIED IDEOGRAPH-22390
 
-# Total code points: 115
+# Total code points: 117
 
 # ================================================
 
@@ -587,6 +626,7 @@ FF13          ; 3.0 ; ; 3 # Nd       FULLWIDTH DIGIT THREE
 1087B         ; 3.0 ; ; 3 # No       PALMYRENE NUMBER THREE
 108A9         ; 3.0 ; ; 3 # No       NABATAEAN NUMBER THREE
 1091B         ; 3.0 ; ; 3 # No       PHOENICIAN NUMBER THREE
+109C2         ; 3.0 ; ; 3 # No       MEROITIC CURSIVE NUMBER THREE
 10A42         ; 3.0 ; ; 3 # No       KHAROSHTHI DIGIT THREE
 10B5A         ; 3.0 ; ; 3 # No       INSCRIPTIONAL PARTHIAN NUMBER THREE
 10B7A         ; 3.0 ; ; 3 # No       INSCRIPTIONAL PAHLAVI NUMBER THREE
@@ -602,6 +642,7 @@ FF13          ; 3.0 ; ; 3 # Nd       FULLWIDTH DIGIT THREE
 114D3         ; 3.0 ; ; 3 # Nd       TIRHUTA DIGIT THREE
 11653         ; 3.0 ; ; 3 # Nd       MODI DIGIT THREE
 116C3         ; 3.0 ; ; 3 # Nd       TAKRI DIGIT THREE
+11733         ; 3.0 ; ; 3 # Nd       AHOM DIGIT THREE
 118E3         ; 3.0 ; ; 3 # Nd       WARANG CITI DIGIT THREE
 12401         ; 3.0 ; ; 3 # Nl       CUNEIFORM NUMERIC SIGN THREE ASH
 12408         ; 3.0 ; ; 3 # Nl       CUNEIFORM NUMERIC SIGN THREE DISH
@@ -629,7 +670,7 @@ FF13          ; 3.0 ; ; 3 # Nd       FULLWIDTH DIGIT THREE
 22998         ; 3.0 ; ; 3 # Lo       CJK UNIFIED IDEOGRAPH-22998
 23B1B         ; 3.0 ; ; 3 # Lo       CJK UNIFIED IDEOGRAPH-23B1B
 
-# Total code points: 117
+# Total code points: 119
 
 # ================================================
 
@@ -702,6 +743,7 @@ FF14          ; 4.0 ; ; 4 # Nd       FULLWIDTH DIGIT FOUR
 104A4         ; 4.0 ; ; 4 # Nd       OSMANYA DIGIT FOUR
 1087C         ; 4.0 ; ; 4 # No       PALMYRENE NUMBER FOUR
 108AA..108AB  ; 4.0 ; ; 4 # No   [2] NABATAEAN NUMBER FOUR..NABATAEAN CRUCIFORM NUMBER FOUR
+109C3         ; 4.0 ; ; 4 # No       MEROITIC CURSIVE NUMBER FOUR
 10A43         ; 4.0 ; ; 4 # No       KHAROSHTHI DIGIT FOUR
 10B5B         ; 4.0 ; ; 4 # No       INSCRIPTIONAL PARTHIAN NUMBER FOUR
 10B7B         ; 4.0 ; ; 4 # No       INSCRIPTIONAL PAHLAVI NUMBER FOUR
@@ -717,6 +759,7 @@ FF14          ; 4.0 ; ; 4 # Nd       FULLWIDTH DIGIT FOUR
 114D4         ; 4.0 ; ; 4 # Nd       TIRHUTA DIGIT FOUR
 11654         ; 4.0 ; ; 4 # Nd       MODI DIGIT FOUR
 116C4         ; 4.0 ; ; 4 # Nd       TAKRI DIGIT FOUR
+11734         ; 4.0 ; ; 4 # Nd       AHOM DIGIT FOUR
 118E4         ; 4.0 ; ; 4 # Nd       WARANG CITI DIGIT FOUR
 12402         ; 4.0 ; ; 4 # Nl       CUNEIFORM NUMERIC SIGN FOUR ASH
 12409         ; 4.0 ; ; 4 # Nl       CUNEIFORM NUMERIC SIGN FOUR DISH
@@ -744,7 +787,7 @@ FF14          ; 4.0 ; ; 4 # Nd       FULLWIDTH DIGIT FOUR
 200E2         ; 4.0 ; ; 4 # Lo       CJK UNIFIED IDEOGRAPH-200E2
 2626D         ; 4.0 ; ; 4 # Lo       CJK UNIFIED IDEOGRAPH-2626D
 
-# Total code points: 109
+# Total code points: 111
 
 # ================================================
 
@@ -823,7 +866,10 @@ FF15          ; 5.0 ; ; 5 # Nd       FULLWIDTH DIGIT FIVE
 104A5         ; 5.0 ; ; 5 # Nd       OSMANYA DIGIT FIVE
 1087D         ; 5.0 ; ; 5 # No       PALMYRENE NUMBER FIVE
 108AC         ; 5.0 ; ; 5 # No       NABATAEAN NUMBER FIVE
+108FC         ; 5.0 ; ; 5 # No       HATRAN NUMBER FIVE
+109C4         ; 5.0 ; ; 5 # No       MEROITIC CURSIVE NUMBER FIVE
 10AEC         ; 5.0 ; ; 5 # No       MANICHAEAN NUMBER FIVE
+10CFB         ; 5.0 ; ; 5 # No       OLD HUNGARIAN NUMBER FIVE
 10E64         ; 5.0 ; ; 5 # No       RUMI DIGIT FIVE
 11056         ; 5.0 ; ; 5 # No       BRAHMI NUMBER FIVE
 1106B         ; 5.0 ; ; 5 # Nd       BRAHMI DIGIT FIVE
@@ -835,6 +881,7 @@ FF15          ; 5.0 ; ; 5 # Nd       FULLWIDTH DIGIT FIVE
 114D5         ; 5.0 ; ; 5 # Nd       TIRHUTA DIGIT FIVE
 11655         ; 5.0 ; ; 5 # Nd       MODI DIGIT FIVE
 116C5         ; 5.0 ; ; 5 # Nd       TAKRI DIGIT FIVE
+11735         ; 5.0 ; ; 5 # Nd       AHOM DIGIT FIVE
 118E5         ; 5.0 ; ; 5 # Nd       WARANG CITI DIGIT FIVE
 12403         ; 5.0 ; ; 5 # Nl       CUNEIFORM NUMERIC SIGN FIVE ASH
 1240A         ; 5.0 ; ; 5 # Nl       CUNEIFORM NUMERIC SIGN FIVE DISH
@@ -859,7 +906,7 @@ FF15          ; 5.0 ; ; 5 # Nd       FULLWIDTH DIGIT FIVE
 1F106         ; 5.0 ; ; 5 # No       DIGIT FIVE COMMA
 20121         ; 5.0 ; ; 5 # Lo       CJK UNIFIED IDEOGRAPH-20121
 
-# Total code points: 105
+# Total code points: 109
 
 # ================================================
 
@@ -932,6 +979,7 @@ FF16          ; 6.0 ; ; 6 # Nd       FULLWIDTH DIGIT SIX
 1010C         ; 6.0 ; ; 6 # No       AEGEAN NUMBER SIX
 102E6         ; 6.0 ; ; 6 # No       COPTIC EPACT DIGIT SIX
 104A6         ; 6.0 ; ; 6 # Nd       OSMANYA DIGIT SIX
+109C5         ; 6.0 ; ; 6 # No       MEROITIC CURSIVE NUMBER SIX
 10E65         ; 6.0 ; ; 6 # No       RUMI DIGIT SIX
 11057         ; 6.0 ; ; 6 # No       BRAHMI NUMBER SIX
 1106C         ; 6.0 ; ; 6 # Nd       BRAHMI DIGIT SIX
@@ -943,6 +991,7 @@ FF16          ; 6.0 ; ; 6 # Nd       FULLWIDTH DIGIT SIX
 114D6         ; 6.0 ; ; 6 # Nd       TIRHUTA DIGIT SIX
 11656         ; 6.0 ; ; 6 # Nd       MODI DIGIT SIX
 116C6         ; 6.0 ; ; 6 # Nd       TAKRI DIGIT SIX
+11736         ; 6.0 ; ; 6 # Nd       AHOM DIGIT SIX
 118E6         ; 6.0 ; ; 6 # Nd       WARANG CITI DIGIT SIX
 12404         ; 6.0 ; ; 6 # Nl       CUNEIFORM NUMERIC SIGN SIX ASH
 1240B         ; 6.0 ; ; 6 # Nl       CUNEIFORM NUMERIC SIGN SIX DISH
@@ -964,7 +1013,7 @@ FF16          ; 6.0 ; ; 6 # Nd       FULLWIDTH DIGIT SIX
 1F107         ; 6.0 ; ; 6 # No       DIGIT SIX COMMA
 20AEA         ; 6.0 ; ; 6 # Lo       CJK UNIFIED IDEOGRAPH-20AEA
 
-# Total code points: 94
+# Total code points: 96
 
 # ================================================
 
@@ -1035,6 +1084,7 @@ FF17          ; 7.0 ; ; 7 # Nd       FULLWIDTH DIGIT SEVEN
 1010D         ; 7.0 ; ; 7 # No       AEGEAN NUMBER SEVEN
 102E7         ; 7.0 ; ; 7 # No       COPTIC EPACT DIGIT SEVEN
 104A7         ; 7.0 ; ; 7 # Nd       OSMANYA DIGIT SEVEN
+109C6         ; 7.0 ; ; 7 # No       MEROITIC CURSIVE NUMBER SEVEN
 10E66         ; 7.0 ; ; 7 # No       RUMI DIGIT SEVEN
 11058         ; 7.0 ; ; 7 # No       BRAHMI NUMBER SEVEN
 1106D         ; 7.0 ; ; 7 # Nd       BRAHMI DIGIT SEVEN
@@ -1046,6 +1096,7 @@ FF17          ; 7.0 ; ; 7 # Nd       FULLWIDTH DIGIT SEVEN
 114D7         ; 7.0 ; ; 7 # Nd       TIRHUTA DIGIT SEVEN
 11657         ; 7.0 ; ; 7 # Nd       MODI DIGIT SEVEN
 116C7         ; 7.0 ; ; 7 # Nd       TAKRI DIGIT SEVEN
+11737         ; 7.0 ; ; 7 # Nd       AHOM DIGIT SEVEN
 118E7         ; 7.0 ; ; 7 # Nd       WARANG CITI DIGIT SEVEN
 12405         ; 7.0 ; ; 7 # Nl       CUNEIFORM NUMERIC SIGN SEVEN ASH
 1240C         ; 7.0 ; ; 7 # Nl       CUNEIFORM NUMERIC SIGN SEVEN DISH
@@ -1066,7 +1117,7 @@ FF17          ; 7.0 ; ; 7 # Nd       FULLWIDTH DIGIT SEVEN
 1F108         ; 7.0 ; ; 7 # No       DIGIT SEVEN COMMA
 20001         ; 7.0 ; ; 7 # Lo       CJK UNIFIED IDEOGRAPH-20001
 
-# Total code points: 93
+# Total code points: 95
 
 # ================================================
 
@@ -1135,6 +1186,7 @@ FF18          ; 8.0 ; ; 8 # Nd       FULLWIDTH DIGIT EIGHT
 1010E         ; 8.0 ; ; 8 # No       AEGEAN NUMBER EIGHT
 102E8         ; 8.0 ; ; 8 # No       COPTIC EPACT DIGIT EIGHT
 104A8         ; 8.0 ; ; 8 # Nd       OSMANYA DIGIT EIGHT
+109C7         ; 8.0 ; ; 8 # No       MEROITIC CURSIVE NUMBER EIGHT
 10E67         ; 8.0 ; ; 8 # No       RUMI DIGIT EIGHT
 11059         ; 8.0 ; ; 8 # No       BRAHMI NUMBER EIGHT
 1106E         ; 8.0 ; ; 8 # Nd       BRAHMI DIGIT EIGHT
@@ -1146,6 +1198,7 @@ FF18          ; 8.0 ; ; 8 # Nd       FULLWIDTH DIGIT EIGHT
 114D8         ; 8.0 ; ; 8 # Nd       TIRHUTA DIGIT EIGHT
 11658         ; 8.0 ; ; 8 # Nd       MODI DIGIT EIGHT
 116C8         ; 8.0 ; ; 8 # Nd       TAKRI DIGIT EIGHT
+11738         ; 8.0 ; ; 8 # Nd       AHOM DIGIT EIGHT
 118E8         ; 8.0 ; ; 8 # Nd       WARANG CITI DIGIT EIGHT
 12406         ; 8.0 ; ; 8 # Nl       CUNEIFORM NUMERIC SIGN EIGHT ASH
 1240D         ; 8.0 ; ; 8 # Nl       CUNEIFORM NUMERIC SIGN EIGHT DISH
@@ -1165,7 +1218,7 @@ FF18          ; 8.0 ; ; 8 # Nd       FULLWIDTH DIGIT EIGHT
 1E8CE         ; 8.0 ; ; 8 # No       MENDE KIKAKUI DIGIT EIGHT
 1F109         ; 8.0 ; ; 8 # No       DIGIT EIGHT COMMA
 
-# Total code points: 89
+# Total code points: 91
 
 # ================================================
 
@@ -1235,6 +1288,7 @@ FF19          ; 9.0 ; ; 9 # Nd       FULLWIDTH DIGIT NINE
 1010F         ; 9.0 ; ; 9 # No       AEGEAN NUMBER NINE
 102E9         ; 9.0 ; ; 9 # No       COPTIC EPACT DIGIT NINE
 104A9         ; 9.0 ; ; 9 # Nd       OSMANYA DIGIT NINE
+109C8         ; 9.0 ; ; 9 # No       MEROITIC CURSIVE NUMBER NINE
 10E68         ; 9.0 ; ; 9 # No       RUMI DIGIT NINE
 1105A         ; 9.0 ; ; 9 # No       BRAHMI NUMBER NINE
 1106F         ; 9.0 ; ; 9 # Nd       BRAHMI DIGIT NINE
@@ -1246,6 +1300,7 @@ FF19          ; 9.0 ; ; 9 # Nd       FULLWIDTH DIGIT NINE
 114D9         ; 9.0 ; ; 9 # Nd       TIRHUTA DIGIT NINE
 11659         ; 9.0 ; ; 9 # Nd       MODI DIGIT NINE
 116C9         ; 9.0 ; ; 9 # Nd       TAKRI DIGIT NINE
+11739         ; 9.0 ; ; 9 # Nd       AHOM DIGIT NINE
 118E9         ; 9.0 ; ; 9 # Nd       WARANG CITI DIGIT NINE
 12407         ; 9.0 ; ; 9 # Nl       CUNEIFORM NUMERIC SIGN NINE ASH
 1240E         ; 9.0 ; ; 9 # Nl       CUNEIFORM NUMERIC SIGN NINE DISH
@@ -1266,7 +1321,7 @@ FF19          ; 9.0 ; ; 9 # Nd       FULLWIDTH DIGIT NINE
 1F10A         ; 9.0 ; ; 9 # No       DIGIT NINE COMMA
 2F890         ; 9.0 ; ; 9 # Lo       CJK COMPATIBILITY IDEOGRAPH-2F890
 
-# Total code points: 93
+# Total code points: 95
 
 # ================================================
 
@@ -1302,21 +1357,25 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 1085B         ; 10.0 ; ; 10 # No       IMPERIAL ARAMAIC NUMBER TEN
 1087E         ; 10.0 ; ; 10 # No       PALMYRENE NUMBER TEN
 108AD         ; 10.0 ; ; 10 # No       NABATAEAN NUMBER TEN
+108FD         ; 10.0 ; ; 10 # No       HATRAN NUMBER TEN
 10917         ; 10.0 ; ; 10 # No       PHOENICIAN NUMBER TEN
+109C9         ; 10.0 ; ; 10 # No       MEROITIC CURSIVE NUMBER TEN
 10A44         ; 10.0 ; ; 10 # No       KHAROSHTHI NUMBER TEN
 10A9E         ; 10.0 ; ; 10 # No       OLD NORTH ARABIAN NUMBER TEN
 10AED         ; 10.0 ; ; 10 # No       MANICHAEAN NUMBER TEN
 10B5C         ; 10.0 ; ; 10 # No       INSCRIPTIONAL PARTHIAN NUMBER TEN
 10B7C         ; 10.0 ; ; 10 # No       INSCRIPTIONAL PAHLAVI NUMBER TEN
 10BAD         ; 10.0 ; ; 10 # No       PSALTER PAHLAVI NUMBER TEN
+10CFC         ; 10.0 ; ; 10 # No       OLD HUNGARIAN NUMBER TEN
 10E69         ; 10.0 ; ; 10 # No       RUMI NUMBER TEN
 1105B         ; 10.0 ; ; 10 # No       BRAHMI NUMBER TEN
 111EA         ; 10.0 ; ; 10 # No       SINHALA ARCHAIC NUMBER TEN
+1173A         ; 10.0 ; ; 10 # No       AHOM NUMBER TEN
 118EA         ; 10.0 ; ; 10 # No       WARANG CITI NUMBER TEN
 16B5B         ; 10.0 ; ; 10 # No       PAHAWH HMONG NUMBER TENS
 1D369         ; 10.0 ; ; 10 # No       COUNTING ROD TENS DIGIT ONE
 
-# Total code points: 49
+# Total code points: 53
 
 # ================================================
 
@@ -1424,7 +1483,9 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 1085C         ; 20.0 ; ; 20 # No       IMPERIAL ARAMAIC NUMBER TWENTY
 1087F         ; 20.0 ; ; 20 # No       PALMYRENE NUMBER TWENTY
 108AE         ; 20.0 ; ; 20 # No       NABATAEAN NUMBER TWENTY
+108FE         ; 20.0 ; ; 20 # No       HATRAN NUMBER TWENTY
 10918         ; 20.0 ; ; 20 # No       PHOENICIAN NUMBER TWENTY
+109CA         ; 20.0 ; ; 20 # No       MEROITIC CURSIVE NUMBER TWENTY
 10A45         ; 20.0 ; ; 20 # No       KHAROSHTHI NUMBER TWENTY
 10A9F         ; 20.0 ; ; 20 # No       OLD NORTH ARABIAN NUMBER TWENTY
 10AEE         ; 20.0 ; ; 20 # No       MANICHAEAN NUMBER TWENTY
@@ -1434,10 +1495,11 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 10E6A         ; 20.0 ; ; 20 # No       RUMI NUMBER TWENTY
 1105C         ; 20.0 ; ; 20 # No       BRAHMI NUMBER TWENTY
 111EB         ; 20.0 ; ; 20 # No       SINHALA ARCHAIC NUMBER TWENTY
+1173B         ; 20.0 ; ; 20 # No       AHOM NUMBER TWENTY
 118EB         ; 20.0 ; ; 20 # No       WARANG CITI NUMBER TWENTY
 1D36A         ; 20.0 ; ; 20 # No       COUNTING ROD TENS DIGIT TWO
 
-# Total code points: 27
+# Total code points: 30
 
 # ================================================
 
@@ -1503,6 +1565,7 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 10112         ; 30.0 ; ; 30 # No       AEGEAN NUMBER THIRTY
 10165         ; 30.0 ; ; 30 # Nl       GREEK ACROPHONIC THESPIAN THIRTY
 102EC         ; 30.0 ; ; 30 # No       COPTIC EPACT NUMBER THIRTY
+109CB         ; 30.0 ; ; 30 # No       MEROITIC CURSIVE NUMBER THIRTY
 10E6B         ; 30.0 ; ; 30 # No       RUMI NUMBER THIRTY
 1105D         ; 30.0 ; ; 30 # No       BRAHMI NUMBER THIRTY
 111EC         ; 30.0 ; ; 30 # No       SINHALA ARCHAIC NUMBER THIRTY
@@ -1510,7 +1573,7 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 1D36B         ; 30.0 ; ; 30 # No       COUNTING ROD TENS DIGIT THREE
 20983         ; 30.0 ; ; 30 # Lo       CJK UNIFIED IDEOGRAPH-20983
 
-# Total code points: 14
+# Total code points: 15
 
 # ================================================
 
@@ -1574,6 +1637,7 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 534C          ; 40.0 ; ; 40 # Lo       CJK UNIFIED IDEOGRAPH-534C
 10113         ; 40.0 ; ; 40 # No       AEGEAN NUMBER FORTY
 102ED         ; 40.0 ; ; 40 # No       COPTIC EPACT NUMBER FORTY
+109CC         ; 40.0 ; ; 40 # No       MEROITIC CURSIVE NUMBER FORTY
 10E6C         ; 40.0 ; ; 40 # No       RUMI NUMBER FORTY
 1105E         ; 40.0 ; ; 40 # No       BRAHMI NUMBER FORTY
 111ED         ; 40.0 ; ; 40 # No       SINHALA ARCHAIC NUMBER FORTY
@@ -1583,7 +1647,7 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 2098C         ; 40.0 ; ; 40 # Lo       CJK UNIFIED IDEOGRAPH-2098C
 2099C         ; 40.0 ; ; 40 # Lo       CJK UNIFIED IDEOGRAPH-2099C
 
-# Total code points: 14
+# Total code points: 15
 
 # ================================================
 
@@ -1655,7 +1719,9 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 10174         ; 50.0 ; ; 50 # Nl       GREEK ACROPHONIC STRATIAN FIFTY MNAS
 102EE         ; 50.0 ; ; 50 # No       COPTIC EPACT NUMBER FIFTY
 10323         ; 50.0 ; ; 50 # No       OLD ITALIC NUMERAL FIFTY
+109CD         ; 50.0 ; ; 50 # No       MEROITIC CURSIVE NUMBER FIFTY
 10A7E         ; 50.0 ; ; 50 # No       OLD SOUTH ARABIAN NUMBER FIFTY
+10CFD         ; 50.0 ; ; 50 # No       OLD HUNGARIAN NUMBER FIFTY
 10E6D         ; 50.0 ; ; 50 # No       RUMI NUMBER FIFTY
 1105F         ; 50.0 ; ; 50 # No       BRAHMI NUMBER FIFTY
 111EE         ; 50.0 ; ; 50 # No       SINHALA ARCHAIC NUMBER FIFTY
@@ -1663,7 +1729,7 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 12468         ; 50.0 ; ; 50 # Nl       CUNEIFORM NUMERIC SIGN ELAMITE FIFTY
 1D36D         ; 50.0 ; ; 50 # No       COUNTING ROD TENS DIGIT FIVE
 
-# Total code points: 24
+# Total code points: 26
 
 # ================================================
 
@@ -1671,13 +1737,14 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 324D          ; 60.0 ; ; 60 # No       CIRCLED NUMBER SIXTY ON BLACK SQUARE
 10115         ; 60.0 ; ; 60 # No       AEGEAN NUMBER SIXTY
 102EF         ; 60.0 ; ; 60 # No       COPTIC EPACT NUMBER SIXTY
+109CE         ; 60.0 ; ; 60 # No       MEROITIC CURSIVE NUMBER SIXTY
 10E6E         ; 60.0 ; ; 60 # No       RUMI NUMBER SIXTY
 11060         ; 60.0 ; ; 60 # No       BRAHMI NUMBER SIXTY
 111EF         ; 60.0 ; ; 60 # No       SINHALA ARCHAIC NUMBER SIXTY
 118EF         ; 60.0 ; ; 60 # No       WARANG CITI NUMBER SIXTY
 1D36E         ; 60.0 ; ; 60 # No       COUNTING ROD TENS DIGIT SIX
 
-# Total code points: 9
+# Total code points: 10
 
 # ================================================
 
@@ -1685,13 +1752,14 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 324E          ; 70.0 ; ; 70 # No       CIRCLED NUMBER SEVENTY ON BLACK SQUARE
 10116         ; 70.0 ; ; 70 # No       AEGEAN NUMBER SEVENTY
 102F0         ; 70.0 ; ; 70 # No       COPTIC EPACT NUMBER SEVENTY
+109CF         ; 70.0 ; ; 70 # No       MEROITIC CURSIVE NUMBER SEVENTY
 10E6F         ; 70.0 ; ; 70 # No       RUMI NUMBER SEVENTY
 11061         ; 70.0 ; ; 70 # No       BRAHMI NUMBER SEVENTY
 111F0         ; 70.0 ; ; 70 # No       SINHALA ARCHAIC NUMBER SEVENTY
 118F0         ; 70.0 ; ; 70 # No       WARANG CITI NUMBER SEVENTY
 1D36F         ; 70.0 ; ; 70 # No       COUNTING ROD TENS DIGIT SEVEN
 
-# Total code points: 9
+# Total code points: 10
 
 # ================================================
 
@@ -1739,43 +1807,49 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 103D5         ; 100.0 ; ; 100 # Nl       OLD PERSIAN NUMBER HUNDRED
 1085D         ; 100.0 ; ; 100 # No       IMPERIAL ARAMAIC NUMBER ONE HUNDRED
 108AF         ; 100.0 ; ; 100 # No       NABATAEAN NUMBER ONE HUNDRED
+108FF         ; 100.0 ; ; 100 # No       HATRAN NUMBER ONE HUNDRED
 10919         ; 100.0 ; ; 100 # No       PHOENICIAN NUMBER ONE HUNDRED
+109D2         ; 100.0 ; ; 100 # No       MEROITIC CURSIVE NUMBER ONE HUNDRED
 10A46         ; 100.0 ; ; 100 # No       KHAROSHTHI NUMBER ONE HUNDRED
 10AEF         ; 100.0 ; ; 100 # No       MANICHAEAN NUMBER ONE HUNDRED
 10B5E         ; 100.0 ; ; 100 # No       INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
 10B7E         ; 100.0 ; ; 100 # No       INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
 10BAF         ; 100.0 ; ; 100 # No       PSALTER PAHLAVI NUMBER ONE HUNDRED
+10CFE         ; 100.0 ; ; 100 # No       OLD HUNGARIAN NUMBER ONE HUNDRED
 10E72         ; 100.0 ; ; 100 # No       RUMI NUMBER ONE HUNDRED
 11064         ; 100.0 ; ; 100 # No       BRAHMI NUMBER ONE HUNDRED
 111F3         ; 100.0 ; ; 100 # No       SINHALA ARCHAIC NUMBER ONE HUNDRED
 16B5C         ; 100.0 ; ; 100 # No       PAHAWH HMONG NUMBER HUNDREDS
 
-# Total code points: 26
+# Total code points: 29
 
 # ================================================
 
 1011A         ; 200.0 ; ; 200 # No       AEGEAN NUMBER TWO HUNDRED
 102F4         ; 200.0 ; ; 200 # No       COPTIC EPACT NUMBER TWO HUNDRED
+109D3         ; 200.0 ; ; 200 # No       MEROITIC CURSIVE NUMBER TWO HUNDRED
 10E73         ; 200.0 ; ; 200 # No       RUMI NUMBER TWO HUNDRED
 
-# Total code points: 3
+# Total code points: 4
 
 # ================================================
 
 1011B         ; 300.0 ; ; 300 # No       AEGEAN NUMBER THREE HUNDRED
 1016B         ; 300.0 ; ; 300 # Nl       GREEK ACROPHONIC THESPIAN THREE HUNDRED
 102F5         ; 300.0 ; ; 300 # No       COPTIC EPACT NUMBER THREE HUNDRED
+109D4         ; 300.0 ; ; 300 # No       MEROITIC CURSIVE NUMBER THREE HUNDRED
 10E74         ; 300.0 ; ; 300 # No       RUMI NUMBER THREE HUNDRED
 
-# Total code points: 4
+# Total code points: 5
 
 # ================================================
 
 1011C         ; 400.0 ; ; 400 # No       AEGEAN NUMBER FOUR HUNDRED
 102F6         ; 400.0 ; ; 400 # No       COPTIC EPACT NUMBER FOUR HUNDRED
+109D5         ; 400.0 ; ; 400 # No       MEROITIC CURSIVE NUMBER FOUR HUNDRED
 10E75         ; 400.0 ; ; 400 # No       RUMI NUMBER FOUR HUNDRED
 
-# Total code points: 3
+# Total code points: 4
 
 # ================================================
 
@@ -1787,42 +1861,47 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 10153         ; 500.0 ; ; 500 # Nl       GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
 1016C..10170  ; 500.0 ; ; 500 # Nl   [5] GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED..GREEK ACROPHONIC NAXIAN FIVE HUNDRED
 102F7         ; 500.0 ; ; 500 # No       COPTIC EPACT NUMBER FIVE HUNDRED
+109D6         ; 500.0 ; ; 500 # No       MEROITIC CURSIVE NUMBER FIVE HUNDRED
 10E76         ; 500.0 ; ; 500 # No       RUMI NUMBER FIVE HUNDRED
 
-# Total code points: 13
+# Total code points: 14
 
 # ================================================
 
 1011E         ; 600.0 ; ; 600 # No       AEGEAN NUMBER SIX HUNDRED
 102F8         ; 600.0 ; ; 600 # No       COPTIC EPACT NUMBER SIX HUNDRED
+109D7         ; 600.0 ; ; 600 # No       MEROITIC CURSIVE NUMBER SIX HUNDRED
 10E77         ; 600.0 ; ; 600 # No       RUMI NUMBER SIX HUNDRED
 
-# Total code points: 3
+# Total code points: 4
 
 # ================================================
 
 1011F         ; 700.0 ; ; 700 # No       AEGEAN NUMBER SEVEN HUNDRED
 102F9         ; 700.0 ; ; 700 # No       COPTIC EPACT NUMBER SEVEN HUNDRED
+109D8         ; 700.0 ; ; 700 # No       MEROITIC CURSIVE NUMBER SEVEN HUNDRED
 10E78         ; 700.0 ; ; 700 # No       RUMI NUMBER SEVEN HUNDRED
 
-# Total code points: 3
+# Total code points: 4
 
 # ================================================
 
 10120         ; 800.0 ; ; 800 # No       AEGEAN NUMBER EIGHT HUNDRED
 102FA         ; 800.0 ; ; 800 # No       COPTIC EPACT NUMBER EIGHT HUNDRED
+109D9         ; 800.0 ; ; 800 # No       MEROITIC CURSIVE NUMBER EIGHT HUNDRED
 10E79         ; 800.0 ; ; 800 # No       RUMI NUMBER EIGHT HUNDRED
 
-# Total code points: 3
+# Total code points: 4
 
 # ================================================
 
 10121         ; 900.0 ; ; 900 # No       AEGEAN NUMBER NINE HUNDRED
 102FB         ; 900.0 ; ; 900 # No       COPTIC EPACT NUMBER NINE HUNDRED
 1034A         ; 900.0 ; ; 900 # Nl       GOTHIC LETTER NINE HUNDRED
+109DA         ; 900.0 ; ; 900 # No       MEROITIC CURSIVE NUMBER NINE HUNDRED
 10E7A         ; 900.0 ; ; 900 # No       RUMI NUMBER NINE HUNDRED
 
-# Total code points: 4
+# Total code points: 5
 
 # ================================================
 
@@ -1838,31 +1917,36 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 10154         ; 1000.0 ; ; 1000 # Nl       GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
 10171         ; 1000.0 ; ; 1000 # Nl       GREEK ACROPHONIC THESPIAN ONE THOUSAND
 1085E         ; 1000.0 ; ; 1000 # No       IMPERIAL ARAMAIC NUMBER ONE THOUSAND
+109DB         ; 1000.0 ; ; 1000 # No       MEROITIC CURSIVE NUMBER ONE THOUSAND
 10A47         ; 1000.0 ; ; 1000 # No       KHAROSHTHI NUMBER ONE THOUSAND
 10B5F         ; 1000.0 ; ; 1000 # No       INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
 10B7F         ; 1000.0 ; ; 1000 # No       INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
+10CFF         ; 1000.0 ; ; 1000 # No       OLD HUNGARIAN NUMBER ONE THOUSAND
 11065         ; 1000.0 ; ; 1000 # No       BRAHMI NUMBER ONE THOUSAND
 111F4         ; 1000.0 ; ; 1000 # No       SINHALA ARCHAIC NUMBER ONE THOUSAND
 
-# Total code points: 18
+# Total code points: 20
 
 # ================================================
 
 10123         ; 2000.0 ; ; 2000 # No       AEGEAN NUMBER TWO THOUSAND
+109DC         ; 2000.0 ; ; 2000 # No       MEROITIC CURSIVE NUMBER TWO THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 10124         ; 3000.0 ; ; 3000 # No       AEGEAN NUMBER THREE THOUSAND
+109DD         ; 3000.0 ; ; 3000 # No       MEROITIC CURSIVE NUMBER THREE THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 10125         ; 4000.0 ; ; 4000 # No       AEGEAN NUMBER FOUR THOUSAND
+109DE         ; 4000.0 ; ; 4000 # No       MEROITIC CURSIVE NUMBER FOUR THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
@@ -1871,32 +1955,37 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 10146         ; 5000.0 ; ; 5000 # Nl       GREEK ACROPHONIC ATTIC FIVE THOUSAND
 1014E         ; 5000.0 ; ; 5000 # Nl       GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
 10172         ; 5000.0 ; ; 5000 # Nl       GREEK ACROPHONIC THESPIAN FIVE THOUSAND
+109DF         ; 5000.0 ; ; 5000 # No       MEROITIC CURSIVE NUMBER FIVE THOUSAND
 
-# Total code points: 5
+# Total code points: 6
 
 # ================================================
 
 10127         ; 6000.0 ; ; 6000 # No       AEGEAN NUMBER SIX THOUSAND
+109E0         ; 6000.0 ; ; 6000 # No       MEROITIC CURSIVE NUMBER SIX THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 10128         ; 7000.0 ; ; 7000 # No       AEGEAN NUMBER SEVEN THOUSAND
+109E1         ; 7000.0 ; ; 7000 # No       MEROITIC CURSIVE NUMBER SEVEN THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 10129         ; 8000.0 ; ; 8000 # No       AEGEAN NUMBER EIGHT THOUSAND
+109E2         ; 8000.0 ; ; 8000 # No       MEROITIC CURSIVE NUMBER EIGHT THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 1012A         ; 9000.0 ; ; 9000 # No       AEGEAN NUMBER NINE THOUSAND
+109E3         ; 9000.0 ; ; 9000 # No       MEROITIC CURSIVE NUMBER NINE THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
@@ -1907,27 +1996,31 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 1012B         ; 10000.0 ; ; 10000 # No       AEGEAN NUMBER TEN THOUSAND
 10155         ; 10000.0 ; ; 10000 # Nl       GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
 1085F         ; 10000.0 ; ; 10000 # No       IMPERIAL ARAMAIC NUMBER TEN THOUSAND
+109E4         ; 10000.0 ; ; 10000 # No       MEROITIC CURSIVE NUMBER TEN THOUSAND
 16B5D         ; 10000.0 ; ; 10000 # No       PAHAWH HMONG NUMBER TEN THOUSANDS
 
-# Total code points: 8
+# Total code points: 9
 
 # ================================================
 
 1012C         ; 20000.0 ; ; 20000 # No       AEGEAN NUMBER TWENTY THOUSAND
+109E5         ; 20000.0 ; ; 20000 # No       MEROITIC CURSIVE NUMBER TWENTY THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 1012D         ; 30000.0 ; ; 30000 # No       AEGEAN NUMBER THIRTY THOUSAND
+109E6         ; 30000.0 ; ; 30000 # No       MEROITIC CURSIVE NUMBER THIRTY THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 1012E         ; 40000.0 ; ; 40000 # No       AEGEAN NUMBER FORTY THOUSAND
+109E7         ; 40000.0 ; ; 40000 # No       MEROITIC CURSIVE NUMBER FORTY THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
@@ -1935,36 +2028,48 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 1012F         ; 50000.0 ; ; 50000 # No       AEGEAN NUMBER FIFTY THOUSAND
 10147         ; 50000.0 ; ; 50000 # Nl       GREEK ACROPHONIC ATTIC FIFTY THOUSAND
 10156         ; 50000.0 ; ; 50000 # Nl       GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
+109E8         ; 50000.0 ; ; 50000 # No       MEROITIC CURSIVE NUMBER FIFTY THOUSAND
 
-# Total code points: 4
+# Total code points: 5
 
 # ================================================
 
 10130         ; 60000.0 ; ; 60000 # No       AEGEAN NUMBER SIXTY THOUSAND
+109E9         ; 60000.0 ; ; 60000 # No       MEROITIC CURSIVE NUMBER SIXTY THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 10131         ; 70000.0 ; ; 70000 # No       AEGEAN NUMBER SEVENTY THOUSAND
+109EA         ; 70000.0 ; ; 70000 # No       MEROITIC CURSIVE NUMBER SEVENTY THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 10132         ; 80000.0 ; ; 80000 # No       AEGEAN NUMBER EIGHTY THOUSAND
+109EB         ; 80000.0 ; ; 80000 # No       MEROITIC CURSIVE NUMBER EIGHTY THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 10133         ; 90000.0 ; ; 90000 # No       AEGEAN NUMBER NINETY THOUSAND
+109EC         ; 90000.0 ; ; 90000 # No       MEROITIC CURSIVE NUMBER NINETY THOUSAND
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
 2188          ; 100000.0 ; ; 100000 # Nl       ROMAN NUMERAL ONE HUNDRED THOUSAND
+109ED         ; 100000.0 ; ; 100000 # No       MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND
+
+# Total code points: 2
+
+# ================================================
+
+109EE         ; 200000.0 ; ; 200000 # No       MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND
 
 # Total code points: 1
 
@@ -1976,12 +2081,54 @@ F9FD          ; 10.0 ; ; 10 # Lo       CJK COMPATIBILITY IDEOGRAPH-F9FD
 
 # ================================================
 
+109EF         ; 300000.0 ; ; 300000 # No       MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND
+
+# Total code points: 1
+
+# ================================================
+
+109F0         ; 400000.0 ; ; 400000 # No       MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND
+
+# Total code points: 1
+
+# ================================================
+
 12433         ; 432000.0 ; ; 432000 # Nl       CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
 
 # Total code points: 1
 
 # ================================================
 
+109F1         ; 500000.0 ; ; 500000 # No       MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND
+
+# Total code points: 1
+
+# ================================================
+
+109F2         ; 600000.0 ; ; 600000 # No       MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND
+
+# Total code points: 1
+
+# ================================================
+
+109F3         ; 700000.0 ; ; 700000 # No       MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND
+
+# Total code points: 1
+
+# ================================================
+
+109F4         ; 800000.0 ; ; 800000 # No       MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND
+
+# Total code points: 1
+
+# ================================================
+
+109F5         ; 900000.0 ; ; 900000 # No       MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND
+
+# Total code points: 1
+
+# ================================================
+
 16B5E         ; 1000000.0 ; ; 1000000 # No       PAHAWH HMONG NUMBER MILLIONS
 
 # Total code points: 1
index a746b77..572c299 100644 (file)
@@ -959,8 +959,7 @@ my %why_obsolete;    # Documentation only
         # existence is not noted in the comment.
         'Decomposition_Mapping' => 'Accessible via Unicode::Normalize or prop_invmap() or charprop() in Unicode::UCD::',
 
-        'Indic_Matra_Category' => "Provisional",
-        'Indic_Syllabic_Category' => "Provisional",
+        'Indic_Matra_Category' => "Withdrawn by Unicode while still provisional",
 
         # Don't suppress ISO_Comment, as otherwise special handling is needed
         # to differentiate between it and gc=c, which can be written as 'isc',
@@ -4229,7 +4228,7 @@ sub trace { return main::trace(@_); }
             # In other words,
             #   r[$i-1]->end < $start <= r[$i]->end
             # And:
-            #   r[$i-1]->end < $start <= $end <= r[$j]->end
+            #   r[$i-1]->end < $start <= $end <= r[$j+1]->start
             #
             # Also:
             #   $clean_insert is a boolean which is set true if and only if
@@ -4238,24 +4237,18 @@ sub trace { return main::trace(@_); }
 
             # We now have enough information to decide if this call is a no-op
             # or not.  It is a no-op if this is an insertion of already
-            # existing data.
+            # existing data.  To be so, it must be contained entirely in one
+            # range.
 
             if (main::DEBUG && $to_trace && $clean_insert
-                                         && $i == $j
-                                         && $start >= $r->[$i]->start)
+                                         && $start >= $r->[$i]->start
+                                         && $end   <= $r->[$i]->end)
             {
                     trace "no-op";
             }
             return if $clean_insert
-                      && $i == $j # more than one affected range => not no-op
-
-                      # Here, r[$i-1]->end < $start <= $end <= r[$i]->end
-                      # Further, $start and/or $end is >= r[$i]->start
-                      # The test below hence guarantees that
-                      #     r[$i]->start < $start <= $end <= r[$i]->end
-                      # This means the input range is contained entirely in
-                      # the one at $i, so is a no-op
-                      && $start >= $r->[$i]->start;
+                      && $start >= $r->[$i]->start
+                      && $end   <= $r->[$i]->end;
         }
 
         # Here, we know that some action will have to be taken.  We have
@@ -8902,13 +8895,13 @@ sub trace { return main::trace(@_) if main::DEBUG && $to_trace }
 package main;
 
     sub display_chr {
-        # Converts an ordinal character value to a displayable string, using a
-        # NBSP to hold combining characters.
+        # Converts an ordinal printable character value to a displayable
+        # string, using a dotted circle to hold combining characters.
 
         my $ord = shift;
         my $chr = chr $ord;
         return $chr if $ccc->table(0)->contains($ord);
-        return chr(utf8::unicode_to_native(0xA0)) . $chr;
+        return "\x{25CC}$chr";
     }
 
 sub join_lines($) {
@@ -11162,8 +11155,10 @@ END
                 $fields[$NUMERIC_TYPE_OTHER_DIGIT] = 'Numeric';
 
                 # Rationals require extra effort.
-                register_fraction($fields[$NUMERIC])
-                                                if $fields[$NUMERIC] =~ qr{/};
+                if ($fields[$NUMERIC] =~ qr{/}) {
+                    reduce_fraction(\$fields[$NUMERIC]);
+                    register_fraction($fields[$NUMERIC])
+                }
             }
         }
 
@@ -12201,6 +12196,50 @@ sub register_fraction($) {
     return;
 }
 
+sub gcd($$) {   # Greatest-common-divisor; from
+                # http://en.wikipedia.org/wiki/Euclidean_algorithm
+    my ($a, $b) = @_;
+
+    use integer;
+
+    while ($b != 0) {
+       my $temp = $b;
+       $b = $a % $b;
+       $a = $temp;
+    }
+    return $a;
+}
+
+sub reduce_fraction($) {
+    my $fraction_ref = shift;
+
+    # Reduce a fraction to lowest terms.  The Unicode data may be reducible,
+    # hence this is needed.  The argument is a reference to the
+    # string denoting the fraction, which must be of the form:
+    if ($$fraction_ref !~ / ^ (-?) (\d+) \/ (\d+) $ /ax) {
+        Carp::my_carp_bug("Non-fraction input '$$fraction_ref'.  Unchanged");
+        return;
+    }
+
+    my $sign = $1;
+    my $numerator = $2;
+    my $denominator = $3;
+
+    use integer;
+
+    # Find greatest common divisor
+    my $gcd = gcd($numerator, $denominator);
+
+    # And reduce using the gcd.
+    if ($gcd != 1) {
+        $numerator    /= $gcd;
+        $denominator  /= $gcd;
+        $$fraction_ref = "$sign$numerator/$denominator";
+    }
+
+    return;
+}
+
 sub filter_numeric_value_line {
     # DNumValues contains lines of a different syntax than the typical
     # property file:
@@ -12225,7 +12264,9 @@ sub filter_numeric_value_line {
             $_ = "";
             return;
         }
+        reduce_fraction(\$fields[3]) if $fields[3] =~ qr{/};
         $rational = $fields[3];
+
         $_ = join '; ', @fields[ 0, 3 ];
     }
     else {
@@ -18202,12 +18243,14 @@ my @input_file_objects = (
     Input_file->new('IndicMatraCategory.txt', v6.1.0,
                     Property => 'Indic_Matra_Category',
                     Has_Missings_Defaults => $NOT_IGNORED,
-                    Skip => "Provisional; for the analysis and processing of Indic scripts",
+                    Skip => "Withdrawn by Unicode while still provisional",
                     ),
     Input_file->new('IndicSyllabicCategory.txt', v6.1.0,
                     Property => 'Indic_Syllabic_Category',
                     Has_Missings_Defaults => $NOT_IGNORED,
-                    Skip => "Provisional; for the analysis and processing of Indic scripts",
+                    Skip => (($v_version lt v8.0.0)
+                              ? "Provisional; for the analysis and processing of Indic scripts"
+                              : 0),
                     ),
     Input_file->new('BidiBrackets.txt', v6.3.0,
                     Properties => [ 'Bidi_Paired_Bracket', 'Bidi_Paired_Bracket_Type' ],
@@ -18216,6 +18259,10 @@ my @input_file_objects = (
     Input_file->new("BidiCharacterTest.txt", v6.3.0,
                     Skip => 'Validation Tests',
                     ),
+    Input_file->new('IndicPositionalCategory.txt', v8.0.0,
+                    Property => 'Indic_Positional_Category',
+                    Has_Missings_Defaults => $NOT_IGNORED,
+                    ),
 );
 
 # End of all the preliminaries.
index 66ce77b..ae9a76b 100644 (file)
@@ -1 +1 @@
-7.0.0
+8.0.0
index e0c3d5e..1ba73b2 100644 (file)
@@ -20,7 +20,7 @@ sub _loose_name ($) {
     # out blanks, underscores and dashes.  The complication stems from the
     # grandfathered-in 'L_', which retains a single trailing underscore.
 
-    my $loose = $_[0] =~ s/[-\s_]//rg;
+    (my $loose = $_[0]) =~ tr/-_ \t//d;
 
     return $loose if $loose !~ / ^ (?: is | to )? l $/x;
     return 'l_' if $_[0] =~ / l .* _ /x;    # If original had a trailing '_'
@@ -226,7 +226,7 @@ sub _loose_name ($) {
 
                     # If the rhs looks like it is a number...
                     print STDERR __LINE__, ": table=$table\n" if DEBUG;
-                    if ($table =~ qr{ ^ [ \s 0-9 _  + / . -]+ $ }x) {
+                    if ($table =~ m{ ^ [ \s 0-9 _  + / . -]+ $ }x) {
                         print STDERR __LINE__, ": table=$table\n" if DEBUG;
 
                         # Don't allow leading nor trailing slashes 
@@ -236,7 +236,7 @@ sub _loose_name ($) {
                         }
 
                         # Split on slash, in case it is a rational, like \p{1/5}
-                        my @parts = split qr{ \s* / \s* }x, $table, -1;
+                        my @parts = split m{ \s* / \s* }x, $table, -1;
                         print __LINE__, ": $type\n" if @parts > 2 && DEBUG;
 
                         # Can have maximum of one slash
index 85a1951..f0b512a 100644 (file)
@@ -12,5 +12,6 @@ $| = 1;
 
 print "1..1\n";
 
+use vars;
 # Carp not loaded yet;
 print defined $Carp::VERSION ? "not ok 1\n" : "ok 1\n";
index 796b415..e47ced4 100644 (file)
@@ -5,7 +5,7 @@
 
 package warnings;
 
-our $VERSION = "1.34";
+our $VERSION = '1.32';
 
 # Verify that we're called correctly so that warnings will work.
 # see also strict.pm.
@@ -1025,10 +1025,8 @@ this snippet of code:
     package MyMod::Abc;
 
     sub open {
-        if (warnings::enabled("deprecated")) {
-            warnings::warn("deprecated",
-                           "open is deprecated, use new instead");
-        }
+        warnings::warnif("deprecated",
+                         "open is deprecated, use new instead");
         new(@_);
     }
 
index 7a4a418..a36e8dc 100644 (file)
--- a/locale.c
+++ b/locale.c
@@ -759,7 +759,9 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
 #endif /* !LOCALE_ENVIRON_REQUIRED */
 
     /* We try each locale in the list until we get one that works, or exhaust
-     * the list */
+     * 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
+     * will execute the loop multiple times */
     trial_locales[0] = setlocale_init;
     trial_locales_count = 1;
     for (i= 0; i < trial_locales_count; i++) {
@@ -868,18 +870,18 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
 
                 PerlIO_printf(Perl_error_log,
                 "perl: warning: Setting locale failed for the categories:\n\t");
-#ifdef USE_LOCALE_CTYPE
+#  ifdef USE_LOCALE_CTYPE
                 if (! curctype)
                     PerlIO_printf(Perl_error_log, "LC_CTYPE ");
-#endif /* USE_LOCALE_CTYPE */
-#ifdef USE_LOCALE_COLLATE
+#  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
+#  endif /* USE_LOCALE_COLLATE */
+#  ifdef USE_LOCALE_NUMERIC
                 if (! curnum)
                     PerlIO_printf(Perl_error_log, "LC_NUMERIC ");
-#endif /* USE_LOCALE_NUMERIC */
+#  endif /* USE_LOCALE_NUMERIC */
                 PerlIO_printf(Perl_error_log, "and possibly others\n");
 
 #endif /* LC_ALL */
diff --git a/mg.c b/mg.c
index 064a1ae..054d839 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -3279,7 +3279,7 @@ Perl_sighandler(int sig)
        if (hek)
            Perl_ck_warner(aTHX_ packWARN(WARN_SIGNAL),
                                "SIG%s handler \"%"HEKf"\" not defined.\n",
-                                PL_sig_name[sig], hek);
+                                PL_sig_name[sig], HEKfARG(hek));
             /* diag_listed_as: SIG%s handler "%s" not defined */
        else Perl_ck_warner(aTHX_ packWARN(WARN_SIGNAL),
                           "SIG%s handler \"__ANON__\" not defined.\n",
index 268a962..be85adb 100644 (file)
--- a/numeric.c
+++ b/numeric.c
@@ -1630,22 +1630,10 @@ Users should just always call Perl_signbit().
 int
 Perl_signbit(NV x) {
 #  ifdef Perl_fp_class_nzero
-    return Perl_fp_class_nzero(x);
-    /* Try finding the high byte, and assume it's highest bit
-     * is the sign.  This assumption is probably wrong somewhere. */
-#  elif defined(USE_LONG_DOUBLE) && LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN
-    return (((unsigned char *)&x)[9] & 0x80);
-#  elif defined(NV_LITTLE_ENDIAN)
-    /* Note that NVSIZE is sizeof(NV), which would make the below be
-     * wrong if the end bytes are unused, which happens with the x86
-     * 80-bit long doubles, which is why take care of that above. */
-    return (((unsigned char *)&x)[NVSIZE - 1] & 0x80);
-#  elif defined(NV_BIG_ENDIAN)
-    return (((unsigned char *)&x)[0] & 0x80);
-#  else
-    /* This last resort fallback is wrong for the negative zero. */
-    return (x < 0.0) ? 1 : 0;
+    if (x == 0)
+        return Perl_fp_class_nzero(x);
 #  endif
+    return (x < 0.0) ? 1 : 0;
 }
 #endif
 
diff --git a/op.c b/op.c
index e92de57..2c2c520 100644 (file)
--- a/op.c
+++ b/op.c
@@ -719,23 +719,10 @@ Perl_op_free(pTHX_ OP *o)
         type = o->op_type;
 
         /* an op should only ever acquire op_private flags that we know about.
-         * If this fails, you may need to fix something in regen/op_private.
-         * Don't bother testing if:
-         *   * the op_ppaddr doesn't match the op; someone may have
-         *     overridden the op and be doing strange things with it;
-         *   * we've errored, as op flags are often left in an
-         *     inconsistent state then. Note that an error when
-         *     compiling the main program leaves PL_parser NULL, so
-         *     we can't spot faults in the main code, onoly
-         *     evaled/required code */
-#ifdef DEBUGGING
-        if (   o->op_ppaddr == PL_ppaddr[o->op_type]
-            && PL_parser
-            && !PL_parser->error_count)
-        {
+         * If this fails, you may need to fix something in regen/op_private */
+        if (o->op_ppaddr == PL_ppaddr[o->op_type]) {
             assert(!(o->op_private & ~PL_op_private_valid[type]));
         }
-#endif
 
         if (o->op_private & OPpREFCOUNTED) {
             switch (type) {
@@ -2351,13 +2338,6 @@ S_check_hash_fields_and_hekify(pTHX_ UNOP *rop, SVOP *key_op)
             continue;
         svp = cSVOPx_svp(key_op);
 
-        /* make sure it's not a bareword under strict subs */
-        if (key_op->op_private & OPpCONST_BARE &&
-            key_op->op_private & OPpCONST_STRICT)
-        {
-            no_bareword_allowed((OP*)key_op);
-        }
-
         /* Make the CONST have a shared SV */
         if (   !SvIsCOW_shared_hash(sv = *svp)
             && SvTYPE(sv) < SVt_PVMG
@@ -2629,13 +2609,7 @@ S_mark_padname_lvalue(pTHX_ PADNAME *pn)
     PadnameLVALUE_on(pn);
     while (PadnameOUTER(pn) && PARENT_PAD_INDEX(pn)) {
        cv = CvOUTSIDE(cv);
-        /* RT #127786: cv can be NULL due to an eval within the DB package
-         * called from an anon sub - anon subs don't have CvOUTSIDE() set
-         * unless they contain an eval, but calling eval within DB
-         * pretends the eval was done in the caller's scope.
-         */
-       if (!cv)
-            break;
+       assert(cv);
        assert(CvPADLIST(cv));
        pn =
           PadlistNAMESARRAY(CvPADLIST(cv))[PARENT_PAD_INDEX(pn)];
@@ -7630,7 +7604,7 @@ S_ref_array_or_hash(pTHX_ OP *cond)
 
        /* anonlist now needs a list from this op, was previously used in
         * scalar context */
-       cond->op_flags |= ~(OPf_WANT_SCALAR | OPf_REF);
+       cond->op_flags &= ~(OPf_WANT_SCALAR | OPf_REF);
        cond->op_flags |= OPf_WANT_LIST;
 
        return newANONLIST(op_lvalue(cond, OP_ANONLIST));
@@ -8168,14 +8142,13 @@ Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
                   : newUNOP(OP_LEAVESUB, 0, scalarseq(block));
        start = LINKLIST(block);
        block->op_next = 0;
+        if (ps && !*ps && !attrs && !CvLVALUE(compcv))
+            const_sv = S_op_const_sv(aTHX_ start, compcv, FALSE);
+        else
+            const_sv = NULL;
     }
-
-    if (!block || !ps || *ps || attrs
-       || CvLVALUE(compcv)
-       )
-       const_sv = NULL;
     else
-       const_sv = S_op_const_sv(aTHX_ start, compcv, FALSE);
+        const_sv = NULL;
 
     if (cv) {
         const bool exists = CvROOT(cv) || CvXSUB(cv);
@@ -8573,17 +8546,17 @@ Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs,
                   : newUNOP(OP_LEAVESUB, 0, scalarseq(block));
        start = LINKLIST(block);
        block->op_next = 0;
+        if (ps && !*ps && !attrs && !CvLVALUE(PL_compcv))
+            const_sv =
+                S_op_const_sv(aTHX_ start, PL_compcv, CvCLONE(PL_compcv));
+        else
+            const_sv = NULL;
     }
-
-    if (!block || !ps || *ps || attrs
-       || CvLVALUE(PL_compcv)
-       )
-       const_sv = NULL;
     else
-       const_sv =
-           S_op_const_sv(aTHX_ start, PL_compcv, cBOOL(CvCLONE(PL_compcv)));
+        const_sv = NULL;
 
     if (SvPOK(gv) || (SvROK(gv) && SvTYPE(SvRV(gv)) != SVt_PVCV)) {
+       assert (block);
        cv_ckproto_len_flags((const CV *)gv,
                             o ? (const GV *)cSVOPo->op_sv : NULL, ps,
                             ps_len, ps_utf8|CV_CKPROTO_CURSTASH);
@@ -11341,20 +11314,11 @@ OP *
 Perl_ck_entersub_args_list(pTHX_ OP *entersubop)
 {
     OP *aop;
-
     PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_LIST;
-
     aop = cUNOPx(entersubop)->op_first;
     if (!OpHAS_SIBLING(aop))
        aop = cUNOPx(aop)->op_first;
     for (aop = OpSIBLING(aop); OpHAS_SIBLING(aop); aop = OpSIBLING(aop)) {
-        /* skip the extra attributes->import() call implicitly added in
-         * something like foo(my $x : bar)
-         */
-        if (   aop->op_type == OP_ENTERSUB
-            && (aop->op_flags & OPf_WANT) == OPf_WANT_VOID
-        )
-            continue;
         list(aop);
         op_lvalue(aop, OP_ENTERSUB);
     }
index 6b5841e..c500aa4 100644 (file)
@@ -104,8 +104,10 @@ get_regex_charset(const U32 flags)
 #define RXf_PMf_COMPILETIME    (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_EXTENDED_MORE|RXf_PMf_KEEPCOPY|RXf_PMf_NOCAPTURE|RXf_PMf_CHARSET|RXf_PMf_STRICT)
 #define RXf_PMf_FLAGCOPYMASK   (RXf_PMf_COMPILETIME|RXf_PMf_SPLIT)
 
-#if 0   /* Temporary to get Jenkins happy again */
-See thread starting at http://nntp.perl.org/group/perl.perl5.porters/220710
+/* Temporary to get Jenkins happy again
+ * See thread starting at http://nntp.perl.org/group/perl.perl5.porters/220710
+ */
+#if 0
     /* Exclude win32 because it can't cope with I32_MAX definition */
 #ifndef WIN32
 #   if RXf_PMf_COMPILETIME > I32_MAX
index 6ebaeb7..12d6f13 100644 (file)
@@ -14,8 +14,8 @@
  * exactly on the third column */
 
 #define PERL_REVISION  5               /* age */
-#define PERL_VERSION   22              /* epoch */
-#define PERL_SUBVERSION        3               /* generation */
+#define PERL_VERSION   23              /* epoch */
+#define PERL_SUBVERSION        0               /* generation */
 
 /* The following numbers describe the earliest compatible version of
    Perl ("compatibility" here being defined as sufficient binary/API
@@ -35,7 +35,7 @@
    changing them should not be necessary.
 */
 #define PERL_API_REVISION      5
-#define PERL_API_VERSION       22
+#define PERL_API_VERSION       23
 #define PERL_API_SUBVERSION    0
 /*
    XXX Note:  The selection of non-default Configure options, such
diff --git a/perl.c b/perl.c
index 180aa79..b6a3d87 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -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
+ *     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.
@@ -1485,8 +1485,8 @@ perl_parse(pTHXx_ XSINIT_t xsinit, int argc, char **argv, char **env)
         const char * const s = PerlEnv_getenv("PERL_HASH_SEED_DEBUG");
 
         if (s && strEQ(s, "1")) {
-            const unsigned char *seed= PERL_HASH_SEED;
-            const unsigned char *seed_end= PERL_HASH_SEED + PERL_HASH_SEED_BYTES;
+            unsigned char *seed= PERL_HASH_SEED;
+            unsigned char *seed_end= PERL_HASH_SEED + PERL_HASH_SEED_BYTES;
             PerlIO_printf(Perl_debug_log, "HASH_FUNCTION = %s HASH_SEED = 0x", PERL_HASH_FUNC);
             while (seed < seed_end) {
                 PerlIO_printf(Perl_debug_log, "%02x", *seed++);
@@ -1833,7 +1833,7 @@ S_parse_body(pTHX_ char **env, XSINIT_t xsinit)
     int argc = PL_origargc;
     char **argv = PL_origargv;
     const char *scriptname = NULL;
-    VOL bool dosearch = FALSE;
+    bool dosearch = FALSE;
     char c;
     bool doextract = FALSE;
     const char *cddir = NULL;
@@ -2664,22 +2664,8 @@ Perl_call_method(pTHX_ const char *methname, I32 flags)
 /*
 =for apidoc p||call_sv
 
-Performs a callback to the Perl sub specified by the SV.
-
-If neither the C<G_METHOD> or C<G_METHOD_NAMED> flag is supplied, the
-SV may be any of a CV, a GV, a reference to a CV, a reference to a GV
-or C<SvPV(sv)> will be used as the name of the sub to call.
-
-If the C<G_METHOD> flag is supplied, the SV may be a reference to a CV or
-C<SvPV(sv)> will be used as the name of the method to call.
-
-If the C<G_METHOD_NAMED> flag is supplied, C<SvPV(sv)> will be used as
-the name of the method to call.
-
-Some other values are treated specially for internal use and should
-not be depended on.
-
-See L<perlcall>.
+Performs a callback to the Perl sub whose name is in the SV.  See
+L<perlcall>.
 
 =cut
 */
@@ -3069,7 +3055,6 @@ Perl_get_debug_opts(pTHX_ const char **s, bool givehelp)
       "  M  trace smart match resolution\n"
       "  B  dump suBroutine definitions, including special Blocks like BEGIN\n",
       "  L  trace some locale setting information--for Perl core development\n",
-      "  i  trace PerlIO layer processing\n",
       NULL
     };
     UV uv = 0;
@@ -3078,7 +3063,7 @@ Perl_get_debug_opts(pTHX_ const char **s, bool givehelp)
 
     if (isALPHA(**s)) {
        /* if adding extra options, remember to update DEBUG_MASK */
-       static const char debopts[] = "psltocPmfrxuUHXDSTRJvCAqMBLi";
+       static const char debopts[] = "psltocPmfrxuUHXDSTRJvCAqMBL";
 
        for (; isWORDCHAR(**s); (*s)++) {
            const char * const d = strchr(debopts,**s);
@@ -3511,7 +3496,7 @@ S_minus_v(pTHX)
 #endif
 
        PerlIO_printf(PIO_stdout,
-                     "\n\nCopyright 1987-2017, Larry Wall\n");
+                     "\n\nCopyright 1987-2015, Larry Wall\n");
 #ifdef MSDOS
        PerlIO_printf(PIO_stdout,
                      "\nMS-DOS port Copyright (c) 1989, 1990, Diomidis Spinellis\n");
@@ -3761,7 +3746,7 @@ S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript)
        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 old_umask = umask(0600);
            int tmpfd = mkstemp(tmpname);
             umask(old_umask);
            if (tmpfd > -1) {
@@ -4299,70 +4284,23 @@ S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
        }
        if (env) {
          char *s, *old_var;
-          STRLEN nlen;
          SV *sv;
-          HV *dups = newHV();
-
          for (; *env; env++) {
            old_var = *env;
 
            if (!(s = strchr(old_var,'=')) || s == old_var)
                continue;
-            nlen = s - old_var;
 
 #if defined(MSDOS) && !defined(DJGPP)
            *s = '\0';
            (void)strupr(old_var);
            *s = '=';
 #endif
-            if (hv_exists(hv, old_var, nlen)) {
-                const char *name = savepvn(old_var, nlen);
-
-                /* make sure we use the same value as getenv(), otherwise code that
-                   uses getenv() (like setlocale()) might see a different value to %ENV
-                 */
-                sv = newSVpv(PerlEnv_getenv(name), 0);
-
-                /* keep a count of the dups of this name so we can de-dup environ later */
-                if (hv_exists(dups, name, nlen))
-                    ++SvIVX(*hv_fetch(dups, name, nlen, 0));
-                else
-                    (void)hv_store(dups, name, nlen, newSViv(1), 0);
-
-                Safefree(name);
-            }
-            else {
-                sv = newSVpv(s+1, 0);
-            }
-           (void)hv_store(hv, old_var, nlen, sv, 0);
+           sv = newSVpv(s+1, 0);
+           (void)hv_store(hv, old_var, s - old_var, sv, 0);
            if (env_is_not_environ)
                mg_set(sv);
          }
-          if (HvKEYS(dups)) {
-              /* environ has some duplicate definitions, remove them */
-              HE *entry;
-              hv_iterinit(dups);
-              while ((entry = hv_iternext_flags(dups, 0))) {
-                  STRLEN nlen;
-                  const char *name = HePV(entry, nlen);
-                  IV count = SvIV(HeVAL(entry));
-                  IV i;
-                  SV **valp = hv_fetch(hv, name, nlen, 0);
-
-                  assert(valp);
-
-                  /* try to remove any duplicate names, depending on the
-                   * implementation used in my_setenv() the iteration might
-                   * not be necessary, but let's be safe.
-                   */
-                  for (i = 0; i < count; ++i)
-                      my_setenv(name, 0);
-
-                  /* and set it back to the value we set $ENV{name} to */
-                  my_setenv(name, SvPV_nolen(*valp));
-              }
-          }
-          SvREFCNT_dec_NN(dups);
       }
 #endif /* USE_ENVIRON_ARRAY */
 #endif /* !PERL_MICRO */
@@ -4447,7 +4385,7 @@ S_init_perllib(pTHX)
 #ifdef SITELIB_EXP
 #  if defined(WIN32)
     /* this picks up sitearch as well */
-       s = win32_get_sitelib(PERL_FS_VERSION, &len);
+       s = PerlEnv_sitelib_path(PERL_FS_VERSION, &len);
        if (s)
            incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
 #  else
@@ -4467,7 +4405,7 @@ S_init_perllib(pTHX)
 #ifdef PERL_VENDORLIB_EXP
 #  if defined(WIN32)
     /* this picks up vendorarch as well */
-       s = win32_get_vendorlib(PERL_FS_VERSION, &len);
+       s = PerlEnv_vendorlib_path(PERL_FS_VERSION, &len);
        if (s)
            incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
 #  else
@@ -4485,7 +4423,7 @@ S_init_perllib(pTHX)
 #endif
 
 #if defined(WIN32)
-    s = win32_get_privlib(PERL_FS_VERSION, &len);
+    s = PerlEnv_lib_path(PERL_FS_VERSION, &len);
     if (s)
        incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
 #else
diff --git a/perl.h b/perl.h
index b816abd..ad94402 100644 (file)
--- a/perl.h
+++ b/perl.h
     Perl_pregfree(aTHX_ (prog))
 
 #define CALLREGFREE_PVT(prog) \
-    if(prog) RX_ENGINE(prog)->free(aTHX_ (prog))
+    if(prog) RX_ENGINE(prog)->rxfree(aTHX_ (prog))
 
 #define CALLREG_NUMBUF_FETCH(rx,paren,usesv)                                \
     RX_ENGINE(rx)->numbered_buff_FETCH(aTHX_ (rx),(paren),(usesv))
 #  endif
 #endif
 
-/* Some platforms require marking function declarations
- * for them to be exportable.  Used in perlio.h, proto.h
- * is handled either by the makedef.pl or by defining the
- * PERL_CALLCONV to be something special.  See also the
- * definition of XS() in XSUB.h. */
-#ifndef PERL_EXPORT_C
-#  ifdef __cplusplus
-#    define PERL_EXPORT_C extern "C"
-#  else
-#    define PERL_EXPORT_C extern
-#  endif
-#endif
-#ifndef PERL_XS_EXPORT_C
-#  ifdef __cplusplus
-#    define PERL_XS_EXPORT_C extern "C"
-#  else
-#    define PERL_XS_EXPORT_C
-#  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
@@ -1874,9 +1854,6 @@ typedef NVTYPE NV;
 /* Also Tru64 cc has broken NaN comparisons. */
 #  define NAN_COMPARE_BROKEN
 #endif
-#if defined(__sgi)
-#  define NAN_COMPARE_BROKEN
-#endif
 
 #ifdef USE_LONG_DOUBLE
 #   ifdef I_SUNMATH
@@ -1997,8 +1974,6 @@ extern long double Perl_my_frexpl(long double x, int *e);
 #   define NV_EPSILON FLT128_EPSILON
 #   define NV_MIN_10_EXP FLT128_MIN_10_EXP
 #   define NV_MAX_10_EXP FLT128_MAX_10_EXP
-#   define NV_INF HUGE_VALQ
-#   define NV_NAN nanq("0")
 #   define Perl_acos acosq
 #   define Perl_asin asinq
 #   define Perl_atan atanq
@@ -3511,9 +3486,9 @@ typedef pthread_key_t     perl_key;
    appropriate to call return.  In either case, include the lint directive.
  */
 #ifdef HASATTRIBUTE_NORETURN
-#  define NORETURN_FUNCTION_END NOT_REACHED; /* NOTREACHED */
+#  define NORETURN_FUNCTION_END NOT_REACHED;
 #else
-#  define NORETURN_FUNCTION_END NOT_REACHED; /* NOTREACHED */ return 0
+#  define NORETURN_FUNCTION_END NOT_REACHED; return 0
 #endif
 
 /* Some OS warn on NULL format to printf */
@@ -3687,6 +3662,30 @@ typedef        struct crypt_data {     /* straight from /usr/include/crypt.h */
 #endif /* threading */
 #endif /* AIX */
 
+#ifndef PERL_CALLCONV
+#  ifdef __cplusplus
+#    define PERL_CALLCONV extern "C"
+#  else
+#    define PERL_CALLCONV
+#  endif
+#endif
+#ifndef PERL_CALLCONV_NO_RET
+#    define PERL_CALLCONV_NO_RET PERL_CALLCONV
+#endif
+
+/* PERL_STATIC_NO_RET is supposed to be equivalent to STATIC on builds that
+   dont have a noreturn as a declaration specifier
+*/
+#ifndef PERL_STATIC_NO_RET
+#  define PERL_STATIC_NO_RET STATIC
+#endif
+/* PERL_STATIC_NO_RET is supposed to be equivalent to PERL_STATIC_INLINE on
+   builds that dont have a noreturn as a declaration specifier
+*/
+#ifndef PERL_STATIC_INLINE_NO_RET
+#  define PERL_STATIC_INLINE_NO_RET PERL_STATIC_INLINE
+#endif
+
 #if !defined(OS2)
 #  include "iperlsys.h"
 #endif
@@ -4007,12 +4006,10 @@ Gid_t getegid (void);
 #define DEBUG_M_FLAG           0x01000000 /*16777216*/
 #define DEBUG_B_FLAG           0x02000000 /*33554432*/
 #define DEBUG_L_FLAG           0x04000000 /*67108864*/
-#define DEBUG_i_FLAG           0x08000000 /*134217728*/
-#define DEBUG_MASK             0x0FFFEFFF /* mask of all the standard flags */
+#define DEBUG_MASK             0x07FFEFFF /* mask of all the standard flags */
 
 #define DEBUG_DB_RECURSE_FLAG  0x40000000
-#define DEBUG_TOP_FLAG         0x80000000 /* XXX what's this for ??? Signal
-                                             that something was done? */
+#define DEBUG_TOP_FLAG         0x80000000 /* -D was given --> PL_debug |= FLAG */
 
 #  define DEBUG_p_TEST_ (PL_debug & DEBUG_p_FLAG)
 #  define DEBUG_s_TEST_ (PL_debug & DEBUG_s_FLAG)
@@ -4041,7 +4038,6 @@ Gid_t getegid (void);
 #  define DEBUG_M_TEST_ (PL_debug & DEBUG_M_FLAG)
 #  define DEBUG_B_TEST_ (PL_debug & DEBUG_B_FLAG)
 #  define DEBUG_L_TEST_ (PL_debug & DEBUG_L_FLAG)
-#  define DEBUG_i_TEST_ (PL_debug & DEBUG_i_FLAG)
 #  define DEBUG_Xv_TEST_ (DEBUG_X_TEST_ && DEBUG_v_TEST_)
 #  define DEBUG_Uv_TEST_ (DEBUG_U_TEST_ && DEBUG_v_TEST_)
 #  define DEBUG_Pv_TEST_ (DEBUG_P_TEST_ && DEBUG_v_TEST_)
@@ -4075,7 +4071,6 @@ Gid_t getegid (void);
 #  define DEBUG_M_TEST DEBUG_M_TEST_
 #  define DEBUG_B_TEST DEBUG_B_TEST_
 #  define DEBUG_L_TEST DEBUG_L_TEST_
-#  define DEBUG_i_TEST DEBUG_i_TEST_
 #  define DEBUG_Xv_TEST DEBUG_Xv_TEST_
 #  define DEBUG_Uv_TEST DEBUG_Uv_TEST_
 #  define DEBUG_Pv_TEST DEBUG_Pv_TEST_
@@ -4129,7 +4124,6 @@ Gid_t getegid (void);
 #  define DEBUG_M(a) DEBUG__(DEBUG_M_TEST, a)
 #  define DEBUG_B(a) DEBUG__(DEBUG_B_TEST, a)
 #  define DEBUG_L(a) DEBUG__(DEBUG_L_TEST, a)
-#  define DEBUG_i(a) DEBUG__(DEBUG_i_TEST, a)
 
 #else /* DEBUGGING */
 
@@ -4160,7 +4154,6 @@ Gid_t getegid (void);
 #  define DEBUG_M_TEST (0)
 #  define DEBUG_B_TEST (0)
 #  define DEBUG_L_TEST (0)
-#  define DEBUG_i_TEST (0)
 #  define DEBUG_Xv_TEST (0)
 #  define DEBUG_Uv_TEST (0)
 #  define DEBUG_Pv_TEST (0)
@@ -4194,7 +4187,6 @@ Gid_t getegid (void);
 #  define DEBUG_M(a)
 #  define DEBUG_B(a)
 #  define DEBUG_L(a)
-#  define DEBUG_i(a)
 #  define DEBUG_Xv(a)
 #  define DEBUG_Uv(a)
 #  define DEBUG_Pv(a)
@@ -4299,98 +4291,6 @@ START_EXTERN_C
 END_EXTERN_C
 #endif
 
-/* If you are thinking of using HUGE_VAL for infinity, or using
- * <math.h> functions to generate NV_INF (e.g. exp(1e9), log(-1.0)),
- * stop.  Neither will work portably: HUGE_VAL can be just DBL_MAX,
- * and the math functions might be just generating DBL_MAX, or even
- * zero.  */
-
-#if !defined(NV_INF) && defined(USE_LONG_DOUBLE)
-#  if !defined(NV_INF) && defined(LDBL_INFINITY)
-#    define NV_INF LDBL_INFINITY
-#  endif
-#  if !defined(NV_INF) && defined(INFINITYL)
-#    define NV_INF INFINITYL
-#  endif
-#endif
-#if !defined(NV_INF) && defined(DBL_INFINITY)
-#  define NV_INF (NV)DBL_INFINITY
-#endif
-#if !defined(NV_INF) && defined(INFINITY)
-#  define NV_INF (NV)INFINITY
-#endif
-#if !defined(NV_INF) && defined(INF)
-#  define NV_INF (NV)INF
-#endif
-#if !defined(NV_INF)
-#  if INTSIZE == 4
-/* At this point we assume the IEEE 754 floating point (and of course,
- * we also assume a floating point format that can encode an infinity).
- * We will coerce an int32 (which will encode the infinity) into
- * a 32-bit float, which will then be cast into NV.
- *
- * Note that we intentionally use a float and 32-bit int, instead of
- * shifting a small integer into a full IV, and from that into a full
- * NV, because:
- *
- * (1) an IV might not be wide enough to cover all the bits of an NV.
- * (2) the exponent part (including the infinity and nan bits) of a NV
- *     might be wider than just 16 bits.
- *
- * Below the NV_NAN logic has similar __PL_nan_u fallback, the only
- * difference being the int32 constant being coerced. */
-#    define __PL_inf_float_int32 0x7F800000
-static const union { unsigned int __i; float __f; } __PL_inf_u =
-    { __PL_inf_float_int32 };
-#    define NV_INF ((NV)(__PL_inf_u.__f))
-#  endif
-#endif
-#if !defined(NV_INF)
-#  define NV_INF ((NV)1.0/0.0) /* Some compilers will warn. */
-#endif
-
-#if !defined(NV_NAN) && defined(USE_LONG_DOUBLE)
-#   if !defined(NV_NAN) && defined(LDBL_NAN)
-#       define NV_NAN LDBL_NAN
-#   endif
-#   if !defined(NV_NAN) && defined(NANL)
-#       define NV_NAN NANL
-#   endif
-#   if !defined(NV_NAN) && defined(LDBL_QNAN)
-#       define NV_NAN LDBL_QNAN
-#   endif
-#endif
-#if !defined(NV_NAN) && defined(DBL_NAN)
-#  define NV_NAN (NV)DBL_NAN
-#endif
-#if !defined(NV_NAN) && defined(DBL_QNAN)
-#  define NV_NAN (NV)DBL_QNAN
-#endif
-#if !defined(NV_NAN) && defined(NAN)
-#  define NV_NAN (NV)NAN
-#endif
-#if !defined(NV_NAN) && defined(QNAN)
-#  define NV_NAN (NV)QNAN
-#endif
-#if !defined(NV_NAN) && defined(USE_LONG_DOUBLE) && defined(I_SUNMATH)
-#  define NV_NAN (NV)quiet_nan()
-#endif
-#if !defined(NV_NAN)
-#  if INTSIZE == 4
-/* See the discussion near __PL_inf_u. */
-#    define __PL_nan_float_int32 0x7FC00000
-static const union { unsigned int __i; float __f; } __PL_nan_u =
-    { __PL_nan_float_int32 };
-#    define NV_NAN ((NV)(__PL_nan_u.__f))
-#  endif
-#endif
-#if !defined(NV_NAN)
-#  define NV_NAN ((NV)0.0/0.0) /* Some compilers will warn. */
-#endif
-/* Do NOT try doing NV_NAN based on NV_INF and trying (NV_INF-NV_INF).
- * Though IEEE-754-logically correct, some compilers (like Visual C 2003)
- * falsely misoptimize that to zero (x-x is zero, right?) */
-
 #ifndef __cplusplus
 #  if !defined(WIN32) && !defined(VMS)
 #ifndef crypt
@@ -5478,31 +5378,6 @@ struct tempsym; /* defined in pp_pack.c */
 #include "thread.h"
 #include "pp.h"
 
-#ifndef PERL_CALLCONV
-#  ifdef __cplusplus
-#    define PERL_CALLCONV extern "C"
-#  else
-#    define PERL_CALLCONV
-#  endif
-#endif
-#ifndef PERL_CALLCONV_NO_RET
-#    define PERL_CALLCONV_NO_RET PERL_CALLCONV
-#endif
-
-/* PERL_STATIC_NO_RET is supposed to be equivalent to STATIC on builds that
-   dont have a noreturn as a declaration specifier
-*/
-#ifndef PERL_STATIC_NO_RET
-#  define PERL_STATIC_NO_RET STATIC
-#endif
-/* PERL_STATIC_NO_RET is supposed to be equivalent to PERL_STATIC_INLINE on
-   builds that dont have a noreturn as a declaration specifier
-*/
-#ifndef PERL_STATIC_INLINE_NO_RET
-#  define PERL_STATIC_INLINE_NO_RET PERL_STATIC_INLINE
-#endif
-
-
 #undef PERL_CKDEF
 #undef PERL_PPDEF
 #define PERL_CKDEF(s)  PERL_CALLCONV OP *s (pTHX_ OP *o);
@@ -5512,6 +5387,14 @@ struct tempsym; /* defined in pp_pack.c */
 #  include "malloc_ctl.h"
 #endif
 
+/*
+ * This provides a layer of functions and macros to ensure extensions will
+ * get to use the same RTL functions as the core.
+ */
+#if defined(WIN32)
+#  include "win32iop.h"
+#endif
+
 #include "proto.h"
 
 /* this has structure inits, so it cannot be included before here */
@@ -5642,6 +5525,123 @@ EXTCONST bool PL_valid_types_NV_set[];
 
 #endif
 
+/* In C99 we could use designated (named field) union initializers.
+ * In C89 we need to initialize the member declared first.
+ *
+ * With the U8_NV version you will want to have inner braces,
+ * while with the NV_U8 use just the NV.*/
+#define INFNAN_U8_NV_DECL EXTCONST union { U8 u8[NVSIZE]; NV nv; }
+#define INFNAN_NV_U8_DECL EXTCONST union { NV nv; U8 u8[NVSIZE]; }
+
+#ifdef DOINIT
+
+/* PL_inf and PL_nan initialization.
+ *
+ * For inf and nan initialization the ultimate fallback is dividing
+ * one or zero by zero: however, some compilers will warn or even fail
+ * on divide-by-zero, but hopefully something earlier will work.
+ *
+ * If you are thinking of using HUGE_VAL for infinity, or using
+ * <math.h> functions to generate NV_INF (e.g. exp(1e9), log(-1.0)),
+ * stop.  Neither will work portably: HUGE_VAL can be just DBL_MAX,
+ * and the math functions might be just generating DBL_MAX, or even zero.
+ *
+ * Also, do NOT try doing NV_NAN based on NV_INF and trying (NV_INF-NV_INF).
+ * Though logically correct, some compilers (like Visual C 2003)
+ * falsely misoptimize that to zero (x-x is always zero, right?)
+ */
+
+/* The quadmath literals are anon structs which -Wc++-compat doesn't like. */
+GCC_DIAG_IGNORE(-Wc++-compat)
+
+#  ifdef USE_QUADMATH
+/* Cannot use HUGE_VALQ for PL_inf because not a compile-time
+ * constant. */
+INFNAN_NV_U8_DECL PL_inf = { 1.0Q/0.0Q };
+#  elif NVSIZE == LONG_DOUBLESIZE && defined(LONGDBLINFBYTES)
+INFNAN_U8_NV_DECL PL_inf = { { LONGDBLINFBYTES } };
+#  elif NVSIZE == DOUBLESIZE && defined(DOUBLEINFBYTES)
+INFNAN_U8_NV_DECL PL_inf = { { DOUBLEINFBYTES } };
+#  else
+#    if NVSIZE == LONG_DOUBLESIZE && defined(USE_LONG_DOUBLE)
+#      if defined(LDBL_INFINITY)
+INFNAN_NV_U8_DECL PL_inf = { LDBL_INFINITY };
+#      elif defined(LDBL_INF)
+INFNAN_NV_U8_DECL PL_inf = { LDBL_INF };
+#      elif defined(INFINITY)
+INFNAN_NV_U8_DECL PL_inf = { (NV)INFINITY };
+#      elif defined(INF)
+INFNAN_NV_U8_DECL PL_inf = { (NV)INF };
+#      else
+INFNAN_NV_U8_DECL PL_inf = { 1.0L/0.0L }; /* keep last */
+#      endif
+#    else
+#      if defined(DBL_INFINITY)
+INFNAN_NV_U8_DECL PL_inf = { DBL_INFINITY };
+#      elif defined(DBL_INF)
+INFNAN_NV_U8_DECL PL_inf = { DBL_INF };
+#      elif defined(INFINITY) /* C99 */
+INFNAN_NV_U8_DECL PL_inf = { (NV)INFINITY };
+#      elif defined(INF)
+INFNAN_NV_U8_DECL PL_inf = { (NV)INF };
+#      else
+INFNAN_NV_U8_DECL PL_inf = { 1.0/0.0 }; /* keep last */
+#      endif
+#    endif
+#  endif
+
+#  ifdef USE_QUADMATH
+/* Cannot use nanq("0") for PL_nan because not a compile-time
+ * constant. */
+INFNAN_NV_U8_DECL PL_nan = { 0.0Q/0.0Q };
+#  elif NVSIZE == LONG_DOUBLESIZE && defined(LONGDBLNANBYTES)
+INFNAN_U8_NV_DECL PL_nan = { { LONGDBLNANBYTES } };
+#  elif NVSIZE == DOUBLESIZE && defined(DOUBLENANBYTES)
+INFNAN_U8_NV_DECL PL_nan = { { DOUBLENANBYTES } };
+#  else
+#    if NVSIZE == LONG_DOUBLESIZE && defined(USE_LONG_DOUBLE)
+#      if defined(LDBL_NAN)
+INFNAN_NV_U8_DECL PL_nan = { LDBL_NAN };
+#      elif defined(LDBL_QNAN)
+INFNAN_NV_U8_DECL PL_nan = { LDBL_QNAN };
+#      elif defined(NAN)
+INFNAN_NV_U8_DECL PL_nan = { (NV)NAN };
+#      else
+INFNAN_NV_U8_DECL PL_nan = { 0.0L/0.0L }; /* keep last */
+#      endif
+#    else
+#      if defined(DBL_NAN)
+INFNAN_NV_U8_DECL PL_nan = { DBL_NAN };
+#      elif defined(DBL_QNAN)
+INFNAN_NV_U8_DECL PL_nan = { DBL_QNAN };
+#      elif defined(NAN) /* C99 */
+INFNAN_NV_U8_DECL PL_nan = { (NV)NAN };
+#      else
+INFNAN_NV_U8_DECL PL_nan = { 0.0/0.0 }; /* keep last */
+#      endif
+#    endif
+#  endif
+
+GCC_DIAG_RESTORE
+
+#else
+
+INFNAN_NV_U8_DECL PL_inf;
+INFNAN_NV_U8_DECL PL_nan;
+
+#endif
+
+/* 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
+ * might not be a compile-time constant, in which case it cannot be
+ * used to initialize PL_inf/PL_nan above. */
+#ifndef NV_INF
+#  define NV_INF PL_inf.nv
+#endif
+#ifndef NV_NAN
+#  define NV_NAN PL_nan.nv
+#endif
 
 /* if these never got defined, they need defaults */
 #ifndef PERL_SET_CONTEXT
@@ -6602,7 +6602,15 @@ extern void moncontrol(int);
 
 #endif /* LONG_DOUBLEKIND */
 
-#if NVSIZE == DOUBLESIZE
+#ifdef USE_QUADMATH /* assume quadmath endianness == native double endianness */
+#  if defined(DOUBLE_LITTLE_ENDIAN)
+#    define NV_LITTLE_ENDIAN
+#  elif defined(DOUBLE_BIG_ENDIAN)
+#    define NV_BIG_ENDIAN
+#  elif defined(DOUBLE_MIX_ENDIAN) /* stretch */
+#    define NV_MIX_ENDIAN
+#  endif
+#elif NVSIZE == DOUBLESIZE
 #  ifdef DOUBLE_LITTLE_ENDIAN
 #    define NV_LITTLE_ENDIAN
 #  endif
@@ -6621,6 +6629,333 @@ extern void moncontrol(int);
 #  endif
 #endif
 
+/* NaNs (not-a-numbers) can carry payload bits, in addition to
+ * "nan-ness".  Part of the payload is the quiet/signaling bit.
+ * To back up a bit (harhar):
+ *
+ * For IEEE 754 64-bit formats [1]:
+ *
+ * s 000 (mantissa all-zero)  zero
+ * s 000 (mantissa non-zero)  subnormals (denormals)
+ * s 001 ... 7fe              normals
+ * s 7ff q                    nan
+ *
+ * For IEEE 754 128-bit formats:
+ *
+ * s 0000 (mantissa all-zero)  zero
+ * s 0000 (mantissa non-zero)  subnormals (denormals)
+ * s 0001 ... 7ffe             normals
+ * s 7fff q                    nan
+ *
+ * [1] this looks like big-endian, but applies equally to little-endian.
+ *
+ * s = Sign bit.  Yes, zeros and nans can have negative sign,
+ *     the interpretation is application-specific.
+ *
+ * q = Quietness bit, the interpretation is platform-specific.
+ *     Most platforms have the most significant bit being one
+ *     meaning quiet, but some (older mips, hppa) have the msb
+ *     being one meaning signaling.  Note that the above means
+ *     that on most platforms there cannot be signaling nan with
+ *     zero payload because that is identical with infinity;
+ *     while conversely on older mips/hppa there cannot be a quiet nan
+ *     because that is identical with infinity.
+ *
+ *     Moreover, whether there is any behavioral difference
+ *     between quiet and signaling NaNs, depends on the platform.
+ *
+ * x86 80-bit extended precision is different, the mantissa bits:
+ *
+ * 63 62 61   30387+    pre-387    visual c
+ * --------   ----      --------   --------
+ *  0  0  0   invalid   infinity
+ *  0  0  1   invalid   snan
+ *  0  1  0   invalid   snan
+ *  0  1  1   invalid   snan
+ *  1  0  0   infinity  snan        1.#INF
+ *  1  0  1   snan                  1.#SNAN
+ *  1  1  0   qnan                 -1.#IND  (x86 chooses this to negative)
+ *  1  1  1   qnan                  1.#QNAN
+ *
+ * This means that in this format there are 61 bits available
+ * for the nan payload.
+ *
+ * In all platforms, the payload bytes (and bits, some of them are
+ * often in a partial byte) themselves can be either all zero (x86),
+ * all one (sparc or mips), or a mixture: in IEEE 754 128-bit double
+ * or in a double-double, the first half of the payload can follow the
+ * native double, while in the second half the payload can be all
+ * zeros.  (Therefore the mask for payload bits is not necessarily
+ * identical to bit complement of the NaN.)  Another way of putting
+ * this: the payload for the default NaN might not be zero.
+ *
+ * For the x86 80-bit long doubles, the trailing bytes (the 80 bits
+ * being 'packaged' in either 12 or 16 bytes) can be whatever random
+ * garbage.
+ *
+ * Furthermore, the semantics of the sign bit on NaNs are platform-specific.
+ * On normal floats, the sign bit being on means negative.  But this may,
+ * or may not, be reverted on NaNs: in other words, the default NaN might
+ * have the sign bit on, and therefore look like negative if you look
+ * at it at the bit level.
+ *
+ * NaN payloads are not propagated even on copies, or in arithmetics.
+ * They *might* be, according to some rules, on your particular
+ * cpu/os/compiler/libraries, but no guarantees.
+ *
+ * To summarize, on most platforms, and for 64-bit doubles
+ * (using big-endian ordering here):
+ *
+ * [7FF8000000000000..7FFFFFFFFFFFFFFF] quiet
+ * [FFF8000000000000..FFFFFFFFFFFFFFFF] quiet
+ * [7FF0000000000001..7FF7FFFFFFFFFFFF] signaling
+ * [FFF0000000000001..FFF7FFFFFFFFFFFF] signaling
+ *
+ * The C99 nan() is supposed to generate *quiet* NaNs.
+ *
+ * Note the asymmetry:
+ * The 7FF0000000000000 is positive infinity,
+ * the FFF0000000000000 is negative infinity.
+ */
+
+/* NVMANTBITS is the number of _real_ mantissa bits in an NV.
+ * For the standard IEEE 754 fp this number is usually one less that
+ * *DBL_MANT_DIG because of the implicit (aka hidden) bit, which isn't
+ * real.  For the 80-bit extended precision formats (x86*), the number
+ * of mantissa bits... depends. For normal floats, it's 64.  But for
+ * the inf/nan, it's different (zero for inf, 61 for nan).
+ * NVMANTBITS works for normal floats. */
+
+/* We do not want to include the quiet/signaling bit. */
+#define NV_NAN_BITS (NVMANTBITS - 1)
+
+#if defined(USE_LONG_DOUBLE) && NVSIZE > DOUBLESIZE
+#  if LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 13
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 2
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 7
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 2
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 13
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 1
+#  else
+#    error "Unexpected long double format"
+#  endif
+#else
+#  ifdef USE_QUADMATH
+#    ifdef NV_LITTLE_ENDIAN
+#      define NV_NAN_QS_BYTE_OFFSET 13
+#    elif defined(NV_BIG_ENDIAN)
+#      define NV_NAN_QS_BYTE_OFFSET 2
+#    else
+#      error "Unexpected quadmath format"
+#    endif
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 2
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 1
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 6
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 1
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 13
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+#    define NV_NAN_QS_BYTE_OFFSET 2
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
+#    define NV_NAN_QS_BYTE_OFFSET 2 /* bytes 4 5 6 7 0 1 2 3 (MSB 7) */
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
+#    define NV_NAN_QS_BYTE_OFFSET 5 /* bytes 3 2 1 0 7 6 5 4 (MSB 7) */
+#  else
+#    error "Unexpected double format"
+#  endif
+#endif
+/* NV_NAN_QS_BYTE is the byte to test for the quiet/signaling */
+#define NV_NAN_QS_BYTE(nvp) (((U8*)(nvp))[NV_NAN_QS_BYTE_OFFSET])
+/* NV_NAN_QS_BIT is the bit to test in the NV_NAN_QS_BYTE_OFFSET
+ * for the quiet/signaling */
+#if defined(USE_LONG_DOUBLE) && \
+  (LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN || \
+   LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN)
+#  define NV_NAN_QS_BIT_SHIFT 6 /* 0x40 */
+#elif defined(USE_LONG_DOUBLE) && \
+  (LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN || \
+   LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN)
+#  define NV_NAN_QS_BIT_SHIFT 3 /* 0x08, but not via NV_NAN_BITS */
+#else
+#  define NV_NAN_QS_BIT_SHIFT ((NV_NAN_BITS) % 8) /* usually 3, or 0x08 */
+#endif
+#define NV_NAN_QS_BIT (1 << (NV_NAN_QS_BIT_SHIFT))
+/* NV_NAN_QS_BIT_OFFSET is the bit offset from the beginning of a NV
+ * (bytes ordered big-endianly) for the quiet/signaling bit
+ * for the quiet/signaling */
+#define NV_NAN_QS_BIT_OFFSET \
+    (8 * (NV_NAN_QS_BYTE_OFFSET) + (NV_NAN_QS_BIT_SHIFT))
+/* NV_NAN_QS_QUIET (always defined) is one if the NV_NAN_QS_QS_BIT being
+ * on/one indicates quiet NaN. NV_NAN_QS_SIGNALING (also always defined)
+ * is on/one if the NV_NAN_QS_BIT being one indicates signaling NaN. */
+#define NV_NAN_QS_QUIET \
+    ((NV_NAN_QS_BYTE(PL_nan.u8) & NV_NAN_QS_BIT) == NV_NAN_QS_BIT)
+#define NV_NAN_QS_SIGNALING (!(NV_NAN_QS_QUIET))
+#define NV_NAN_QS_TEST(nvp) (NV_NAN_QS_BYTE(nvp) & NV_NAN_QS_BIT)
+/* NV_NAN_IS_QUIET() returns true if the NV behind nvp is a NaN,
+ * whether it is a quiet NaN, NV_NAN_IS_SIGNALING() if a signaling NaN.
+ * Note however that these do not check whether the nvp is a NaN. */
+#define NV_NAN_IS_QUIET(nvp) \
+    (NV_NAN_QS_TEST(nvp) == (NV_NAN_QS_QUIET ? NV_NAN_QS_BIT : 0))
+#define NV_NAN_IS_SIGNALING(nvp) \
+    (NV_NAN_QS_TEST(nvp) == (NV_NAN_QS_QUIET ? 0 : NV_NAN_QS_BIT))
+#define NV_NAN_SET_QUIET(nvp) \
+    (NV_NAN_QS_QUIET ? \
+     (NV_NAN_QS_BYTE(nvp) |= NV_NAN_QS_BIT) : \
+     (NV_NAN_QS_BYTE(nvp) &= ~NV_NAN_QS_BIT))
+#define NV_NAN_SET_SIGNALING(nvp) \
+    (NV_NAN_QS_QUIET ? \
+     (NV_NAN_QS_BYTE(nvp) &= ~NV_NAN_QS_BIT) : \
+     (NV_NAN_QS_BYTE(nvp) |= NV_NAN_QS_BIT))
+#define NV_NAN_QS_XOR(nvp) (NV_NAN_QS_BYTE(nvp) ^= NV_NAN_QS_BIT)
+
+/* NV_NAN_PAYLOAD_MASK: masking the nan payload bits.
+ *
+ * NV_NAN_PAYLOAD_PERM: permuting the nan payload bytes.
+ * 0xFF means "don't go here".*/
+
+/* Shorthands to avoid typoses. */
+#define NV_NAN_PAYLOAD_PERM_0_TO_7 \
+  0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7
+#define NV_NAN_PAYLOAD_PERM_7_TO_0 \
+  0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0
+#define NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE \
+  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
+  0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00
+#define NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE \
+  NV_NAN_PAYLOAD_PERM_0_TO_7, \
+  0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xFF, 0xFF
+#define NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE \
+  0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, \
+  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+#define NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE \
+  0xFF, 0xFF, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, \
+  NV_NAN_PAYLOAD_PERM_7_TO_0
+#define NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE \
+  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00
+#define NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE \
+  0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0xFF
+#define NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE \
+  0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+#define NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE \
+  0xFF, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0
+
+#if defined(USE_LONG_DOUBLE) && NVSIZE > DOUBLESIZE
+#  if LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+#    define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE
+#    define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+#    define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE
+#    define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN
+#    if LONG_DOUBLESIZE == 10
+#      define NV_NAN_PAYLOAD_MASK \
+         0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \
+         0x00, 0x00
+#      define NV_NAN_PAYLOAD_PERM \
+         NV_NAN_PAYLOAD_PERM_0_TO_7, 0xFF, 0xFF
+#    elif LONG_DOUBLESIZE == 12
+#      define NV_NAN_PAYLOAD_MASK \
+         0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \
+         0x00, 0x00, 0x00, 0x00
+#      define NV_NAN_PAYLOAD_PERM \
+         NV_NAN_PAYLOAD_PERM_0_TO_7, 0xFF, 0xFF, 0xFF, 0xFF
+#    elif LONG_DOUBLESIZE == 16
+#      define NV_NAN_PAYLOAD_MASK \
+         0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+#      define NV_NAN_PAYLOAD_PERM \
+         NV_NAN_PAYLOAD_PERM_0_TO_7, \
+         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+#    else
+#      error "Unexpected x86 80-bit little-endian long double format"
+#    endif
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN
+#    if LONG_DOUBLESIZE == 10
+#      define NV_NAN_PAYLOAD_MASK \
+         0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \
+         0xff, 0xff
+#      define NV_NAN_PAYLOAD_PERM \
+         NV_NAN_PAYLOAD_PERM_7_TO_0, 0xFF, 0xFF
+#    elif LONG_DOUBLESIZE == 12
+#      define NV_NAN_PAYLOAD_MASK \
+         0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \
+         0xff, 0xff, 0x00, 0x00
+#      define NV_NAN_PAYLOAD_PERM \
+         NV_NAN_PAYLOAD_PERM_7_TO_0, 0xFF, 0xFF, 0xFF, 0xFF
+#    elif LONG_DOUBLESIZE == 16
+#      define NV_NAN_PAYLOAD_MASK \
+         0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \
+         0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+#      define NV_NAN_PAYLOAD_PERM \
+         NV_NAN_PAYLOAD_PERM_7_TO_0, \
+         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+#    else
+#      error "Unexpected x86 80-bit big-endian long double format"
+#    endif
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN
+/* For double-double we assume only the first double is used for NaN. */
+#    define NV_NAN_PAYLOAD_MASK \
+       NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE
+#    define NV_NAN_PAYLOAD_PERM \
+       NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE
+#  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN
+#    define NV_NAN_PAYLOAD_MASK \
+       NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE
+#    define NV_NAN_PAYLOAD_PERM \
+       NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE
+#  else
+#    error "Unexpected long double format"
+#  endif
+#else
+#  ifdef USE_QUADMATH /* quadmath is not long double */
+#    ifdef NV_LITTLE_ENDIAN
+#      define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE
+#      define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE
+#    elif defined(NV_BIG_ENDIAN)
+#      define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE
+#      define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE
+#    else
+#      error "Unexpected quadmath format"
+#    endif
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
+#    define NV_NAN_PAYLOAD_MASK 0xff, 0xff, 0x07, 0x00
+#    define NV_NAN_PAYLOAD_PERM 0x0, 0x1, 0x2, 0xFF
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
+#    define NV_NAN_PAYLOAD_MASK 0x00, 0x07, 0xff, 0xff
+#    define NV_NAN_PAYLOAD_PERM 0xFF, 0x2, 0x1, 0x0
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
+#    define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE
+#    define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
+#    define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE
+#    define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+#    define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE
+#    define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+#    define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE
+#    define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
+#    define NV_NAN_PAYLOAD_MASK 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0xff, 0xff
+#    define NV_NAN_PAYLOAD_PERM 0x4, 0x5, 0x6, 0xFF, 0x0, 0x1, 0x2, 0x3
+#  elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
+#    define NV_NAN_PAYLOAD_MASK 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xff, 0xff
+#    define NV_NAN_PAYLOAD_PERM 0x3, 0x2, 0x1, 0x0, 0xFF, 0x6, 0x5, 0x4
+#  else
+#    error "Unexpected double format"
+#  endif
+#endif
 /*
 
    (KEEP THIS LAST IN perl.h!)
index b8ebc89..92fa2be 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -374,10 +374,6 @@ PerlIO_debug(const char *fmt, ...)
     va_list ap;
     dSYS;
     va_start(ap, fmt);
-
-    if (!DEBUG_i_TEST)
-        return;
-
     if (!PL_perlio_debug_fd) {
        if (!TAINTING_get &&
            PerlProc_getuid() == PerlProc_geteuid() &&
@@ -387,11 +383,11 @@ PerlIO_debug(const char *fmt, ...)
                PL_perlio_debug_fd
                    = PerlLIO_open3(s, O_WRONLY | O_CREAT | O_APPEND, 0666);
            else
-               PL_perlio_debug_fd = PerlLIO_dup(2); /* stderr */
+               PL_perlio_debug_fd = -1;
        } 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 */
+           /* tainting or set*id, so ignore the environment, and ensure we
+              skip these tests next time through.  */
+           PL_perlio_debug_fd = -1;
        }
     }
     if (PL_perlio_debug_fd > 0) {
@@ -504,7 +500,7 @@ PerlIO_fdupopen(pTHX_ PerlIO *f, CLONE_PARAMS *param, int flags)
 {
     if (PerlIOValid(f)) {
        const PerlIO_funcs * const tab = PerlIOBase(f)->tab;
-       DEBUG_i( PerlIO_debug("fdupopen f=%p param=%p\n",(void*)f,(void*)param) );
+       PerlIO_debug("fdupopen f=%p param=%p\n",(void*)f,(void*)param);
        if (tab && tab->Dup)
             return (*tab->Dup)(aTHX_ PerlIO_allocate(aTHX), f, param, flags);
        else {
@@ -613,7 +609,7 @@ PerlIO_clone(pTHX_ PerlInterpreter *proto, CLONE_PARAMS *param)
     PL_known_layers = PerlIO_clone_list(aTHX_ proto->Iknown_layers, param);
     PL_def_layerlist = PerlIO_clone_list(aTHX_ proto->Idef_layerlist, param);
     PerlIO_init_table(aTHX);
-    DEBUG_i( PerlIO_debug("Clone %p from %p\n",(void*)aTHX,(void*)proto) );
+    PerlIO_debug("Clone %p from %p\n",(void*)aTHX,(void*)proto);
     while ((f = *table)) {
            int i;
            table = (PerlIOl **) (f++);
@@ -637,7 +633,7 @@ PerlIO_destruct(pTHX)
     PerlIOl **table = &PL_perlio;
     PerlIOl *f;
 #ifdef USE_ITHREADS
-    DEBUG_i( PerlIO_debug("Destruct %p\n",(void*)aTHX) );
+    PerlIO_debug("Destruct %p\n",(void*)aTHX);
 #endif
     while ((f = *table)) {
        int i;
@@ -647,7 +643,7 @@ PerlIO_destruct(pTHX)
            const PerlIOl *l;
            while ((l = *x)) {
                if (l->tab && l->tab->kind & PERLIO_K_DESTRUCT) {
-                   DEBUG_i( PerlIO_debug("Destruct popping %s\n", l->tab->name) );
+                   PerlIO_debug("Destruct popping %s\n", l->tab->name);
                    PerlIO_flush(x);
                    PerlIO_pop(aTHX_ x);
                }
@@ -666,8 +662,8 @@ PerlIO_pop(pTHX_ PerlIO *f)
     const PerlIOl *l = *f;
     VERIFY_HEAD(f);
     if (l) {
-       DEBUG_i( PerlIO_debug("PerlIO_pop f=%p %s\n", (void*)f,
-                              l->tab ? l->tab->name : "(Null)") );
+       PerlIO_debug("PerlIO_pop f=%p %s\n", (void*)f,
+                           l->tab ? l->tab->name : "(Null)");
        if (l->tab && l->tab->Popped) {
            /*
             * If popped returns non-zero do not free its layer structure
@@ -740,7 +736,7 @@ PerlIO_find_layer(pTHX_ const char *name, STRLEN len, int load)
        PerlIO_funcs * const f = PL_known_layers->array[i].funcs;
         const STRLEN this_len = strlen(f->name);
         if (this_len == len && memEQ(f->name, name, len)) {
-           DEBUG_i( PerlIO_debug("%.*s => %p\n", (int) len, name, (void*)f) );
+           PerlIO_debug("%.*s => %p\n", (int) len, name, (void*)f);
            return f;
        }
     }
@@ -768,7 +764,7 @@ PerlIO_find_layer(pTHX_ const char *name, STRLEN len, int load)
            return PerlIO_find_layer(aTHX_ name, len, 0);
        }
     }
-    DEBUG_i( PerlIO_debug("Cannot find %.*s\n", (int) len, name) );
+    PerlIO_debug("Cannot find %.*s\n", (int) len, name);
     return NULL;
 }
 
@@ -871,9 +867,8 @@ XS(XS_PerlIO__Layer__NoWarnings)
      */
     dXSARGS;
     PERL_UNUSED_ARG(cv);
-    DEBUG_i(
-        if (items)
-            PerlIO_debug("warning:%s\n",SvPV_nolen_const(ST(0))) );
+    if (items)
+       PerlIO_debug("warning:%s\n",SvPV_nolen_const(ST(0)));
     XSRETURN(0);
 }
 
@@ -902,7 +897,7 @@ PerlIO_define_layer(pTHX_ PerlIO_funcs *tab)
     if (!PL_known_layers)
        PL_known_layers = PerlIO_list_alloc(aTHX);
     PerlIO_list_push(aTHX_ PL_known_layers, tab, NULL);
-    DEBUG_i( PerlIO_debug("define %s %p\n", tab->name, (void*)tab) );
+    PerlIO_debug("define %s %p\n", tab->name, (void*)tab);
 }
 
 int
@@ -1007,7 +1002,7 @@ PerlIO_default_buffer(pTHX_ PerlIO_list_t *av)
     if (PerlIO_stdio.Set_ptrcnt)
        tab = &PerlIO_stdio;
 #endif
-    DEBUG_i( PerlIO_debug("Pushing %s\n", tab->name) );
+    PerlIO_debug("Pushing %s\n", tab->name);
     PerlIO_list_push(aTHX_ av, (PerlIO_funcs *)tab, &PL_sv_undef);
 }
 
@@ -1021,8 +1016,8 @@ PerlIO_funcs *
 PerlIO_layer_fetch(pTHX_ PerlIO_list_t *av, IV n, PerlIO_funcs *def)
 {
     if (n >= 0 && n < av->cur) {
-       DEBUG_i( PerlIO_debug("Layer %" IVdf " is %s\n", n,
-                              av->array[n].funcs->name) );
+       PerlIO_debug("Layer %" IVdf " is %s\n", n,
+                    av->array[n].funcs->name);
        return av->array[n].funcs;
     }
     if (!def)
@@ -1173,9 +1168,9 @@ PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab), const char *mode, SV *arg)
                l->tab = (PerlIO_funcs*) tab;
                l->head = ((PerlIOl*)f)->head;
                *f = l;
-               DEBUG_i( PerlIO_debug("PerlIO_push f=%p %s %s %p\n",
-                                      (void*)f, tab->name,
-                                      (mode) ? mode : "(Null)", (void*)arg) );
+               PerlIO_debug("PerlIO_push f=%p %s %s %p\n",
+                            (void*)f, tab->name,
+                            (mode) ? mode : "(Null)", (void*)arg);
                if (*l->tab->Pushed &&
                    (*l->tab->Pushed)
                      (aTHX_ f, mode, arg, (PerlIO_funcs*) tab) != 0) {
@@ -1189,8 +1184,8 @@ PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab), const char *mode, SV *arg)
     }
     else if (f) {
        /* Pseudo-layer where push does its own stack adjust */
-       DEBUG_i( PerlIO_debug("PerlIO_push f=%p %s %s %p\n", (void*)f, tab->name,
-                              (mode) ? mode : "(Null)", (void*)arg) );
+       PerlIO_debug("PerlIO_push f=%p %s %s %p\n", (void*)f, tab->name,
+                    (mode) ? mode : "(Null)", (void*)arg);
        if (tab->Pushed &&
            (*tab->Pushed) (aTHX_ f, mode, arg, (PerlIO_funcs*) tab) != 0) {
             return NULL;
@@ -1269,8 +1264,8 @@ PerlIORaw_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab)
            }
        }
        if (PerlIOValid(f)) {
-           DEBUG_i( PerlIO_debug(":raw f=%p :%s\n", (void*)f,
-                         PerlIOBase(f)->tab ? PerlIOBase(f)->tab->name : "(Null)") );
+           PerlIO_debug(":raw f=%p :%s\n", (void*)f,
+               PerlIOBase(f)->tab ? PerlIOBase(f)->tab->name : "(Null)");
            return 0;
        }
     }
@@ -1322,11 +1317,10 @@ PerlIO_apply_layers(pTHX_ PerlIO *f, const char *mode, const char *names)
 int
 PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int mode, const char *names)
 {
-    DEBUG_i(
-        PerlIO_debug("PerlIO_binmode f=%p %s %c %x %s\n", (void*)f,
-                     (PerlIOBase(f) && PerlIOBase(f)->tab) ?
-                     PerlIOBase(f)->tab->name : "(Null)",
-                     iotype, mode, (names) ? names : "(Null)") );
+    PerlIO_debug("PerlIO_binmode f=%p %s %c %x %s\n", (void*)f,
+                 (PerlIOBase(f) && PerlIOBase(f)->tab) ?
+                       PerlIOBase(f)->tab->name : "(Null)",
+                 iotype, mode, (names) ? names : "(Null)");
 
     if (names) {
        /* Do not flush etc. if (e.g.) switching encodings.
@@ -1559,9 +1553,9 @@ PerlIO_openn(pTHX_ const char *layers, const char *mode, int fd,
            if (narg > 1 && !(tab->kind & PERLIO_K_MULTIARG)) {
                Perl_croak(aTHX_ "More than one argument to open(,':%s')",tab->name);
            }
-           DEBUG_i( PerlIO_debug("openn(%s,'%s','%s',%d,%x,%o,%p,%d,%p)\n",
-                                  tab->name, layers ? layers : "(Null)", mode, fd,
-                                  imode, perm, (void*)f, narg, (void*)args) );
+           PerlIO_debug("openn(%s,'%s','%s',%d,%x,%o,%p,%d,%p)\n",
+                        tab->name, layers ? layers : "(Null)", mode, fd,
+                        imode, perm, (void*)f, narg, (void*)args);
            if (tab->Open)
                 f = (*tab->Open) (aTHX_ tab, layera, n, mode, fd, imode, perm,
                                   f, narg, args);
@@ -1638,7 +1632,7 @@ Perl_PerlIO_flush(pTHX_ PerlIO *f)
                 return 0; /* If no Flush defined, silently succeed. */
        }
        else {
-           DEBUG_i( PerlIO_debug("Cannot flush f=%p\n", (void*)f) );
+           PerlIO_debug("Cannot flush f=%p\n", (void*)f);
            SETERRNO(EBADF, SS_IVCHAN);
            return -1;
        }
@@ -2030,11 +2024,9 @@ PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab)
        }
     }
 #if 0
-    DEBUG_i(
     PerlIO_debug("PerlIOBase_pushed f=%p %s %s fl=%08" UVxf " (%s)\n",
                 (void*)f, PerlIOBase(f)->tab->name, (omode) ? omode : "(Null)",
                 l->flags, PerlIO_modestr(f, temp));
-    );
 #endif
     return 0;
 }
@@ -2245,8 +2237,8 @@ S_more_refcounted_fds(pTHX_ const int new_fd) {
     PERL_UNUSED_CONTEXT;
 #endif
 
-    DEBUG_i( PerlIO_debug("More fds - old=%d, need %d, new=%d\n",
-                          old_max, new_fd, new_max) );
+    PerlIO_debug("More fds - old=%d, need %d, new=%d\n",
+                old_max, new_fd, new_max);
 
     if (new_fd < old_max) {
        return;
@@ -2268,9 +2260,9 @@ S_more_refcounted_fds(pTHX_ const int new_fd) {
     PL_perlio_fd_refcnt_size = new_max;
     PL_perlio_fd_refcnt = new_array;
 
-    DEBUG_i( PerlIO_debug("Zeroing %p, %d\n",
-                          (void*)(new_array + old_max),
-                          new_max - old_max) );
+    PerlIO_debug("Zeroing %p, %d\n",
+                (void*)(new_array + old_max),
+                new_max - old_max);
 
     Zero(new_array + old_max, new_max - old_max, int);
 }
@@ -2302,8 +2294,8 @@ PerlIOUnix_refcnt_inc(int fd)
            Perl_croak(aTHX_ "refcnt_inc: fd %d: %d <= 0\n",
                       fd, PL_perlio_fd_refcnt[fd]);
        }
-       DEBUG_i( PerlIO_debug("refcnt_inc: fd %d refcnt=%d\n",
-                              fd, PL_perlio_fd_refcnt[fd]) );
+       PerlIO_debug("refcnt_inc: fd %d refcnt=%d\n",
+                    fd, PL_perlio_fd_refcnt[fd]);
 
 #ifdef USE_ITHREADS
        MUTEX_UNLOCK(&PL_perlio_mutex);
@@ -2319,11 +2311,7 @@ PerlIOUnix_refcnt_dec(int fd)
 {
     int cnt = 0;
     if (fd >= 0) {
-#ifdef DEBUGGING
-        dTHX;
-#else
        dVAR;
-#endif
 #ifdef USE_ITHREADS
        MUTEX_LOCK(&PL_perlio_mutex);
 #endif
@@ -2338,7 +2326,7 @@ PerlIOUnix_refcnt_dec(int fd)
                       fd, PL_perlio_fd_refcnt[fd]);
        }
        cnt = --PL_perlio_fd_refcnt[fd];
-       DEBUG_i( PerlIO_debug("refcnt_dec: fd %d refcnt=%d\n", fd, cnt) );
+       PerlIO_debug("refcnt_dec: fd %d refcnt=%d\n", fd, cnt);
 #ifdef USE_ITHREADS
        MUTEX_UNLOCK(&PL_perlio_mutex);
 #endif
@@ -2385,9 +2373,9 @@ PerlIO_cleanup(pTHX)
 {
     int i;
 #ifdef USE_ITHREADS
-    DEBUG_i( PerlIO_debug("Cleanup layers for %p\n",(void*)aTHX) );
+    PerlIO_debug("Cleanup layers for %p\n",(void*)aTHX);
 #else
-    DEBUG_i( PerlIO_debug("Cleanup layers\n") );
+    PerlIO_debug("Cleanup layers\n");
 #endif
 
     /* Raise STDIN..STDERR refcount so we don't close them */
@@ -2590,11 +2578,11 @@ PerlIOUnix_setfd(pTHX_ PerlIO *f, int fd, int imode)
     Stat_t st;
     if (PerlLIO_fstat(fd, &st) == 0) {
        if (!S_ISREG(st.st_mode)) {
-           DEBUG_i( PerlIO_debug("%d is not regular file\n",fd) );
+           PerlIO_debug("%d is not regular file\n",fd);
            PerlIOBase(f)->flags |= PERLIO_F_NOTREG;
        }
        else {
-           DEBUG_i( PerlIO_debug("%d _is_ a regular file\n",fd) );
+           PerlIO_debug("%d _is_ a regular file\n",fd);
        }
     }
 #endif
@@ -3367,12 +3355,6 @@ PerlIOStdio_read(pTHX_ PerlIO *f, void *vbuf, Size_t count)
            return -1;
        SETERRNO(0,0);  /* just in case */
     }
-#ifdef __sgi
-    /* Under some circumstances IRIX stdio fgetc() and fread()
-     * set the errno to ENOENT, which makes no sense according
-     * to either IRIX or POSIX.  [rt.perl.org #123977] */
-    if (errno == ENOENT) SETERRNO(0,0);
-#endif
     return got;
 }
 
@@ -4523,11 +4505,9 @@ PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab)
     PerlIOBase(f)->flags |= PERLIO_F_CRLF;
     code = PerlIOBuf_pushed(aTHX_ f, mode, arg, tab);
 #if 0
-    DEBUG_i(
     PerlIO_debug("PerlIOCrlf_pushed f=%p %s %s fl=%08" UVxf "\n",
                 (void*)f, PerlIOBase(f)->tab->name, (mode) ? mode : "(Null)",
                 PerlIOBase(f)->flags);
-    );
 #endif
     {
       /* If the old top layer is a CRLF layer, reactivate it (if
@@ -5041,7 +5021,7 @@ PerlIO_tmpfile(void)
      char tempname[] = "/tmp/PerlIO_XXXXXX";
      const char * const tmpdir = TAINTING_get ? NULL : PerlEnv_getenv("TMPDIR");
      SV * sv = NULL;
-     int old_umask = umask(0177);
+     int old_umask = umask(0600);
      /*
       * I have no idea how portable mkstemp() is ... NI-S
       */
index 55e0ce3..8e700fe 100644 (file)
--- a/perlio.h
+++ b/perlio.h
@@ -96,15 +96,15 @@ typedef PerlIOl *PerlIO;
 #define PERLIO_FUNCS_CAST(funcs) (funcs)
 #endif
 
-PERL_EXPORT_C void PerlIO_define_layer(pTHX_ PerlIO_funcs *tab);
-PERL_EXPORT_C PerlIO_funcs *PerlIO_find_layer(pTHX_ const char *name,
+PERL_CALLCONV void PerlIO_define_layer(pTHX_ PerlIO_funcs *tab);
+PERL_CALLCONV PerlIO_funcs *PerlIO_find_layer(pTHX_ const char *name,
                                               STRLEN len,
                                              int load);
-PERL_EXPORT_C PerlIO *PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab),
+PERL_CALLCONV PerlIO *PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab),
                                  const char *mode, SV *arg);
-PERL_EXPORT_C void PerlIO_pop(pTHX_ PerlIO *f);
-PERL_EXPORT_C AV* PerlIO_get_layers(pTHX_ PerlIO *f);
-PERL_EXPORT_C void PerlIO_clone(pTHX_ PerlInterpreter *proto,
+PERL_CALLCONV void PerlIO_pop(pTHX_ PerlIO *f);
+PERL_CALLCONV AV* PerlIO_get_layers(pTHX_ PerlIO *f);
+PERL_CALLCONV void PerlIO_clone(pTHX_ PerlInterpreter *proto,
                                 CLONE_PARAMS *param);
 
 #endif                         /* PerlIO */
@@ -202,161 +202,161 @@ START_EXTERN_C
 #  endif
 #endif
 #ifndef PerlIO_init
-PERL_EXPORT_C void PerlIO_init(pTHX);
+PERL_CALLCONV void PerlIO_init(pTHX);
 #endif
 #ifndef PerlIO_stdoutf
-PERL_EXPORT_C int PerlIO_stdoutf(const char *, ...)
+PERL_CALLCONV int PerlIO_stdoutf(const char *, ...)
     __attribute__format__(__printf__, 1, 2);
 #endif
 #ifndef PerlIO_puts
-PERL_EXPORT_C int PerlIO_puts(PerlIO *, const char *);
+PERL_CALLCONV int PerlIO_puts(PerlIO *, const char *);
 #endif
 #ifndef PerlIO_open
-PERL_EXPORT_C PerlIO *PerlIO_open(const char *, const char *);
+PERL_CALLCONV PerlIO *PerlIO_open(const char *, const char *);
 #endif
 #ifndef PerlIO_openn
-PERL_EXPORT_C PerlIO *PerlIO_openn(pTHX_ const char *layers, const char *mode,
+PERL_CALLCONV PerlIO *PerlIO_openn(pTHX_ const char *layers, const char *mode,
                                   int fd, int imode, int perm, PerlIO *old,
                                   int narg, SV **arg);
 #endif
 #ifndef PerlIO_eof
-PERL_EXPORT_C int PerlIO_eof(PerlIO *);
+PERL_CALLCONV int PerlIO_eof(PerlIO *);
 #endif
 #ifndef PerlIO_error
-PERL_EXPORT_C int PerlIO_error(PerlIO *);
+PERL_CALLCONV int PerlIO_error(PerlIO *);
 #endif
 #ifndef PerlIO_clearerr
-PERL_EXPORT_C void PerlIO_clearerr(PerlIO *);
+PERL_CALLCONV void PerlIO_clearerr(PerlIO *);
 #endif
 #ifndef PerlIO_getc
-PERL_EXPORT_C int PerlIO_getc(PerlIO *);
+PERL_CALLCONV int PerlIO_getc(PerlIO *);
 #endif
 #ifndef PerlIO_putc
-PERL_EXPORT_C int PerlIO_putc(PerlIO *, int);
+PERL_CALLCONV int PerlIO_putc(PerlIO *, int);
 #endif
 #ifndef PerlIO_ungetc
-PERL_EXPORT_C int PerlIO_ungetc(PerlIO *, int);
+PERL_CALLCONV int PerlIO_ungetc(PerlIO *, int);
 #endif
 #ifndef PerlIO_fdopen
-PERL_EXPORT_C PerlIO *PerlIO_fdopen(int, const char *);
+PERL_CALLCONV PerlIO *PerlIO_fdopen(int, const char *);
 #endif
 #ifndef PerlIO_importFILE
-PERL_EXPORT_C PerlIO *PerlIO_importFILE(FILE *, const char *);
+PERL_CALLCONV PerlIO *PerlIO_importFILE(FILE *, const char *);
 #endif
 #ifndef PerlIO_exportFILE
-PERL_EXPORT_C FILE *PerlIO_exportFILE(PerlIO *, const char *);
+PERL_CALLCONV FILE *PerlIO_exportFILE(PerlIO *, const char *);
 #endif
 #ifndef PerlIO_findFILE
-PERL_EXPORT_C FILE *PerlIO_findFILE(PerlIO *);
+PERL_CALLCONV FILE *PerlIO_findFILE(PerlIO *);
 #endif
 #ifndef PerlIO_releaseFILE
-PERL_EXPORT_C void PerlIO_releaseFILE(PerlIO *, FILE *);
+PERL_CALLCONV void PerlIO_releaseFILE(PerlIO *, FILE *);
 #endif
 #ifndef PerlIO_read
-PERL_EXPORT_C SSize_t PerlIO_read(PerlIO *, void *, Size_t);
+PERL_CALLCONV SSize_t PerlIO_read(PerlIO *, void *, Size_t);
 #endif
 #ifndef PerlIO_unread
-PERL_EXPORT_C SSize_t PerlIO_unread(PerlIO *, const void *, Size_t);
+PERL_CALLCONV SSize_t PerlIO_unread(PerlIO *, const void *, Size_t);
 #endif
 #ifndef PerlIO_write
-PERL_EXPORT_C SSize_t PerlIO_write(PerlIO *, const void *, Size_t);
+PERL_CALLCONV SSize_t PerlIO_write(PerlIO *, const void *, Size_t);
 #endif
 #ifndef PerlIO_setlinebuf
-PERL_EXPORT_C void PerlIO_setlinebuf(PerlIO *);
+PERL_CALLCONV void PerlIO_setlinebuf(PerlIO *);
 #endif
 #ifndef PerlIO_printf
-PERL_EXPORT_C int PerlIO_printf(PerlIO *, const char *, ...)
+PERL_CALLCONV int PerlIO_printf(PerlIO *, const char *, ...)
     __attribute__format__(__printf__, 2, 3);
 #endif
 #ifndef PerlIO_vprintf
-PERL_EXPORT_C int PerlIO_vprintf(PerlIO *, const char *, va_list);
+PERL_CALLCONV int PerlIO_vprintf(PerlIO *, const char *, va_list);
 #endif
 #ifndef PerlIO_tell
-PERL_EXPORT_C Off_t PerlIO_tell(PerlIO *);
+PERL_CALLCONV Off_t PerlIO_tell(PerlIO *);
 #endif
 #ifndef PerlIO_seek
-PERL_EXPORT_C int PerlIO_seek(PerlIO *, Off_t, int);
+PERL_CALLCONV int PerlIO_seek(PerlIO *, Off_t, int);
 #endif
 #ifndef PerlIO_rewind
-PERL_EXPORT_C void PerlIO_rewind(PerlIO *);
+PERL_CALLCONV void PerlIO_rewind(PerlIO *);
 #endif
 #ifndef PerlIO_has_base
-PERL_EXPORT_C int PerlIO_has_base(PerlIO *);
+PERL_CALLCONV int PerlIO_has_base(PerlIO *);
 #endif
 #ifndef PerlIO_has_cntptr
-PERL_EXPORT_C int PerlIO_has_cntptr(PerlIO *);
+PERL_CALLCONV int PerlIO_has_cntptr(PerlIO *);
 #endif
 #ifndef PerlIO_fast_gets
-PERL_EXPORT_C int PerlIO_fast_gets(PerlIO *);
+PERL_CALLCONV int PerlIO_fast_gets(PerlIO *);
 #endif
 #ifndef PerlIO_canset_cnt
-PERL_EXPORT_C int PerlIO_canset_cnt(PerlIO *);
+PERL_CALLCONV int PerlIO_canset_cnt(PerlIO *);
 #endif
 #ifndef PerlIO_get_ptr
-PERL_EXPORT_C STDCHAR *PerlIO_get_ptr(PerlIO *);
+PERL_CALLCONV STDCHAR *PerlIO_get_ptr(PerlIO *);
 #endif
 #ifndef PerlIO_get_cnt
-PERL_EXPORT_C SSize_t PerlIO_get_cnt(PerlIO *);
+PERL_CALLCONV SSize_t PerlIO_get_cnt(PerlIO *);
 #endif
 #ifndef PerlIO_set_cnt
-PERL_EXPORT_C void PerlIO_set_cnt(PerlIO *, SSize_t);
+PERL_CALLCONV void PerlIO_set_cnt(PerlIO *, SSize_t);
 #endif
 #ifndef PerlIO_set_ptrcnt
-PERL_EXPORT_C void PerlIO_set_ptrcnt(PerlIO *, STDCHAR *, SSize_t);
+PERL_CALLCONV void PerlIO_set_ptrcnt(PerlIO *, STDCHAR *, SSize_t);
 #endif
 #ifndef PerlIO_get_base
-PERL_EXPORT_C STDCHAR *PerlIO_get_base(PerlIO *);
+PERL_CALLCONV STDCHAR *PerlIO_get_base(PerlIO *);
 #endif
 #ifndef PerlIO_get_bufsiz
-PERL_EXPORT_C SSize_t PerlIO_get_bufsiz(PerlIO *);
+PERL_CALLCONV SSize_t PerlIO_get_bufsiz(PerlIO *);
 #endif
 #ifndef PerlIO_tmpfile
-PERL_EXPORT_C PerlIO *PerlIO_tmpfile(void);
+PERL_CALLCONV PerlIO *PerlIO_tmpfile(void);
 #endif
 #ifndef PerlIO_stdin
-PERL_EXPORT_C PerlIO *PerlIO_stdin(void);
+PERL_CALLCONV PerlIO *PerlIO_stdin(void);
 #endif
 #ifndef PerlIO_stdout
-PERL_EXPORT_C PerlIO *PerlIO_stdout(void);
+PERL_CALLCONV PerlIO *PerlIO_stdout(void);
 #endif
 #ifndef PerlIO_stderr
-PERL_EXPORT_C PerlIO *PerlIO_stderr(void);
+PERL_CALLCONV PerlIO *PerlIO_stderr(void);
 #endif
 #ifndef PerlIO_getpos
-PERL_EXPORT_C int PerlIO_getpos(PerlIO *, SV *);
+PERL_CALLCONV int PerlIO_getpos(PerlIO *, SV *);
 #endif
 #ifndef PerlIO_setpos
-PERL_EXPORT_C int PerlIO_setpos(PerlIO *, SV *);
+PERL_CALLCONV int PerlIO_setpos(PerlIO *, SV *);
 #endif
 #ifndef PerlIO_fdupopen
-PERL_EXPORT_C PerlIO *PerlIO_fdupopen(pTHX_ PerlIO *, CLONE_PARAMS *, int);
+PERL_CALLCONV PerlIO *PerlIO_fdupopen(pTHX_ PerlIO *, CLONE_PARAMS *, int);
 #endif
 #if !defined(PerlIO_modestr) && !defined(PERLIO_IS_STDIO)
-PERL_EXPORT_C char *PerlIO_modestr(PerlIO *, char *buf);
+PERL_CALLCONV char *PerlIO_modestr(PerlIO *, char *buf);
 #endif
 #ifndef PerlIO_isutf8
-PERL_EXPORT_C int PerlIO_isutf8(PerlIO *);
+PERL_CALLCONV int PerlIO_isutf8(PerlIO *);
 #endif
 #ifndef PerlIO_apply_layers
-PERL_EXPORT_C int PerlIO_apply_layers(pTHX_ PerlIO *f, const char *mode,
+PERL_CALLCONV int PerlIO_apply_layers(pTHX_ PerlIO *f, const char *mode,
                                      const char *names);
 #endif
 #ifndef PerlIO_binmode
-PERL_EXPORT_C int PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int omode,
+PERL_CALLCONV int PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int omode,
                                 const char *names);
 #endif
 #ifndef PerlIO_getname
-PERL_EXPORT_C char *PerlIO_getname(PerlIO *, char *);
+PERL_CALLCONV char *PerlIO_getname(PerlIO *, char *);
 #endif
 
-PERL_EXPORT_C void PerlIO_destruct(pTHX);
+PERL_CALLCONV void PerlIO_destruct(pTHX);
 
-PERL_EXPORT_C int PerlIO_intmode2str(int rawmode, char *mode, int *writing);
+PERL_CALLCONV int PerlIO_intmode2str(int rawmode, char *mode, int *writing);
 
 #ifdef PERLIO_LAYERS
-PERL_EXPORT_C void PerlIO_cleanup(pTHX);
+PERL_CALLCONV void PerlIO_cleanup(pTHX);
 
-PERL_EXPORT_C void PerlIO_debug(const char *fmt, ...)
+PERL_CALLCONV void PerlIO_debug(const char *fmt, ...)
     __attribute__format__(__printf__, 1, 2);
 typedef struct PerlIO_list_s PerlIO_list_t;
 
index b8c0eae..d15c937 100644 (file)
--- a/perliol.h
+++ b/perliol.h
@@ -124,8 +124,8 @@ EXTPERLIO PerlIO_funcs PerlIO_pending;
 #ifdef WIN32
 EXTPERLIO PerlIO_funcs PerlIO_win32;
 #endif
-PERL_EXPORT_C PerlIO *PerlIO_allocate(pTHX);
-PERL_EXPORT_C SV *PerlIO_arg_fetch(PerlIO_list_t *av, IV n);
+PERL_CALLCONV PerlIO *PerlIO_allocate(pTHX);
+PERL_CALLCONV SV *PerlIO_arg_fetch(PerlIO_list_t *av, IV n);
 #define PerlIOArg PerlIO_arg_fetch(layers,n)
 
 #ifdef PERLIO_USING_CRLF
@@ -150,28 +150,28 @@ typedef struct {
     IV oneword;                        /* Emergency buffer */
 } PerlIOBuf;
 
-PERL_EXPORT_C int PerlIO_apply_layera(pTHX_ PerlIO *f, const char *mode,
+PERL_CALLCONV int PerlIO_apply_layera(pTHX_ PerlIO *f, const char *mode,
                    PerlIO_list_t *layers, IV n, IV max);
-PERL_EXPORT_C int PerlIO_parse_layers(pTHX_ PerlIO_list_t *av, const char *names);
-PERL_EXPORT_C PerlIO_funcs *PerlIO_layer_fetch(pTHX_ PerlIO_list_t *av, IV n, PerlIO_funcs *def);
+PERL_CALLCONV int PerlIO_parse_layers(pTHX_ PerlIO_list_t *av, const char *names);
+PERL_CALLCONV PerlIO_funcs *PerlIO_layer_fetch(pTHX_ PerlIO_list_t *av, IV n, PerlIO_funcs *def);
 
 
-PERL_EXPORT_C SV *PerlIO_sv_dup(pTHX_ SV *arg, CLONE_PARAMS *param);
-PERL_EXPORT_C void PerlIO_cleantable(pTHX_ PerlIOl **tablep);
-PERL_EXPORT_C SV * PerlIO_tab_sv(pTHX_ PerlIO_funcs *tab);
-PERL_EXPORT_C void PerlIO_default_buffer(pTHX_ PerlIO_list_t *av);
-PERL_EXPORT_C void PerlIO_stdstreams(pTHX);
-PERL_EXPORT_C int PerlIO__close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO_list_t * PerlIO_resolve_layers(pTHX_ const char *layers, const char *mode, int narg, SV **args);
-PERL_EXPORT_C PerlIO_funcs * PerlIO_default_layer(pTHX_ I32 n);
-PERL_EXPORT_C PerlIO_list_t * PerlIO_default_layers(pTHX);
-PERL_EXPORT_C PerlIO * PerlIO_reopen(const char *path, const char *mode, PerlIO *f);
+PERL_CALLCONV SV *PerlIO_sv_dup(pTHX_ SV *arg, CLONE_PARAMS *param);
+PERL_CALLCONV void PerlIO_cleantable(pTHX_ PerlIOl **tablep);
+PERL_CALLCONV SV * PerlIO_tab_sv(pTHX_ PerlIO_funcs *tab);
+PERL_CALLCONV void PerlIO_default_buffer(pTHX_ PerlIO_list_t *av);
+PERL_CALLCONV void PerlIO_stdstreams(pTHX);
+PERL_CALLCONV int PerlIO__close(pTHX_ PerlIO *f);
+PERL_CALLCONV PerlIO_list_t * PerlIO_resolve_layers(pTHX_ const char *layers, const char *mode, int narg, SV **args);
+PERL_CALLCONV PerlIO_funcs * PerlIO_default_layer(pTHX_ I32 n);
+PERL_CALLCONV PerlIO_list_t * PerlIO_default_layers(pTHX);
+PERL_CALLCONV PerlIO * PerlIO_reopen(const char *path, const char *mode, PerlIO *f);
 
-PERL_EXPORT_C PerlIO_list_t *PerlIO_list_alloc(pTHX);
-PERL_EXPORT_C PerlIO_list_t *PerlIO_clone_list(pTHX_ PerlIO_list_t *proto, CLONE_PARAMS *param);
-PERL_EXPORT_C void PerlIO_list_free(pTHX_ PerlIO_list_t *list);
-PERL_EXPORT_C void PerlIO_list_push(pTHX_ PerlIO_list_t *list, PerlIO_funcs *funcs, SV *arg);
-PERL_EXPORT_C void PerlIO_list_free(pTHX_ PerlIO_list_t *list);
+PERL_CALLCONV PerlIO_list_t *PerlIO_list_alloc(pTHX);
+PERL_CALLCONV PerlIO_list_t *PerlIO_clone_list(pTHX_ PerlIO_list_t *proto, CLONE_PARAMS *param);
+PERL_CALLCONV void PerlIO_list_free(pTHX_ PerlIO_list_t *list);
+PERL_CALLCONV void PerlIO_list_push(pTHX_ PerlIO_list_t *list, PerlIO_funcs *funcs, SV *arg);
+PERL_CALLCONV void PerlIO_list_free(pTHX_ PerlIO_list_t *list);
 
 /* PerlIO_teardown doesn't need exporting, but the EXTERN_C is needed
  * for compiling as C++.  Must also match with what perl.h says. */
@@ -180,111 +180,111 @@ EXTERN_C void PerlIO_teardown(void);
 /*--------------------------------------------------------------------------------------*/
 /* Generic, or stub layer functions */
 
-PERL_EXPORT_C IV        PerlIOBase_binmode(pTHX_ PerlIO *f);
-PERL_EXPORT_C void      PerlIOBase_clearerr(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOBase_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO *  PerlIOBase_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV        PerlIOBase_eof(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOBase_error(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOBase_fileno(pTHX_ PerlIO *f);
-PERL_EXPORT_C void      PerlIOBase_flush_linebuf(pTHX);
-PERL_EXPORT_C IV        PerlIOBase_noop_fail(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOBase_noop_ok(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOBase_popped(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C PerlIO *  PerlIOBase_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
-PERL_EXPORT_C SSize_t   PerlIOBase_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C void      PerlIOBase_setlinebuf(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t   PerlIOBase_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+PERL_CALLCONV IV        PerlIOBase_binmode(pTHX_ PerlIO *f);
+PERL_CALLCONV void      PerlIOBase_clearerr(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOBase_close(pTHX_ PerlIO *f);
+PERL_CALLCONV PerlIO *  PerlIOBase_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
+PERL_CALLCONV IV        PerlIOBase_eof(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOBase_error(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOBase_fileno(pTHX_ PerlIO *f);
+PERL_CALLCONV void      PerlIOBase_flush_linebuf(pTHX);
+PERL_CALLCONV IV        PerlIOBase_noop_fail(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOBase_noop_ok(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOBase_popped(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_CALLCONV PerlIO *  PerlIOBase_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
+PERL_CALLCONV SSize_t   PerlIOBase_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
+PERL_CALLCONV void      PerlIOBase_setlinebuf(pTHX_ PerlIO *f);
+PERL_CALLCONV SSize_t   PerlIOBase_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
 
 /* Buf */
-PERL_EXPORT_C Size_t    PerlIOBuf_bufsiz(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOBuf_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO *  PerlIOBuf_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV        PerlIOBuf_fill(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOBuf_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C STDCHAR * PerlIOBuf_get_base(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t   PerlIOBuf_get_cnt(pTHX_ PerlIO *f);
-PERL_EXPORT_C STDCHAR * PerlIOBuf_get_ptr(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO *  PerlIOBuf_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
-PERL_EXPORT_C IV        PerlIOBuf_popped(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOBuf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C SSize_t   PerlIOBuf_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C IV        PerlIOBuf_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-PERL_EXPORT_C void      PerlIOBuf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
-PERL_EXPORT_C Off_t     PerlIOBuf_tell(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t   PerlIOBuf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t   PerlIOBuf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+PERL_CALLCONV Size_t    PerlIOBuf_bufsiz(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOBuf_close(pTHX_ PerlIO *f);
+PERL_CALLCONV PerlIO *  PerlIOBuf_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
+PERL_CALLCONV IV        PerlIOBuf_fill(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOBuf_flush(pTHX_ PerlIO *f);
+PERL_CALLCONV STDCHAR * PerlIOBuf_get_base(pTHX_ PerlIO *f);
+PERL_CALLCONV SSize_t   PerlIOBuf_get_cnt(pTHX_ PerlIO *f);
+PERL_CALLCONV STDCHAR * PerlIOBuf_get_ptr(pTHX_ PerlIO *f);
+PERL_CALLCONV PerlIO *  PerlIOBuf_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
+PERL_CALLCONV IV        PerlIOBuf_popped(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOBuf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_CALLCONV SSize_t   PerlIOBuf_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
+PERL_CALLCONV IV        PerlIOBuf_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
+PERL_CALLCONV void      PerlIOBuf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
+PERL_CALLCONV Off_t     PerlIOBuf_tell(pTHX_ PerlIO *f);
+PERL_CALLCONV SSize_t   PerlIOBuf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+PERL_CALLCONV SSize_t   PerlIOBuf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
 
 /* Crlf */
-PERL_EXPORT_C IV        PerlIOCrlf_binmode(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOCrlf_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t   PerlIOCrlf_get_cnt(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C void      PerlIOCrlf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
-PERL_EXPORT_C SSize_t   PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t   PerlIOCrlf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+PERL_CALLCONV IV        PerlIOCrlf_binmode(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOCrlf_flush(pTHX_ PerlIO *f);
+PERL_CALLCONV SSize_t   PerlIOCrlf_get_cnt(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_CALLCONV void      PerlIOCrlf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
+PERL_CALLCONV SSize_t   PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+PERL_CALLCONV SSize_t   PerlIOCrlf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
 
 /* Pending */
-PERL_EXPORT_C IV        PerlIOPending_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOPending_fill(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOPending_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOPending_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C SSize_t   PerlIOPending_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C IV        PerlIOPending_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-PERL_EXPORT_C void      PerlIOPending_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
+PERL_CALLCONV IV        PerlIOPending_close(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOPending_fill(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOPending_flush(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOPending_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_CALLCONV SSize_t   PerlIOPending_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
+PERL_CALLCONV IV        PerlIOPending_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
+PERL_CALLCONV void      PerlIOPending_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
 
 /* Pop */
-PERL_EXPORT_C IV        PerlIOPop_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_CALLCONV IV        PerlIOPop_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
 
 /* Raw */
-PERL_EXPORT_C IV        PerlIORaw_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_CALLCONV IV        PerlIORaw_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
 
 /* Stdio */
-PERL_EXPORT_C void      PerlIOStdio_clearerr(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOStdio_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO *  PerlIOStdio_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV        PerlIOStdio_eof(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOStdio_error(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOStdio_fileno(pTHX_ PerlIO *f);
+PERL_CALLCONV void      PerlIOStdio_clearerr(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOStdio_close(pTHX_ PerlIO *f);
+PERL_CALLCONV PerlIO *  PerlIOStdio_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
+PERL_CALLCONV IV        PerlIOStdio_eof(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOStdio_error(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOStdio_fileno(pTHX_ PerlIO *f);
 #ifdef USE_STDIO_PTR
-PERL_EXPORT_C STDCHAR * PerlIOStdio_get_ptr(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t   PerlIOStdio_get_cnt(pTHX_ PerlIO *f);
-PERL_EXPORT_C void      PerlIOStdio_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
+PERL_CALLCONV STDCHAR * PerlIOStdio_get_ptr(pTHX_ PerlIO *f);
+PERL_CALLCONV SSize_t   PerlIOStdio_get_cnt(pTHX_ PerlIO *f);
+PERL_CALLCONV void      PerlIOStdio_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
 #endif
-PERL_EXPORT_C IV        PerlIOStdio_fill(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOStdio_flush(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOStdio_fill(pTHX_ PerlIO *f);
+PERL_CALLCONV IV        PerlIOStdio_flush(pTHX_ PerlIO *f);
 #ifdef FILE_base
-PERL_EXPORT_C STDCHAR * PerlIOStdio_get_base(pTHX_ PerlIO *f);
-PERL_EXPORT_C Size_t    PerlIOStdio_get_bufsiz(pTHX_ PerlIO *f);
+PERL_CALLCONV STDCHAR * PerlIOStdio_get_base(pTHX_ PerlIO *f);
+PERL_CALLCONV Size_t    PerlIOStdio_get_bufsiz(pTHX_ PerlIO *f);
 #endif
-PERL_EXPORT_C char *    PerlIOStdio_mode(const char *mode, char *tmode);
-PERL_EXPORT_C PerlIO *  PerlIOStdio_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *f, int narg, SV **args);
-PERL_EXPORT_C IV        PerlIOStdio_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C SSize_t   PerlIOStdio_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C IV        PerlIOStdio_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-PERL_EXPORT_C void      PerlIOStdio_setlinebuf(pTHX_ PerlIO *f);
-PERL_EXPORT_C Off_t     PerlIOStdio_tell(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t   PerlIOStdio_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t   PerlIOStdio_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+PERL_CALLCONV char *    PerlIOStdio_mode(const char *mode, char *tmode);
+PERL_CALLCONV PerlIO *  PerlIOStdio_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *f, int narg, SV **args);
+PERL_CALLCONV IV        PerlIOStdio_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_CALLCONV SSize_t   PerlIOStdio_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
+PERL_CALLCONV IV        PerlIOStdio_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
+PERL_CALLCONV void      PerlIOStdio_setlinebuf(pTHX_ PerlIO *f);
+PERL_CALLCONV Off_t     PerlIOStdio_tell(pTHX_ PerlIO *f);
+PERL_CALLCONV SSize_t   PerlIOStdio_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+PERL_CALLCONV SSize_t   PerlIOStdio_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
 
 /* Unix */
-PERL_EXPORT_C IV        PerlIOUnix_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO *  PerlIOUnix_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV        PerlIOUnix_fileno(pTHX_ PerlIO *f);
-PERL_EXPORT_C int       PerlIOUnix_oflags(const char *mode);
-PERL_EXPORT_C PerlIO *  PerlIOUnix_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *f, int narg, SV **args);
-PERL_EXPORT_C IV        PerlIOUnix_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C SSize_t   PerlIOUnix_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C int       PerlIOUnix_refcnt_dec(int fd);
-PERL_EXPORT_C void      PerlIOUnix_refcnt_inc(int fd);
-PERL_EXPORT_C int       PerlIOUnix_refcnt(int fd);
-PERL_EXPORT_C IV        PerlIOUnix_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-PERL_EXPORT_C Off_t     PerlIOUnix_tell(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t   PerlIOUnix_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+PERL_CALLCONV IV        PerlIOUnix_close(pTHX_ PerlIO *f);
+PERL_CALLCONV PerlIO *  PerlIOUnix_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
+PERL_CALLCONV IV        PerlIOUnix_fileno(pTHX_ PerlIO *f);
+PERL_CALLCONV int       PerlIOUnix_oflags(const char *mode);
+PERL_CALLCONV PerlIO *  PerlIOUnix_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *f, int narg, SV **args);
+PERL_CALLCONV IV        PerlIOUnix_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_CALLCONV SSize_t   PerlIOUnix_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
+PERL_CALLCONV int       PerlIOUnix_refcnt_dec(int fd);
+PERL_CALLCONV void      PerlIOUnix_refcnt_inc(int fd);
+PERL_CALLCONV int       PerlIOUnix_refcnt(int fd);
+PERL_CALLCONV IV        PerlIOUnix_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
+PERL_CALLCONV Off_t     PerlIOUnix_tell(pTHX_ PerlIO *f);
+PERL_CALLCONV SSize_t   PerlIOUnix_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
 
 /* Utf8 */
-PERL_EXPORT_C IV        PerlIOUtf8_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_CALLCONV IV        PerlIOUtf8_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
 
 #endif                         /* _PERLIOL_H */
 
diff --git a/perly.c b/perly.c
index 91b4c79..abb4d4e 100644 (file)
--- a/perly.c
+++ b/perly.c
@@ -213,7 +213,7 @@ S_clear_yystack(pTHX_  const yy_parser *parser)
        if (yy_type_tab[yystos[ps->state]] == toketype_opval
            && ps->val.opval)
        {
-           if (ps->compcv && (ps->compcv != PL_compcv)) {
+           if (ps->compcv != PL_compcv) {
                PL_compcv = ps->compcv;
                PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1);
                PL_comppad_name = PadlistNAMES(CvPADLIST(PL_compcv));
index 8404420..40d65a2 100644 (file)
  *     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.22.3"         /**/
-#define PRIVLIB_EXP "/sys/lib/perl/5.22.3"             /**/
+#define PRIVLIB "/sys/lib/perl/5.23.0"         /**/
+#define PRIVLIB_EXP "/sys/lib/perl/5.23.0"             /**/
 
 /* PTRSIZE:
  *     This symbol contains the size of a pointer, so that the C preprocessor
  *     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.22.3/site_perl"               /**/
-#define SITELIB_EXP "/sys/lib/perl/5.22.3/site_perl"           /**/
-#define SITELIB_STEM "/sys/lib/perl/5.22.3/site_perl"          /**/
+#define SITELIB "/sys/lib/perl/5.23.0/site_perl"               /**/
+#define SITELIB_EXP "/sys/lib/perl/5.23.0/site_perl"           /**/
+#define SITELIB_STEM "/sys/lib/perl/5.23.0/site_perl"          /**/
 
 /* Size_t_size:
  *     This symbol holds the size of a Size_t in bytes.
index 5c1fc87..7fd970d 100644 (file)
@@ -33,11 +33,11 @@ ansi2knr=''
 aphostname='/bin/uname -n'
 api_revision='5'
 api_subversion='0'
-api_version='22'
-api_versionstring='5.22.0'
+api_version='23'
+api_versionstring='5.23.0'
 ar='ar'
-archlib='/sys/lib/perl5/5.22.3/386'
-archlibexp='/sys/lib/perl5/5.22.3/386'
+archlib='/sys/lib/perl5/5.23.0/386'
+archlibexp='/sys/lib/perl5/5.23.0/386'
 archname64=''
 archname='386'
 archobjs=''
@@ -611,7 +611,10 @@ db_version_patch=''
 direntrytype='struct dirent'
 dlext='none'
 dlsrc='dl_none.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='(rand() / (double) ((unsigned long)1 << 15))'
 drand48_r_proto='0'
@@ -787,17 +790,17 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='/sys/lib/perl/5.22.3/386'
+installarchlib='/sys/lib/perl/5.23.0/386'
 installbin='/usr/bin'
 installman1dir='/sys/man/1pub'
 installman3dir='/sys/man/2pub'
 installprefix='/usr'
 installprefixexp='/usr'
-installprivlib='/sys/lib/perl/5.22.3'
+installprivlib='/sys/lib/perl/5.23.0'
 installscript='/usr/bin'
-installsitearch='/sys/lib/perl/5.22.3/site_perl/386'
+installsitearch='/sys/lib/perl/5.23.0/site_perl/386'
 installsitebin='/usr/bin'
-installsitelib='/sys/lib/perl/5.22.3/site_perl'
+installsitelib='/sys/lib/perl/5.23.0/site_perl'
 installstyle='lib/perl5'
 installusrbinperl='undef'
 installvendorarch=''
@@ -835,7 +838,10 @@ lns='/bin/ln -s'
 localtime_r_proto='0'
 locincpth=''
 loclibpth=''
+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'
@@ -888,6 +894,7 @@ nv_preserves_uv_bits='31'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
@@ -918,8 +925,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/sys/lib/perl/5.22.3'
-privlibexp='/sys/lib/perl/5.22.3'
+privlib='/sys/lib/perl/5.23.0'
+privlibexp='/sys/lib/perl/5.23.0'
 procselfexe=''
 prototype='define'
 ptrsize='4'
@@ -984,13 +991,13 @@ 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
 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.22.3/site_perl/386'
+sitearch='/sys/lib/perl/5.23.0/site_perl/386'
 sitearchexp='/sys/lib/perl/site_perl/386'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
-sitelib='/sys/lib/perl/5.22.3/site_perl'
-sitelib_stem='/sys/lib/perl/5.22.3/site_perl'
-sitelibexp='/sys/lib/perl/5.22.3/site_perl'
+sitelib='/sys/lib/perl/5.23.0/site_perl'
+sitelib_stem='/sys/lib/perl/5.23.0/site_perl'
+sitelibexp='/sys/lib/perl/5.23.0/site_perl'
 siteprefix='/usr'
 siteprefixexp='/usr'
 sizesize='4'
@@ -1023,7 +1030,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/sys/include/ape/string.h'
 submit=''
-subversion='3'
+subversion='0'
 sysman='/sys/man/1pub'
 tail=''
 tar=''
@@ -1105,8 +1112,8 @@ vendorlib_stem=''
 vendorlibexp=''
 vendorprefix=''
 vendorprefixexp=''
-version='5.22.3'
-version_patchlevel_string='version 22 subversion 3'
+version='5.23.0'
+version_patchlevel_string='version 23 subversion 0'
 versiononly='undef'
 vi=''
 xlibpth=''
@@ -1119,10 +1126,10 @@ config_arg0='./Configure'
 config_args=''
 config_argc=0
 PERL_REVISION=5
-PERL_VERSION=22
-PERL_SUBVERSION=3
+PERL_VERSION=23
+PERL_SUBVERSION=0
 PERL_API_REVISION=5
-PERL_API_VERSION=22
+PERL_API_VERSION=23
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
index 2ec5558..d5b4017 100644 (file)
@@ -53,7 +53,7 @@
 /roffitall
 
 # generated
-/perl5223delta.pod
+/perl5230delta.pod
 /perlapi.pod
 /perlintern.pod
 *.html
index f6b7d79..e90925a 100644 (file)
@@ -180,10 +180,7 @@ aux c2ph h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
 
     perlhist           Perl history records
     perldelta          Perl changes since previous version
-    perl5222delta      Perl changes in version 5.22.2
-    perl5221delta      Perl changes in version 5.22.1
     perl5220delta      Perl changes in version 5.22.0
-    perl5203delta      Perl changes in version 5.20.3
     perl5202delta      Perl changes in version 5.20.2
     perl5201delta      Perl changes in version 5.20.1
     perl5200delta      Perl changes in version 5.20.0
index 874d8d1..56b2be5 100644 (file)
@@ -740,8 +740,6 @@ L<encoding> has been upgraded from version 2.6_01 to 2.12.
 
 L<English> has been upgraded from version 1.06 to 1.09.
 
-C<$OLD_PERL_VERSION> was added as an alias of C<$]>.
-
 =item *
 
 L<Errno> has been upgraded from version 1.18 to 1.20_03.
@@ -1458,9 +1456,6 @@ Three L<English> variable names which have long been documented but do not
 actually exist have been removed from the documentation.  These were
 C<$OLD_PERL_VERSION>, C<$OFMT>, and C<$ARRAY_BASE>.
 
-(Actually, C<OLD_PERL_VERSION> I<does> exist, starting with this revision, but
-remained undocumented until perl 5.22.0.)
-
 =back
 
 =head3 L<perlxs>
diff --git a/pod/perl5203delta.pod b/pod/perl5203delta.pod
deleted file mode 100644 (file)
index 7c22b7b..0000000
+++ /dev/null
@@ -1,312 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5203delta - what is new for perl v5.20.3
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.20.2 release and the 5.20.3
-release.
-
-If you are upgrading from an earlier release such as 5.20.1, first read
-L<perl5202delta>, which describes differences between 5.20.1 and 5.20.2.
-
-=head1 Incompatible Changes
-
-There are no changes intentionally incompatible with 5.20.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<Errno> has been upgraded from version 1.20_05 to 1.20_06.
-
-Add B<-P> to the pre-processor command-line on GCC 5.  GCC added extra line
-directives, breaking parsing of error code definitions.
-L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784>
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 5.20150214 to 5.20150822.
-
-Updated to cover the latest releases of Perl.
-
-=item *
-
-L<perl5db.pl> has been upgraded from 1.44 to 1.44_01.
-
-The debugger would cause an assertion failure.
-L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127>
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlfunc>
-
-=over 4
-
-=item *
-
-Mention that L<C<study()>|perlfunc/study> is currently a no-op.
-
-=back
-
-=head3 L<perlguts>
-
-=over 4
-
-=item *
-
-The OOK example has been updated to account for COW changes and a change in the
-storage of the offset.
-
-=back
-
-=head3 L<perlhacktips>
-
-=over 4
-
-=item *
-
-Documentation has been added illustrating the perils of assuming the contents
-of static memory pointed to by the return values of Perl wrappers for C library
-functions doesn't change.
-
-=back
-
-=head3 L<perlpodspec>
-
-=over 4
-
-=item *
-
-The specification of the POD language is changing so that the default encoding
-of PODs that aren't in UTF-8 (unless otherwise indicated) is CP1252 instead of
-ISO-8859-1 (Latin1).
-
-=back
-
-=head1 Utility Changes
-
-=head2 L<h2ph>
-
-=over 4
-
-=item *
-
-B<h2ph> now handles hexadecimal constants in the compiler's predefined macro
-definitions, as visible in C<$Config{cppsymbols}>.
-L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784>
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-F<t/perf/taint.t> has been added to see if optimisations with taint issues are
-keeping things fast.
-
-=item *
-
-F<t/porting/re_context.t> has been added to test that L<utf8> and its
-dependencies only use the subset of the C<$1..$n> capture vars that
-Perl_save_re_context() is hard-coded to localize, because that function has no
-efficient way of determining at runtime what vars to localize.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Win32
-
-=over 4
-
-=item *
-
-Previously, when compiling with a 64-bit Visual C++, every Perl XS module
-(including CPAN ones) and Perl aware C file would unconditionally have around a
-dozen warnings from F<hv_func.h>.  These warnings have been silenced.  GCC (all
-bitness) and 32-bit Visual C++ were not affected.
-
-=item *
-
-B<miniperl.exe> is now built with B<-fno-strict-aliasing>, allowing 64-bit
-builds to complete with GCC 4.8.
-L<[perl #123976]|https://rt.perl.org/Ticket/Display.html?id=123976>
-
-=back
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Repeated global pattern matches in scalar context on large tainted strings were
-exponentially slow depending on the current match position in the string.
-L<[perl #123202]|https://rt.perl.org/Ticket/Display.html?id=123202>
-
-=item *
-
-The original visible value of L<C<$E<sol>>|perlvar/$E<sol>> is now preserved
-when it is set to an invalid value.  Previously if you set C<$/> to a reference
-to an array, for example, perl would produce a runtime error and not set PL_rs,
-but Perl code that checked C<$/> would see the array reference.
-L<[perl #123218]|https://rt.perl.org/Ticket/Display.html?id=123218>
-
-=item *
-
-Perl 5.14.0 introduced a bug whereby C<eval { LABEL: }> would crash.  This has
-been fixed.
-L<[perl #123652]|https://rt.perl.org/Ticket/Display.html?id=123652>
-
-=item *
-
-Extending an array cloned from a parent thread could result in "Modification of
-a read-only value attempted" errors when attempting to modify the new elements.
-L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127>
-
-=item *
-
-Several cases of data used to store environment variable contents in core C
-code being potentially overwritten before being used have been fixed.
-L<[perl #123748]|https://rt.perl.org/Ticket/Display.html?id=123748>
-
-=item *
-
-UTF-8 variable names used in array indexes, unquoted UTF-8 HERE-document
-terminators and UTF-8 function names all now work correctly.
-L<[perl #124113]|https://rt.perl.org/Ticket/Display.html?id=124113>
-
-=item *
-
-A subtle bug introduced in Perl 5.20.2 involving UTF-8 in regular expressions
-and sometimes causing a crash has been fixed.  A new test script has been added
-to test this fix; see under L</Testing>.
-L<[perl #124109]|https://rt.perl.org/Ticket/Display.html?id=124109>
-
-=item *
-
-Some patterns starting with C</.*..../> matched against long strings have been
-slow since Perl 5.8, and some of the form C</.*..../i> have been slow since
-Perl 5.18.  They are now all fast again.
-L<[perl #123743]|https://rt.perl.org/Ticket/Display.html?id=123743>
-
-=item *
-
-Warning fatality is now ignored when rewinding the stack.  This prevents
-infinite recursion when the now fatal error also causes rewinding of the stack.
-L<[perl #123398]|https://rt.perl.org/Ticket/Display.html?id=123398>
-
-=item *
-
-C<setpgrp($nonzero)> (with one argument) was accidentally changed in Perl 5.16
-to mean C<setpgrp(0)>.  This has been fixed.
-
-=item *
-
-A crash with C<< %::=(); J->${\"::"} >> has been fixed.
-L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541>
-
-=item *
-
-Regular expression possessive quantifier Perl 5.20 regression now fixed.
-C<qr/>I<PAT>C<{>I<min>,I<max>C<}+>C</> is supposed to behave identically to
-C<qr/(?E<gt>>I<PAT>C<{>I<min>,I<max>C<})/>.  Since Perl 5.20, this didn't work
-if I<min> and I<max> were equal.
-L<[perl #125825]|https://rt.perl.org/Ticket/Display.html?id=125825>
-
-=item *
-
-Code like C</$a[/> used to read the next line of input and treat it as though
-it came immediately after the opening bracket.  Some invalid code consequently
-would parse and run, but some code caused crashes, so this is now disallowed.
-L<[perl #123712]|https://rt.perl.org/Ticket/Display.html?id=123712>
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.20.3 represents approximately 7 months of development since Perl 5.20.2
-and contains approximately 3,200 lines of changes across 99 files from 26
-authors.
-
-Excluding auto-generated files, documentation and release tools, there were
-approximately 1,500 lines of changes to 43 .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.20.3:
-
-Alex Vandiver, Andy Dougherty, Aristotle Pagaltzis, Chris 'BinGOs' Williams,
-Craig A. Berry, Dagfinn Ilmari Mannsåker, Daniel Dragan, David Mitchell,
-Father Chrysostomos, H.Merijn Brand, James E Keenan, James McCoy, Jarkko
-Hietaniemi, Karen Etheridge, Karl Williamson, kmx, Lajos Veres, Lukas Mai,
-Matthew Horsfall, Petr Písař, Randy Stauner, Ricardo Signes, Sawyer X, 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
-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@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@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
index 52df04b..1ac00f3 100644 (file)
@@ -1614,8 +1614,7 @@ interpreted as Unicode has been updated.
 
 C<$]> is no longer listed as being deprecated.  Instead, discussion has
 been added on the advantages and disadvantages of using it versus
-C<$^V>.  C<$OLD_PERL_VERSION> was re-added to the documentation as the long
-form of C<$]>.
+C<$^V>.
 
 =item *
 
diff --git a/pod/perl5221delta.pod b/pod/perl5221delta.pod
deleted file mode 100644 (file)
index 5d01a4b..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5221delta - what is new for perl v5.22.1
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.22.0 release and the 5.22.1
-release.
-
-If you are upgrading from an earlier release such as 5.20.0, first read
-L<perl5220delta>, which describes differences between 5.20.0 and 5.22.0.
-
-=head1 Incompatible Changes
-
-There are no changes intentionally incompatible with 5.20.0 other than the
-following single exception, which we deemed to be a sensible change to make in
-order to get the new C<\b{wb}> and (in particular) C<\b{sb}> features sane
-before people decided they're worthless because of bugs in their Perl 5.22.0
-implementation and avoided them in the future.
-If any others exist, they are bugs, and we request that you submit a report.
-See L</Reporting Bugs> below.
-
-=head2 Bounds Checking Constructs
-
-Several bugs, including a segmentation fault, have been fixed with the bounds
-checking constructs (introduced in Perl 5.22) C<\b{gcb}>, C<\b{sb}>, C<\b{wb}>,
-C<\B{gcb}>, C<\B{sb}>, and C<\B{wb}>.  All the C<\B{}> ones now match an empty
-string; none of the C<\b{}> ones do.
-L<[perl #126319]|https://rt.perl.org/Ticket/Display.html?id=126319>
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 5.20150520 to 5.20151213.
-
-=item *
-
-L<PerlIO::scalar> has been upgraded from version 0.22 to 0.23.
-
-=item *
-
-L<POSIX> has been upgraded from version 1.53 to 1.53_01.
-
-If C<POSIX::strerror> was passed C<$!> as its argument then it accidentally
-cleared C<$!>.  This has been fixed.
-L<[perl #126229]|https://rt.perl.org/Ticket/Display.html?id=126229>
-
-=item *
-
-L<Storable> has been upgraded from version 2.53 to 2.53_01.
-
-=item *
-
-L<warnings> has been upgraded from version 1.32 to 1.34.
-
-The C<warnings::enabled> example now actually uses C<warnings::enabled>.
-L<[perl #126051]|https://rt.perl.org/Ticket/Display.html?id=126051>
-
-=item *
-
-L<Win32> has been upgraded from version 0.51 to 0.52.
-
-This has been updated for Windows 8.1, 10 and 2012 R2 Server.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perltie>
-
-=over 4
-
-=item *
-
-The usage of C<FIRSTKEY> and C<NEXTKEY> has been clarified.
-
-=back
-
-=head3 L<perlvar>
-
-=over 4
-
-=item *
-
-The specific true value of C<$!{E...}> is now documented, noting that it is
-subject to change and not guaranteed.
-
-=back
-
-=head1 Diagnostics
-
-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>.
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-The C<printf> and C<sprintf> builtins are now more careful about the warnings
-they emit: argument reordering now disables the "redundant argument" warning in
-all cases.
-L<[perl #125469]|https://rt.perl.org/Ticket/Display.html?id=125469>
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-Using the C<NO_HASH_SEED> define in combination with the default hash algorithm
-C<PERL_HASH_FUNC_ONE_AT_A_TIME_HARD> resulted in a fatal error while compiling
-the interpreter, since Perl 5.17.10.  This has been fixed.
-
-=item *
-
-Configuring with ccflags containing quotes (e.g.
-C<< -Accflags='-DAPPLLIB_EXP=\"/usr/libperl\"' >>) was broken in Perl 5.22.0
-but has now been fixed again.
-L<[perl #125314]|https://rt.perl.org/Ticket/Display.html?id=125314>
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item IRIX
-
-=over
-
-=item *
-
-Under some circumstances IRIX stdio fgetc() and fread() set the errno to
-C<ENOENT>, which made no sense according to either IRIX or POSIX docs.  Errno
-is now cleared in such cases.
-L<[perl #123977]|https://rt.perl.org/Ticket/Display.html?id=123977>
-
-=item *
-
-Problems when multiplying long doubles by infinity have been fixed.
-L<[perl #126396]|https://rt.perl.org/Ticket/Display.html?id=126396>
-
-=item *
-
-All tests pass now on IRIX with the default build configuration.
-
-=back
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-C<qr/(?[ () ])/> no longer segfaults, giving a syntax error message instead.
-L<[perl #125805]|https://rt.perl.org/Ticket/Display.html?id=125805>
-
-=item *
-
-Regular expression possessive quantifier Perl 5.20 regression now fixed.
-C<qr/>I<PAT>C<{>I<min>,I<max>C<}+>C</> is supposed to behave identically to
-C<qr/(?E<gt>>I<PAT>C<{>I<min>,I<max>C<})/>.  Since Perl 5.20, this didn't work
-if I<min> and I<max> were equal.
-L<[perl #125825]|https://rt.perl.org/Ticket/Display.html?id=125825>
-
-=item *
-
-Certain syntax errors in
-L<perlrecharclass/Extended Bracketed Character Classes> caused panics instead
-of the proper error message.  This has now been fixed.
-L<[perl #126481]|https://rt.perl.org/Ticket/Display.html?id=126481>
-
-=item *
-
-C<< BEGIN <> >> no longer segfaults and properly produces an error message.
-L<[perl #125341]|https://rt.perl.org/Ticket/Display.html?id=125341>
-
-=item *
-
-A regression from Perl 5.20 has been fixed, in which some syntax errors in
-L<C<(?[...])>|perlrecharclass/Extended Bracketed Character Classes> constructs
-within regular expression patterns could cause a segfault instead of a proper
-error message.
-L<[perl #126180]|https://rt.perl.org/Ticket/Display.html?id=126180>
-
-=item *
-
-Another problem with
-L<C<(?[...])>|perlrecharclass/Extended Bracketed Character Classes>
-constructs has been fixed wherein things like C<\c]> could cause panics.
-L<[perl #126181]|https://rt.perl.org/Ticket/Display.html?id=126181>
-
-=item *
-
-In Perl 5.22.0, the logic changed when parsing a numeric parameter to the -C
-option, such that the successfully parsed number was not saved as the option
-value if it parsed to the end of the argument.
-L<[perl #125381]|https://rt.perl.org/Ticket/Display.html?id=125381>
-
-=item *
-
-Warning fatality is now ignored when rewinding the stack.  This prevents
-infinite recursion when the now fatal error also causes rewinding of the stack.
-L<[perl #123398]|https://rt.perl.org/Ticket/Display.html?id=123398>
-
-=item *
-
-A crash with C<< %::=(); J->${\"::"} >> has been fixed.
-L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541>
-
-=item *
-
-Nested quantifiers such as C</.{1}??/> should cause perl to throw a fatal
-error, but were being silently accepted since Perl 5.20.0.  This has been
-fixed.
-L<[perl #126253]|https://rt.perl.org/Ticket/Display.html?id=126253>
-
-=item *
-
-Regular expression sequences such as C</(?i/> (and similarly with other
-recognized flags or combination of flags) should cause perl to throw a fatal
-error, but were being silently accepted since Perl 5.18.0.  This has been
-fixed.
-L<[perl #126178]|https://rt.perl.org/Ticket/Display.html?id=126178>
-
-=item *
-
-A bug in hexadecimal floating point literal support meant that high-order bits
-could be lost in cases where mantissa overflow was caused by too many trailing
-zeros in the fractional part.  This has been fixed.
-L<[perl #126582]|https://rt.perl.org/Ticket/Display.html?id=126582>
-
-=item *
-
-Another hexadecimal floating point bug, causing low-order bits to be lost in
-cases where the last hexadecimal digit of the mantissa has bits straddling the
-limit of the number of bits allowed for the mantissa, has also been fixed.
-L<[perl #126586]|https://rt.perl.org/Ticket/Display.html?id=126586>
-
-=item *
-
-Further hexadecimal floating point bugs have been fixed: In some circumstances,
-the C<%a> format specifier could variously lose the sign of the negative zero,
-fail to display zeros after the radix point with the requested precision, or
-even lose the radix point after the leftmost hexadecimal digit completely.
-
-=item *
-
-A crash caused by incomplete expressions within C<< /(?[ ])/ >> (e.g.
-C<< /(?[[0]+()+])/ >>) has been fixed.
-L<[perl #126615]|https://rt.perl.org/Ticket/Display.html?id=126615>
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.22.1 represents approximately 6 months of development since Perl 5.22.0
-and contains approximately 19,000 lines of changes across 130 files from 27
-authors.
-
-Excluding auto-generated files, documentation and release tools, there were
-approximately 1,700 lines of changes to 44 .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.1:
-
-Aaron Crane, Abigail, Andy Broad, Aristotle Pagaltzis, Chase Whitener, Chris
-'BinGOs' Williams, Craig A. Berry, Daniel Dragan, David Mitchell, Father
-Chrysostomos, Herbert Breunung, Hugo van der Sanden, James E Keenan, Jan
-Dubois, Jarkko Hietaniemi, Karen Etheridge, Karl Williamson, Lukas Mai, Matthew
-Horsfall, Peter Martini, Rafael Garcia-Suarez, Ricardo Signes, Shlomi Fish,
-Sisyphus, Steve Hay, Tony Cook, Victor Adam.
-
-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@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@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
diff --git a/pod/perl5222delta.pod b/pod/perl5222delta.pod
deleted file mode 100644 (file)
index 034d5bc..0000000
+++ /dev/null
@@ -1,386 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5222delta - what is new for perl v5.22.2
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.22.1 release and the 5.22.2
-release.
-
-If you are upgrading from an earlier release such as 5.22.0, first read
-L<perl5221delta>, which describes differences between 5.22.0 and 5.22.1.
-
-=head1 Security
-
-=head2 Fix out of boundary access in Win32 path handling
-
-This is CVE-2015-8608.  For more information see
-L<[perl #126755]|https://rt.perl.org/Ticket/Display.html?id=126755>.
-
-=head2 Fix loss of taint in C<canonpath()>
-
-This is CVE-2015-8607.  For more information see
-L<[perl #126862]|https://rt.perl.org/Ticket/Display.html?id=126862>.
-
-=head2 Set proper umask before calling C<mkstemp(3)>
-
-In 5.22.0 perl started setting umask to C<0600> before calling C<mkstemp(3)>
-and restoring it afterwards.  This wrongfully tells C<open(2)> to strip the
-owner read and write bits from the given mode before applying it, rather than
-the intended negation of leaving only those bits in place.
-
-Systems that use mode C<0666> in C<mkstemp(3)> (like old versions of glibc)
-create a file with permissions C<0066>, leaving world read and write permissions
-regardless of current umask.
-
-This has been fixed by using umask C<0177> instead.
-
-L<[perl #127322]|https://rt.perl.org/Ticket/Display.html?id=127322>
-
-=head2 Avoid accessing uninitialized memory in Win32 C<crypt()>
-
-Validation that will detect both a short salt and invalid characters in the
-salt has been added.
-
-L<[perl #126922]|https://rt.perl.org/Ticket/Display.html?id=126922>
-
-=head2 Remove duplicate environment variables from C<environ>
-
-Previously, if an environment variable appeared more than once in C<environ[]>,
-L<C<%ENV>|perlvar/%ENV> would contain the last entry for that name, while a
-typical C<getenv()> would return the first entry.  We now make sure C<%ENV>
-contains the same as what C<getenv()> returns.
-
-Secondly, we now remove duplicates from C<environ[]>, so if a setting with that
-name is set in C<%ENV> we won't pass an unsafe value to a child process.
-
-This is CVE-2016-2381.
-
-=head1 Incompatible Changes
-
-There are no changes intentionally incompatible with Perl 5.22.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<File::Spec> has been upgraded from version 3.56 to 3.56_01.
-
-C<canonpath()> now preserves taint.  See L</"Fix loss of taint in
-C<canonpath()>">.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 5.20151213 to 5.20160429.
-
-The version number of L<Digest::SHA> listed for Perl 5.18.4 was wrong and has
-been corrected.  Likewise for the version number of L<Config> in 5.18.3 and
-5.18.4.
-L<[perl #127624]|https://rt.perl.org/Ticket/Display.html?id=127624>
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perldiag>
-
-=over 4
-
-=item *
-
-The explanation of the warning "unable to close filehandle %s properly: %s"
-which can occur when doing an implicit close of a filehandle has been expanded
-and improved.
-
-=back
-
-=head3 L<perlfunc>
-
-=over 4
-
-=item *
-
-The documentation of L<C<hex()>|perlfunc/hex> has been revised to clarify valid
-inputs.
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-Dtrace builds now build successfully on systems with a newer dtrace that
-require an input object file that uses the probes in the F<.d> file.
-
-Previously the probe would fail and cause a build failure.
-
-L<[perl #122287]|https://rt.perl.org/Ticket/Display.html?id=122287>
-
-=item *
-
-F<Configure> no longer probes for F<libnm> by default.  Originally this was the
-"New Math" library, but the name has been re-used by the GNOME NetworkManager.
-
-L<[perl #127131]|https://rt.perl.org/Ticket/Display.html?id=127131>
-
-=item *
-
-F<Configure> now knows about gcc 5.
-
-=item *
-
-Compiling perl with B<-DPERL_MEM_LOG> now works again.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Darwin
-
-Compiling perl with B<-Dusecbacktrace> on Darwin now works again.
-
-L<[perl #127764]|https://rt.perl.org/Ticket/Display.html?id=127764>
-
-=item OS X/Darwin
-
-Builds with both B<-DDEBUGGING> and threading enabled would fail with a "panic:
-free from wrong pool" error when built or tested from Terminal on OS X.  This
-was caused by perl's internal management of the environment conflicting with an
-atfork handler using the libc C<setenv()> function to update the environment.
-
-Perl now uses C<setenv()>/C<unsetenv()> to update the environment on OS X.
-
-L<[perl #126240]|https://rt.perl.org/Ticket/Display.html?id=126240>
-
-=item ppc64el
-
-The floating point format of ppc64el (Debian naming for little-endian PowerPC)
-is now detected correctly.
-
-=item Tru64
-
-A test failure in F<t/porting/extrefs.t> has been fixed.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-An unwarranted assertion in C<Perl_newATTRSUB_x()> has been removed.  If a stub
-subroutine definition with a prototype has been seen, then any subsequent stub
-(or definition) of the same subroutine with an attribute was causing an
-assertion failure because of a null pointer.
-
-L<[perl #126845]|https://rt.perl.org/Ticket/Display.html?id=126845>
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Calls to the placeholder C<&PL_sv_yes> used internally when an C<import()> or
-C<unimport()> method isn't found now correctly handle scalar context.
-L<[perl #126042]|https://rt.perl.org/Ticket/Display.html?id=126042>
-
-=item *
-
-The L<C<pipe()>|perlfunc/pipe> operator would assert for C<DEBUGGING> builds
-instead of producing the correct error message.  The condition asserted on is
-detected and reported on correctly without the assertions, so the assertions
-were removed.
-L<[perl #126480]|https://rt.perl.org/Ticket/Display.html?id=126480>
-
-=item *
-
-In some cases, failing to parse a here-doc would attempt to use freed memory.
-This was caused by a pointer not being restored correctly.
-L<[perl #126443]|https://rt.perl.org/Ticket/Display.html?id=126443>
-
-=item *
-
-Perl now reports more context when it sees an array where it expects to see an
-operator, and avoids an assertion failure.
-L<[perl #123737]|https://rt.perl.org/Ticket/Display.html?id=123737>
-
-=item *
-
-If a here-doc was found while parsing another operator, the parser had already
-read end of file, and the here-doc was not terminated, perl could produce an
-assertion or a segmentation fault.  This now reliably complains about the
-unterminated here-doc.
-L<[perl #125540]|https://rt.perl.org/Ticket/Display.html?id=125540>
-
-=item *
-
-Parsing beyond the end of the buffer when processing a C<#line> directive with
-no filename is now avoided.
-L<[perl #127334]|https://rt.perl.org/Ticket/Display.html?id=127334>
-
-=item *
-
-Perl 5.22.0 added support for the C99 hexadecimal floating point notation, but
-sometimes misparsed hex floats.  This has been fixed.
-L<[perl #127183]|https://rt.perl.org/Ticket/Display.html?id=127183>
-
-=item *
-
-Certain regex patterns involving a complemented posix class in an inverted
-bracketed character class, and matching something else optionally would
-improperly fail to match.  An example of one that could fail is
-C<qr/_?[^\Wbar]\x{100}/>.  This has been fixed.
-L<[perl #127537]|https://rt.perl.org/Ticket/Display.html?id=127537>
-
-=item *
-
-Fixed an issue with L<C<pack()>|perlfunc/pack> where C<< pack "H" >> (and
-C<< pack "h" >>) could read past the source when given a non-utf8 source and a
-utf8 target.
-L<[perl #126325]|https://rt.perl.org/Ticket/Display.html?id=126325>
-
-=item *
-
-Fixed some cases where perl would abort due to a segmentation fault, or a
-C-level assert.
-L<[perl #126193]|https://rt.perl.org/Ticket/Display.html?id=126193>
-L<[perl #126257]|https://rt.perl.org/Ticket/Display.html?id=126257>
-L<[perl #126258]|https://rt.perl.org/Ticket/Display.html?id=126258>
-L<[perl #126405]|https://rt.perl.org/Ticket/Display.html?id=126405>
-L<[perl #126602]|https://rt.perl.org/Ticket/Display.html?id=126602>
-L<[perl #127773]|https://rt.perl.org/Ticket/Display.html?id=127773>
-L<[perl #127786]|https://rt.perl.org/Ticket/Display.html?id=127786>
-
-=item *
-
-A memory leak when setting C<$ENV{foo}> on Darwin has been fixed.
-L<[perl #126240]|https://rt.perl.org/Ticket/Display.html?id=126240>
-
-=item *
-
-Perl now correctly raises an error when trying to compile patterns with
-unterminated character classes while there are trailing backslashes.
-L<[perl #126141]|https://rt.perl.org/Ticket/Display.html?id=126141>
-
-=item *
-
-C<NOTHING> regops and C<EXACTFU_SS> regops in C<make_trie()> are now handled
-properly.
-L<[perl #126206]|https://rt.perl.org/Ticket/Display.html?id=126206>
-
-=item *
-
-Perl now only tests C<semctl()> if we have everything needed to use it.  In
-FreeBSD the C<semctl()> entry point may exist, but it can be disabled by
-policy.
-L<[perl #127533]|https://rt.perl.org/Ticket/Display.html?id=127533>
-
-=item *
-
-A regression that allowed undeclared barewords as hash keys to work despite
-strictures has been fixed.
-L<[perl #126981]|https://rt.perl.org/Ticket/Display.html?id=126981>
-
-=item *
-
-As an optimization (introduced in Perl 5.20.0), L<C<uc()>|perlfunc/uc>,
-L<C<lc()>|perlfunc/lc>, L<C<ucfirst()>|perlfunc/ucfirst> and
-L<C<lcfirst()>|perlfunc/lcfirst> sometimes modify their argument in-place
-rather than returning a modified copy.  The criteria for this optimization has
-been made stricter to avoid these functions accidentally modifying in-place
-when they should not, which has been happening in some cases, e.g. in
-L<List::Util>.
-
-=item *
-
-Excessive memory usage in the compilation of some regular expressions involving
-non-ASCII characters has been reduced.  A more complete fix is forthcoming in
-Perl 5.24.0.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.22.2 represents approximately 5 months of development since Perl 5.22.1
-and contains approximately 3,000 lines of changes across 110 files from 24
-authors.
-
-Excluding auto-generated files, documentation and release tools, there were
-approximately 1,500 lines of changes to 52 .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.2:
-
-Aaron Crane, Abigail, Andreas König, Aristotle Pagaltzis, Chris 'BinGOs'
-Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, David Golden, David
-Mitchell, H.Merijn Brand, James E Keenan, Jarkko Hietaniemi, Karen Etheridge,
-Karl Williamson, Matthew Horsfall, Niko Tyni, Ricardo Signes, Sawyer X, Stevan
-Little, Steve Hay, Todd Rinaldo, Tony Cook, Vladimir Timofeev, 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
-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@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@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
index dcb4d55..a7f3cc8 100644 (file)
@@ -496,25 +496,23 @@ debugging.  No return value. Its main use is inside PerlIO where using
 real printf, warn() etc. would recursively call PerlIO and be a
 problem.
 
-PerlIO_debug writes to the file named by $ENV{'PERLIO_DEBUG'} or defaults
-to stderr if the environment variable is not defined. Typical
+PerlIO_debug writes to the file named by $ENV{'PERLIO_DEBUG'} typical
 use might be
 
   Bourne shells (sh, ksh, bash, zsh, ash, ...):
-   PERLIO_DEBUG=/tmp/perliodebug.log ./perl -Di somescript some args
+   PERLIO_DEBUG=/dev/tty ./perl somescript some args
 
   Csh/Tcsh:
-   setenv PERLIO_DEBUG /tmp/perliodebug.log
-   ./perl -Di somescript some args
+   setenv PERLIO_DEBUG /dev/tty
+   ./perl somescript some args
 
   If you have the "env" utility:
-   env PERLIO_DEBUG=/tmp/perliodebug.log ./perl -Di somescript args
+   env PERLIO_DEBUG=/dev/tty ./perl somescript some args
 
   Win32:
-   set PERLIO_DEBUG=perliodebug.log
-   perl -Di somescript some args
+   set PERLIO_DEBUG=CON
+   perl somescript some args
 
-On a Perl built without C<-DDEBUGGING>, or when the C<-Di> command-line switch
-is not specified, or under taint, PerlIO_debug() is a no-op.
+If $ENV{'PERLIO_DEBUG'} is not set PerlIO_debug() is a no-op.
 
 =back
index 4b86740..2acb0e2 100644 (file)
@@ -61,23 +61,15 @@ websites, so only a few of the community's largest are mentioned here.
 
 =item L<http://perl.com/>
 
-Originally run by O'Reilly Media (the publisher of L<the Camel Book|perlbook>,
-this site provides quality articles mostly about technical details of Perl.
+Run by O'Reilly Media (the publisher of L<the Camel Book|perlbook>, among other
+Perl-related literature), perl.com provides current Perl news, articles, and
+resources for Perl developers as well as a directory of other useful websites.
 
 =item L<http://blogs.perl.org/>
 
 Many members of the community have a Perl-related blog on this site. If
 you'd like to join them, you can sign up for free.
 
-=item L<http://perlsphere.net/>
-
-Perlsphere is one of several aggregators of Perl-related blog feeds.
-
-=item L<http://perlweekly.com/>
-
-Perl Weekly is a weekly mailing list that keeps you up to date on conferences,
-releases and notable blog posts.
-
 =item L<http://use.perl.org/>
 
 use Perl; used to provide a slashdot-style news/blog website covering all
@@ -103,11 +95,6 @@ Stack Overflow is a free question-and-answer site for programmers. It's not
 focussed solely on Perl, but it does have an active group of users who do
 their best to help people with their Perl programming questions.
 
-=item L<http://prepan.org/>
-
-PrePAN is used as a place to discuss modules that you're considering uploading
-to the CPAN.  You can get feedback on their design before you upload.
-
 =back
 
 =head2 User Groups
index b695598..3af3f0b 100644 (file)
@@ -195,8 +195,8 @@ C<$0>, C<$1>, or C<$10000>.
 
 =item *
 
-A sigil, followed by a caret and any one of the characters
-C<[][A-Z^_?\]>, like C<$^V> or C<$^]>, or a sigil followed by a literal non-space,
+A sigil, followed by either a caret and a single POSIX uppercase letter,
+like C<$^V> or C<$^W>, or a sigil followed by a literal non-space,
 non-C<NUL> control character matching the C<\p{POSIX_Cntrl}> property.
 Due to a historical oddity, if not running under C<use utf8>, the 128
 characters in the C<[0x80-0xff]> range are considered to be controls,
@@ -212,10 +212,9 @@ SOFT HYPHEN (C<SHY>)) generate a deprecated warning.
 
 =item *
 
-Similar to the above, a sigil, followed by bareword text in braces,
-where the first character is either a caret followed by any one of
-the characters C<[][A-Z^_?\]>, like C<${^GLOBAL_PHASE}>, or a non-C<NUL>,
-non-space literal
+Similar to the above, a sigil, followed by bareword text in brackets,
+where the first character is either a caret followed by an uppercase
+letter, like C<${^GLOBAL_PHASE}> or a non-C<NUL>, non-space literal
 control like C<${\7LOBAL_PHASE}>.  Like the above, when not under
 C<"use utf8">, the characters in C<[0x80-0xFF]> are considered controls, but as
 of v5.22, the use of any that are non-graphical are deprecated, and as
index 2b5561d..064af64 100644 (file)
@@ -592,7 +592,6 @@ will be lost.
  # [Special] alternatives:
  REG_ANY         no         Match any one character (except newline).
  SANY            no         Match any one character.
- CANY            no         Match any one byte.
  ANYOF           sv 1       Match character in (or not in) this class,
                             single char match only
  ANYOFL          sv 1       Like ANYOF, but /l is in effect
index 6923777..58ece4a 100644 (file)
 
 =head1 NAME
 
-perldelta - what is new for perl v5.22.3
+perldelta - what is new for perl v5.23.0
 
 =head1 DESCRIPTION
 
-This document describes differences between the 5.22.2 release and the 5.22.3
+This document describes differences between the 5.22.0 release and the 5.23.0
 release.
 
-If you are upgrading from an earlier release such as 5.22.1, first read
-L<perl5222delta>, which describes differences between 5.22.1 and 5.22.2.
+=head1 Core Enhancements
 
-=head1 Security
+=head2 Unicode 8.0 is now supported
 
-=head2 B<-Di> switch is now required for PerlIO debugging output
+For details on what is in this release, see
+L<http://www.unicode.org/versions/Unicode8.0.0/>.
 
-Previously PerlIO debugging output would be sent to the file specified by the
-C<PERLIO_DEBUG> environment variable if perl wasn't running setuid and the
-B<-T> or B<-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 B<-T> switch had been supplied.
-
-Perl now requires the B<-Di> switch to 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 B<-T> switch was supplied C<PERLIO_DEBUG> is
-ignored and the debugging output is sent to C<stderr> as for any other B<-D>
-switch.
-
-=head2 Core modules and tools no longer search F<"."> for optional modules
-
-The tools and many modules supplied in core no longer search the default
-current directory entry in L<C<@INC>|perlvar/@INC> for optional modules.  For
-example, L<Storable> will remove the final F<"."> from C<@INC> before trying to
-load L<Log::Agent>.
-
-This prevents an attacker injecting an optional module into a process run by
-another user where the current directory is writable by the attacker, e.g. the
-F</tmp> directory.
-
-In most cases this removal should not cause problems, but difficulties were
-encountered with L<base>, which treats every module name supplied as optional.
-These difficulties have not yet been resolved, so for this release there are no
-changes to L<base>.  We hope to have a fix for L<base> in Perl 5.22.4.
+=head1 Incompatible Changes
 
-To protect your own code from this attack, either remove the default F<".">
-entry from C<@INC> at the start of your script, so:
+=head2 The C</\C/> character class has been removed.
 
-  #!/usr/bin/perl
-  use strict;
-  ...
+This regular expression character class was deprecated in v5.20.0 and has
+produced a deprecation warning since v5.22.0. It is now a compile-time
+error. If you need to examine the individual bytes that make up a
+UTF8-encoded character, then use C<utf8::encode()> on the string (or a
+copy) first.
 
-becomes:
+=head2 C<chdir('')> no longer chdirs home
 
-  #!/usr/bin/perl
-  BEGIN { pop @INC if $INC[-1] eq '.' }
-  use strict;
-  ...
+Using C<chdir('')> or C<chdir(undef)> to chdir home has been deprecated since
+perl v5.8, and will now fail.  Use C<chdir()> instead.
 
-or for modules, remove F<"."> from a localized C<@INC>, so:
+=head1 Modules and Pragmata
 
-  my $can_foo = eval { require Foo; }
+=head2 Updated Modules and Pragmata
 
-becomes:
+=over 4
 
-  my $can_foo = eval {
-      local @INC = @INC;
-      pop @INC if $INC[-1] eq '.';
-      require Foo;
-  };
+=item *
 
-=head1 Incompatible Changes
+The libnet distribution has been upgraded from version 3.05 to 3.06.
 
-Other than the security changes above there are no changes intentionally
-incompatible with Perl 5.22.2.  If any exist, they are bugs, and we request
-that you submit a report.  See L</Reporting Bugs> below.
+=item *
 
-=head1 Modules and Pragmata
+The Scalar-List-Utils distribution has been upgraded from version 1.41 to 1.42.
 
-=head2 Updated Modules and Pragmata
+=item *
 
-=over 4
+L<autodie> has been upgraded from version 2.26 to 2.27.
 
 =item *
 
-L<Archive::Tar> has been upgraded from version 2.04 to 2.04_01.
+L<CPAN::Meta> has been upgraded from version 2.150001 to 2.150005.
 
 =item *
 
-L<bignum> has been upgraded from version 0.39 to 0.39_01.
+L<CPAN::Meta::Requirements> has been upgraded from version 2.132 to 2.133.
 
 =item *
 
-L<CPAN> has been upgraded from version 2.11 to 2.11_01.
+L<CPAN::Meta::YAML> has been upgraded from version 0.012 to 0.016.
 
 =item *
 
-L<Digest> has been upgraded from version 1.17 to 1.17_01.
+L<Encode> has been upgraded from version 2.72 to 2.73.
 
 =item *
 
-L<Digest::SHA> has been upgraded from version 5.95 to 5.95_01.
+L<encoding> has been upgraded from version 2.14 to 2.15.
 
 =item *
 
-L<Encode> has been upgraded from version 2.72 to 2.72_01.
+L<ExtUtils::CBuilder> has been upgraded from version 0.280221 to 0.280223.
 
 =item *
 
-L<ExtUtils::Command> has been upgraded from version 1.20 to 1.20_01.
+L<feature> has been upgraded from version 1.40 to 1.41.
 
 =item *
 
-L<ExtUtils::MakeMaker> has been upgraded from version 7.04_01 to 7.04_02.
+L<Getopt::Long> has been upgraded from version 2.45 to 2.46.
 
 =item *
 
-L<File::Fetch> has been upgraded from version 0.48 to 0.48_01.
+L<HTTP::Tiny> has been upgraded from version 0.054 to 0.056.
 
 =item *
 
-L<File::Spec> has been upgraded from version 3.56_01 to 3.56_02.
+L<List::Util> has been upgraded from version 1.41 to 1.42_01.
 
 =item *
 
-L<HTTP::Tiny> has been upgraded from version 0.054 to 0.054_01.
+L<Locale::Codes> has been upgraded from version 3.34 to 3.35.
 
 =item *
 
-L<IO> has been upgraded from version 1.35 to 1.35_01.
+L<Math::BigInt> has been upgraded from version 1.9997 to 1.999701.
 
-=item *
+Correct the behaviour of bdiv() and bmod() in list context. [perl #124300]
 
-The IO-Compress modules have been upgraded from version 2.068 to 2.068_001.
+Correct C<< Math::BigInt->new() >> for non-integer input.  [perl #124325]
 
-=item *
+Speed up Math::BigFloat -> blog(). [perl #124382]
 
-L<IPC::Cmd> has been upgraded from version 0.92 to 0.92_01.
+Fix bug in Math::BigFloat's bceil() and bint() methods. [perl #124412]
 
 =item *
 
-L<JSON::PP> has been upgraded from version 2.27300 to 2.27300_01.
+L<Math::BigRat> has been upgraded from version 0.2608 to 0.260801.
+
+Correct the behaviour of bdiv() and bmod() in list context. [perl #124303]
 
 =item *
 
-L<Locale::Maketext> has been upgraded from version 1.26 to 1.26_01.
+L<Module::CoreList> has been upgraded from version 5.20150520 to 5.20150620.
 
 =item *
 
-L<Locale::Maketext::Simple> has been upgraded from version 0.21 to 0.21_01.
+L<Module::Metadata> has been upgraded from version 1.000026 to 1.000027.
 
 =item *
 
-L<Memoize> has been upgraded from version 1.03 to 1.03_01.
+L<parent> has been upgraded from version 0.232 to 0.234.
 
 =item *
 
-L<Module::CoreList> has been upgraded from version 5.20160429 to 5.20170114_22.
+L<Parse::CPAN::Meta> has been upgraded from version 1.4414 to 1.4417.
 
 =item *
 
-L<Net::Ping> has been upgraded from version 2.43 to 2.43_01.
+L<perl5db.pl> has been upgraded from version 1.49 to 1.49_01.
+
+User actions are no longer evaluated after the script under the
+debugger finishes.  [perl #71678]
 
 =item *
 
-L<Parse::CPAN::Meta> has been upgraded from version 1.4414 to 1.4414_001.
+L<Pod::Simple> has been upgraded from version 3.29 to 3.30.
 
 =item *
 
-L<Pod::Html> has been upgraded from version 1.22 to 1.2201.
+L<Pod::Usage> has been upgraded from version 1.64 to 1.67.
 
 =item *
 
-L<Pod::Perldoc> has been upgraded from version 3.25 to 3.25_01.
+L<POSIX> has been upgraded from version 1.53 to 1.54.
+
+The NaN payload API has been implemented (getpayload, setpayload,
+setpayloadsig, issignaling).
 
 =item *
 
-L<Storable> has been upgraded from version 2.53_01 to 2.53_02.
+L<Scalar::Util> has been upgraded from version 1.41 to 1.42_01.
 
 =item *
 
-L<Sys::Syslog> has been upgraded from version 0.33 to 0.33_01.
+L<Socket> has been upgraded from version 2.018 to 2.019.
 
 =item *
 
-L<Test> has been upgraded from version 1.26 to 1.26_01.
+L<threads> has been upgraded from version 2.01 to 2.02.
 
 =item *
 
-L<Test::Harness> has been upgraded from version 3.35 to 3.35_01.
+L<Time::Piece> has been upgraded from version 1.29 to 1.30.
 
 =item *
 
-L<XSLoader> has been upgraded from version 0.20 to 0.20_01, fixing a security
-hole in which binary files could be loaded from a path outside of C<@INC>.
-L<[perl #128528]|https://rt.perl.org/Public/Bug/Display.html?id=128528>
+L<UNIVERSAL> has been upgraded from version 1.12 to 1.13.
 
-=back
+Don't import from L<UNIVERSAL> in its documentation, it no longer
+exports anything.  [perl #125410]
 
-=head1 Documentation
+=back
 
-=head2 Changes to Existing Documentation
+=head1 Platform Support
 
-=head3 L<perlapio>
+=head2 Platform-Specific Notes
 
 =over 4
 
-=item *
+=item Win32
 
-The documentation of C<PERLIO_DEBUG> has been updated.
+=over
 
-=back
+=item *
 
-=head3 L<perlrun>
+Visual C++ 2013 builds will now execute on XP and higher. Previously they would
+only execute on Vista and higher.
 
-=over 4
+=item *
+
+You can now build perl with GNU Make and GCC.  [perl #123440]
 
 =item *
 
-The new B<-Di> switch has been documented, and the documentation of
-C<PERLIO_DEBUG> has been updated.
+C<truncate($filename, $size)> now works for files over 4GB in size.
+[perl #125347]
 
 =back
 
-=head1 Testing
+=back
+
+=head1 Selected Bug Fixes
 
 =over 4
 
 =item *
 
-A new test script, F<t/run/switchDx.t>, has been added to test that the new
-B<-Di> switch is working correctly.
+Duplicating a closed file handle for write no longer creates a
+filename of the form F<GLOB(0xXXXXXXXX)>.  [perl #125115]
 
-=back
+=item *
 
-=head1 Selected Bug Fixes
+Warning fatality is now ignored when rewinding the stack.  This
+prevents infinite recursion when the now fatal error also causes
+rewinding of the stack.  [perl #123398]
 
-=over 4
+=item * 
+
+In perl v5.22.0, the logic changed when parsing a numeric parameter to the -C
+option, such that the successfully parsed number was not saved as the option
+value if it parsed to the end of the argument.  [perl #125381]
 
 =item *
 
-The C<PadlistNAMES> macro is an lvalue again.
+The PadlistNAMES macro is an lvalue again.
+
+=item *
+
+Zero -DPERL_TRACE_OPS memory for sub-threads.
+
+perl_clone_using() was missing Zero init of PL_op_exec_cnt[].  This
+caused sub-threads in threaded -DPERL_TRACE_OPS builds to spew exceedingly
+large op-counts at destruct.  These counts would print %x as "ABABABAB",
+clearly a mem-poison value.
 
 =back
 
 =head1 Acknowledgements
 
-Perl 5.22.3 represents approximately 9 months of development since Perl 5.22.2
-and contains approximately 4,400 lines of changes across 240 files from 20
+Perl 5.23.0 represents approximately 3 weeks of development since Perl 5.22.0
+and contains approximately 86,000 lines of changes across 480 files from 29
 authors.
 
 Excluding auto-generated files, documentation and release tools, there were
-approximately 2,200 lines of changes to 170 .pm, .t, .c and .h files.
+approximately 55,000 lines of changes to 270 .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.3:
+of users and developers. The following people are known to have contributed the
+improvements that became Perl 5.23.0:
 
-Aaron Crane, Abigail, Alex Vandiver, Aristotle Pagaltzis, Chad Granum, Chris
-'BinGOs' Williams, Craig A. Berry, David Mitchell, Father Chrysostomos, James E
-Keenan, Jarkko Hietaniemi, Karen Etheridge, Karl Williamson, Matthew Horsfall,
-Niko Tyni, Ricardo Signes, Sawyer X, Stevan Little, Steve Hay, Tony Cook.
+Chase Whitener, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari
+Mannsåker, Daniel Dragan, David Golden, David Mitchell, Hugo van der Sanden,
+Jan Dubois, Jarkko Hietaniemi, Jerry D. Hedden, Jim Cromie, Karen Etheridge,
+Karl Williamson, kmx, Lukas Mai, Martijn Lievaart, Matthew Horsfall, Niko Tyni,
+Peter John Acklam, Rafael Garcia-Suarez, Reini Urban, Ricardo Signes, Shlomi
+Fish, Steve Hay, Thomas Sibley, Tony Cook, Unicode Consortium, 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
+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
@@ -281,9 +273,9 @@ 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.
+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
index 1421928..1d53e5d 100644 (file)
@@ -1559,15 +1559,14 @@ defined in the C<:alias> import argument to C<use charnames>, but they
 could be defined by a translator installed into C<$^H{charnames}>.
 See L<charnames/CUSTOM ALIASES>.
 
-=item \C is deprecated in regex; marked by S<<-- HERE> in m/%s/
+=item \C no longer supported in regex; marked by S<<-- HERE> in m/%s/
 
-(D deprecated, regexp) The \C character class is deprecated, and will
-become a compile-time error in a future release of perl (tentatively
-v5.24).  This construct allows you to match a single byte of what makes
-up a multi-byte single UTF8 character, and breaks encapsulation.  It is
-currently also very buggy.  If you really need to process the individual
-bytes, you probably want to convert your string to one where each
-underlying byte is stored as a character, with utf8::encode().
+(F) The \C character class used to allow a match of single byte within a
+multi-byte utf-8 character, but was removed in v5.24 as it broke
+encapsulation and its implementation was extremely buggy. If you really
+need to process the individual bytes, you probably want to convert your
+string to one where each underlying byte is stored as a character, with
+utf8::encode().
 
 =item "\c%c" is more clearly written simply as "%s"
 
@@ -2392,7 +2391,7 @@ than the floating point supports.
 (W overflow) The hexadecimal floating point has a smaller exponent
 than the floating point supports.
 
-=item Hexadecimal float: internal error (%s)
+=item Hexadecimal float: internal error
 
 (F) Something went horribly bad in hexadecimal float handling.
 
@@ -5253,13 +5252,6 @@ missing the final closing quote or angle bracket after the name.  The
 S<<-- HERE> shows whereabouts in the regular expression the problem was
 discovered.
 
-=item Sequence (?... not terminated in regex; marked by S<<-- HERE> in
-m/%s/
-
-(F) There was no matching closing parenthesis for the '('.  The
-S<<-- HERE> shows whereabouts in the regular expression the problem was
-discovered.
-
 =item Sequence \%s... not terminated in regex; marked by S<<-- HERE> in
 m/%s/
 
@@ -5445,11 +5437,6 @@ overhauled.
 (F) An ancient error message that almost nobody ever runs into anymore.
 But before sort was a keyword, people sometimes used it as a filehandle.
 
-=item Sort subroutine didn't return single value
-
-(F) A sort comparison subroutine written in XS must return exactly one
-item.  See L<perlfunc/sort>.
-
 =item Source filters apply only to byte streams
 
 (F) You tried to activate a source filter (usually by loading a
@@ -6665,16 +6652,6 @@ one.  This doesn't make sense.  Perl will continue, assuming a Unicode
 happens to be ISO-8859-1 (Latin1) where this message is spurious and can
 be ignored.
 
-=item Use of chdir('') or chdir(undef) as chdir() deprecated
-
-(D deprecated) chdir() with no arguments is documented to change to
-$ENV{HOME} or $ENV{LOGDIR}.  chdir(undef) and chdir('') share this
-behavior, but that has been deprecated.  In future versions they
-will simply fail.
-
-Be careful to check that what you pass to chdir() is defined and not
-blank, else you might find yourself in your home directory.
-
 =item Use of /c modifier is meaningless in s///
 
 (W regexp) You used the /c modifier in a substitution.  The /c
@@ -7068,21 +7045,8 @@ space.
 
 =item Warning: unable to close filehandle %s properly: %s
 
-(S io) There were errors during the implicit close() done on a filehandle
-when its reference count reached zero while it was still open, e.g.:
-
-    {
-        open my $fh, '>', $file  or die "open: '$file': $!\n";
-        print $fh $data or die "print: $!";
-    } # implicit close here
-
-Because various errors may only be detected by close() (e.g. buffering could
-allow the C<print> in this example to return true even when the disk is full),
-it is dangerous to ignore its result. So when it happens implicitly, perl will
-signal errors by warning.
-
-B<Prior to version 5.22.0, perl ignored such errors>, so the common idiom shown
-above was liable to cause B<silent data loss>.
+(S io) An error occurred when Perl implicitly closed a filehandle.  This
+usually indicates your file system ran out of disk space.
 
 =item Warning: Use of "%s" without parentheses is ambiguous
 
index 4a18793..650ad0e 100644 (file)
@@ -2235,7 +2235,7 @@ value returned work just like C<ioctl> below.
 For example:
 
     use Fcntl;
-    my $flags = fcntl($filehandle, F_GETFL, 0)
+    fcntl($filehandle, F_GETFL, $packed_return_buffer)
         or die "can't fcntl F_GETFL: $!";
 
 You don't have to check for C<defined> on the return from C<fcntl>.
@@ -3040,23 +3040,18 @@ X<hex> X<hexadecimal>
 
 =item hex
 
-=for Pod::Functions convert a hexadecimal string to a number
+=for Pod::Functions convert a string to a hexadecimal number
 
-Interprets EXPR as a hex string and returns the corresponding numeric value.
-If EXPR is omitted, uses C<$_>.
+Interprets EXPR as a hex string and returns the corresponding value.
+(To convert strings that might start with either C<0>, C<0x>, or C<0b>, see
+L</oct>.)  If EXPR is omitted, uses C<$_>.
 
     print hex '0xAf'; # prints '175'
     print hex 'aF';   # same
-    $valid_input =~ /\A(?:0?[xX])?(?:_?[0-9a-fA-F])*\z/
-
-A hex string consists of hex digits and an optional C<0x> or C<x> prefix.
-Each hex digit may be preceded by a single underscore, which will be ignored.
-Any other character triggers a warning and causes the rest of the string
-to be ignored (even leading whitespace, unlike L</oct>).
-Only integers can be represented, and integer overflow triggers a warning.
 
-To convert strings that might start with any of C<0>, C<0x>, or C<0b>, see L</oct>.
-To present something as hex, look into L</printf>,
+Hex strings may only represent integers.  Strings that would cause
+integer overflow trigger a warning.  Leading whitespace is not stripped,
+unlike oct().  To present something as hex, look into L</printf>,
 L</sprintf>, and L</unpack>.
 
 =item import LIST
@@ -6647,7 +6642,7 @@ argument is given.  Returns the integer number of seconds actually slept.
 May be interrupted if the process receives a signal such as C<SIGALRM>.
 
     eval {
-        local $SIG{ALRM} = sub { die "Alarm!\n" };
+        local $SIG{ALARM} = sub { die "Alarm!\n" };
         sleep;
     };
     die $@ unless $@ eq "Alarm!\n";
index 29cb79e..498a58d 100644 (file)
@@ -79,7 +79,7 @@ If you want to have arrays of constant strings, note carefully the
 right combination of C<const>s:
 
     static const char * const yippee[] =
-       {"hi", "ho", "silver"};
+        {"hi", "ho", "silver"};
 
 There is a way to completely hide any modifiable globals (they are all
 moved to heap), the compilation setting
@@ -969,11 +969,11 @@ similar output to L<B::Debug|B::Debug>.
 
 =head2 Using gdb to look at specific parts of a program
 
-With the example above, you knew to look for C<Perl_pp_add>, but what if 
-there were multiple calls to it all over the place, or you didn't know what 
+With the example above, you knew to look for C<Perl_pp_add>, but what if
+there were multiple calls to it all over the place, or you didn't know what
 the op was you were looking for?
 
-One way to do this is to inject a rare call somewhere near what you're looking 
+One way to do this is to inject a rare call somewhere near what you're looking
 for.  For example, you could add C<study> before your method:
 
     study;
@@ -983,7 +983,7 @@ And in gdb do:
     (gdb) break Perl_pp_study
 
 And then step until you hit what you're
-looking for.  This works well in a loop 
+looking for.  This works well in a loop
 if you want to only break at certain iterations:
 
     for my $c (1..100) {
@@ -992,7 +992,7 @@ if you want to only break at certain iterations:
 
 =head2 Using gdb to look at what the parser/lexer are doing
 
-If you want to see what perl is doing when parsing/lexing your code, you can 
+If you want to see what perl is doing when parsing/lexing your code, you can
 use C<BEGIN {}>:
 
     print "Before\n";
@@ -1006,7 +1006,7 @@ And in gdb:
 If you want to see what the parser/lexer is doing inside of C<if> blocks and
 the like you need to be a little trickier:
 
-    if ($a && $b && do { BEGIN { study } 1 } && $c) { ... } 
+    if ($a && $b && do { BEGIN { study } 1 } && $c) { ... }
 
 =head1 SOURCE CODE STATIC ANALYSIS
 
@@ -1167,7 +1167,7 @@ C<-Accflags=-DDL_UNLOAD_ALL_AT_EXIT>.
 
 The valgrind tool can be used to find out both memory leaks and illegal
 heap memory accesses.  As of version 3.3.0, Valgrind only supports Linux
-on x86, x86-64 and PowerPC and Darwin (OS X) on x86 and x86-64).  The
+on x86, x86-64 and PowerPC and Darwin (OS X) on x86 and x86-64.  The
 special "test.valgrind" target can be used to run the tests under
 valgrind.  Found errors and memory leaks are logged in files named
 F<testfile.valgrind> and by default output is displayed inline.
@@ -1184,7 +1184,7 @@ run.  The valgrind tests support being run in parallel to help with this:
 Note that the above two invocations will be very verbose as reachable
 memory and leak-checking is enabled by default.  If you want to just see
 pure errors, try:
-    
+
     VG_OPTS='-q --leak-check=no --show-reachable=no' TEST_JOBS=9 \
         make test.valgrind
 
@@ -1396,7 +1396,7 @@ variable PERL_DESTRUCT_LEVEL to a non-zero value.  The t/TEST wrapper
 does set this to 2, and this is what you need to do too, if you don't
 want to see the "global leaks": For example, for running under valgrind
 
-       env PERL_DESTRUCT_LEVEL=2 valgrind ./perl -Ilib t/foo/bar.t
+    env PERL_DESTRUCT_LEVEL=2 valgrind ./perl -Ilib t/foo/bar.t
 
 (Note: the mod_perl apache module uses also this environment variable
 for its own purposes and extended its semantics.  Refer to the mod_perl
@@ -1436,18 +1436,17 @@ C<-DPERL_MEM_LOG> instead.
 
 =head2 PERL_MEM_LOG
 
-If compiled with C<-DPERL_MEM_LOG> (C<-Accflags=-DPERL_MEM_LOG>), both
-memory and SV allocations go through logging functions, which is
-handy for breakpoint setting.
+If compiled with C<-DPERL_MEM_LOG>, both memory and SV allocations go
+through logging functions, which is handy for breakpoint setting.
 
-Unless C<-DPERL_MEM_LOG_NOIMPL> (C<-Accflags=-DPERL_MEM_LOG_NOIMPL>) is
-also compiled, the logging functions read $ENV{PERL_MEM_LOG} to
-determine whether to log the event, and if so how:
+Unless C<-DPERL_MEM_LOG_NOIMPL> is also compiled, the logging functions
+read $ENV{PERL_MEM_LOG} to determine whether to log the event, and if
+so how:
 
-    $ENV{PERL_MEM_LOG} =~ /m/          Log all memory ops
-    $ENV{PERL_MEM_LOG} =~ /s/          Log all SV ops
-    $ENV{PERL_MEM_LOG} =~ /t/          include timestamp in Log
-    $ENV{PERL_MEM_LOG} =~ /^(\d+)/     write to FD given (default is 2)
+    $ENV{PERL_MEM_LOG} =~ /m/           Log all memory ops
+    $ENV{PERL_MEM_LOG} =~ /s/           Log all SV ops
+    $ENV{PERL_MEM_LOG} =~ /t/           include timestamp in Log
+    $ENV{PERL_MEM_LOG} =~ /^(\d+)/      write to FD given (default is 2)
 
 Memory logging is somewhat similar to C<-Dm> but is independent of
 C<-DDEBUGGING>, and at a higher level; all uses of Newx(), Renew(), and
index 1b2e626..5a3a3f8 100644 (file)
@@ -33,7 +33,7 @@ Matt S Trout, David Golden, Florian Ragwitz, Tatsuhiko Miyagawa,
 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, and Chad 'Exodist' Granum.
+Peter Martini, and Sawyer X.
 
 =head2 PUMPKIN?
 
@@ -540,9 +540,6 @@ the strings?).
  Steve     5.20.1       2014-Sep-14
  Steve     5.20.2-RC1   2015-Jan-31
  Steve     5.20.2       2015-Feb-14
- Steve     5.20.3-RC1   2015-Aug-22
- Steve     5.20.3-RC2   2015-Aug-29
- Steve     5.20.3       2015-Sep-12
 
  Ricardo   5.21.0       2014-May-27     The 5.21 development track
  Matthew H 5.21.1       2014-Jun-20
@@ -560,53 +557,8 @@ the strings?).
  Ricardo   5.22.0-RC1   2015-May-19     The 5.22 maintenance track
  Ricardo   5.22.0-RC2   2015-May-21
  Ricardo   5.22.0       2015-Jun-01
- Steve     5.22.1-RC1   2015-Oct-31
- Steve     5.22.1-RC2   2015-Nov-15
- Steve     5.22.1-RC3   2015-Dec-02
- Steve     5.22.1-RC4   2015-Dec-08
- Steve     5.22.1       2015-Dec-13
- Steve     5.22.2-RC1   2016-Apr-10
- Steve     5.22.2       2016-Apr-29
- Steve     5.22.3-RC1   2016-Jul-17
- Steve     5.22.3-RC2   2016-Jul-25
- Steve     5.22.3-RC3   2016-Aug-11
- Steve     5.22.3-RC4   2016-Oct-12
- Steve     5.22.3-RC5   2017-Jan-02
- Steve     5.22.3       2017-Jan-14
 
  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
- Peter     5.23.3       2015-Sep-20
- Steve     5.23.4       2015-Oct-20
- Abigail   5.23.5       2015-Nov-20
- David G   5.23.6       2015-Dec-21
- Stevan    5.23.7       2016-Jan-20
- Sawyer X  5.23.8       2016-Feb-20
- Abigail   5.23.9       2016-Mar-20
-
- Ricardo   5.24.0-RC1   2016-Apr-13     The 5.24 maintenance track
- Ricardo   5.24.0-RC2   2016-Apr-23
- Ricardo   5.24.0-RC3   2016-Apr-26
- Ricardo   5.24.0-RC4   2016-May-02
- Ricardo   5.24.0-RC5   2016-May-04
- Ricardo   5.24.0       2016-May-09
- Steve     5.24.1-RC1   2016-Jul-17
- Steve     5.24.1-RC2   2016-Jul-25
- Steve     5.24.1-RC3   2016-Aug-11
- Steve     5.24.1-RC4   2016-Oct-12
- Steve     5.24.1-RC5   2017-Jan-02
- Steve     5.24.1       2017-Jan-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
- Steve     5.25.3       2016-Jul-20
- BinGOs    5.25.4       2016-Aug-20
- Stevan    5.25.5       2016-Sep-20
- Aaron     5.25.6       2016-Oct-20
- Chad      5.25.7       2016-Nov-20
- Sawyer    5.25.8       2016-Dec-20
 
 =head2 SELECTED RELEASE SIZES
 
@@ -689,7 +641,6 @@ explained below.
  5.18.0         5892 113   1088  79  20077 2760   9365 2439   4943 154
  5.20.0         6243 115   1187  75  19499 2701   9620 2457   5145 159
  5.22.0         7819 115   1284  77  19121 2635   9772 2434   5615 176
- 5.24.0         7922 113   1287  77  19535 2677   9994 2465   5702 177
 
 The "core"..."doc" mean the following files from the Perl source code
 distribution.  The glob notation ** means recursively, (.) means
@@ -994,25 +945,25 @@ the Perl source distribution for somewhat more selected releases.
 
  ======================================================================
 
-                  5.20.0           5.22.0          5.24.0
-
- Configure    552      1       570      1      586      1
- Cross        118     15       118     15      118     15
- djgpp         18      7        17      7       17      7
- h2pl          13     15        13     15       13     15
- hints        355     90       356     87      362     87
- mad          174      8         -      -        -      -
- NetWare      467     61       466     61      467     61
- os2          510     70       510     70      510     70
- plan9        316     17       317     17      314     17
- Porting     1204     68      1393     71     1321     71
- qnx            1      4         1      4        1      4
- symbian      290     54       291     54      292     54
- utils        241     27       242     27      679     53
- vms          538     12       532     12      524     12
- vos            8      7         8      7        8      7
- win32       1183     64      1201     64     1268     65
- x2p          341     19         -      -        -      -
+                  5.20.0           5.22.0
+
+ Configure    552      1       570      1
+ Cross        118     15       118     15
+ djgpp         18      7        17      7
+ h2pl          13     15        13     15
+ hints        355     90       356     87
+ mad          174      8         -      -
+ NetWare      467     61       466     61
+ os2          510     70       510     70
+ plan9        316     17       317     17
+ Porting     1204     68      1393     71
+ qnx            1      4         1      4
+ symbian      290     54       291     54
+ utils        241     27       242     27
+ vms          538     12       532     12
+ vos            8      7         8      7
+ win32       1183     64      1201     64
+ x2p          341     19         -      -
 
 =head2 SELECTED PATCH SIZES
 
index 6513d8a..fc8770a 100644 (file)
@@ -148,10 +148,10 @@ demonstrated with this code:
   my $bar = $foo;
 
   bless $foo, 'Class';
-  print blessed( $bar ) // 'not blessed';    # prints "Class"
+  print blessed( $bar );      # prints "Class"
 
   $bar = "some other value";
-  print blessed( $bar ) // 'not blessed';    # prints "not blessed"
+  print blessed( $bar );      # prints undef
 
 When we call C<bless> on a variable, we are actually blessing the
 underlying data structure that the variable refers to. We are not
index fdd887f..018698e 100644 (file)
@@ -379,7 +379,7 @@ be integers.  (See also L<Integer Arithmetic>.)
 Note that both C<<< << >>> and C<<< >> >>> in Perl are implemented directly using
 C<<< << >>> and C<<< >> >>>  in C.  If S<C<use integer>> (see L<Integer Arithmetic>) is
 in force then signed C integers are used, else unsigned C integers are
-used, even for negative shiftees.  Either way, the implementation isn't going to generate results
+used.  Either way, the implementation isn't going to generate results
 larger than the size of the integer type Perl was built with (32 bits
 or 64 bits).
 
index 063dae5..0f05876 100644 (file)
@@ -291,11 +291,6 @@ upgrade from very old versions of perl to the latest version.
 
 =item *
 
-Patches that fix bugs in features that were new in the corresponding 5.x.0
-stable release.
-
-=item *
-
 Patches that fix anything which prevents or seriously impacts the build
 or installation of perl.
 
@@ -556,14 +551,10 @@ 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.
 
-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
-to that.
-
 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.
+consider how your words have appeared before responding in any way.  You may
+protest, but repeated protest in the face of a repeatedly reaffirmed decision
+is not acceptable.
 
 Unacceptable behavior will result in a public and clearly identified warning.
 Repeated unacceptable behavior will result in removal from the mailing list and
index 6542fb4..464d144 100644 (file)
@@ -379,8 +379,8 @@ semantics for that.  Let the operating system sort it out.
 
 The I<portable filename characters> as defined by ANSI C are
 
- a b c d e f g h i j k l m n o p q r t u v w x y z
- A B C D E F G H I J K L M N O P Q R T U V W X Y Z
+ a b c d e f g h i j k l m n o p q r t u v w x y z
+ A B C D E F G H I J K L M N O P Q R T U V W X Y Z
  0 1 2 3 4 5 6 7 8 9
  . _ -
 
index 867d23d..a262b4c 100644 (file)
@@ -22,8 +22,6 @@ find things that, while legal, may not be what you intended.
 
 =head2 Modifiers
 
-=head3 Overview
-
 Matching operations can have various modifiers.  Modifiers
 that relate to the interpretation of the regular expression inside
 are listed below.  Modifiers that alter the way a regular expression
@@ -154,16 +152,11 @@ L<perlop/"s/PATTERN/REPLACEMENT/msixpodualngcer"> are:
 
 Regular expression modifiers are usually written in documentation
 as e.g., "the C</x> modifier", even though the delimiter
-in question might not really be a slash.  The modifiers C</imnsxadlup>
+in question might not really be a slash.  The modifiers C</imsxadlup>
 may also be embedded within the regular expression itself using
 the C<(?...)> construct, see L</Extended Patterns> below.
 
-=head3 Details on some modifiers
-
-Some of the modifiers require more explanation than given in the
-L</Overview> above.
-
-=head4 /x
+=head3 /x
 
 C</x> tells
 the regular expression parser to ignore most whitespace that is neither
@@ -227,7 +220,7 @@ calls "Pattern White Space", namely:
  U+2028 LINE SEPARATOR
  U+2029 PARAGRAPH SEPARATOR
 
-=head4 Character set modifiers
+=head3 Character set modifiers
 
 C</d>, C</u>, C</a>, and C</l>, available starting in 5.14, are called
 the character set modifiers; they affect the character set rules
@@ -713,11 +706,6 @@ X<\g> X<\k> X<\K> X<backreference>
   \pP       [3]  Match P, named property.  Use \p{Prop} for longer names
   \PP       [3]  Match non-P
   \X        [4]  Match Unicode "eXtended grapheme cluster"
-  \C             Match a single C-language char (octet) even if that is
-                   part of a larger UTF-8 character.  Thus it breaks up
-                   characters into their UTF-8 bytes, so you may end up
-                   with malformed pieces of UTF-8.  Unsupported in
-                   lookbehind. (Deprecated.)
   \1        [5]  Backreference to a specific capture group or buffer.
                    '1' may actually be any positive integer.
   \g1       [5]  Backreference to a specific or previous group,
@@ -1079,9 +1067,9 @@ a backslash if it appears in the comment.
 
 See L</E<sol>x> for another way to have comments in patterns.
 
-=item C<(?adlupimnsx-imnsx)>
+=item C<(?adlupimsx-imsx)>
 
-=item C<(?^alupimnsx)>
+=item C<(?^alupimsx)>
 X<(?)> X<(?^)>
 
 One or more embedded pattern-match modifiers, to be turned on (or
@@ -1119,7 +1107,7 @@ expressions compiled within the scope of a C<use re>.  See
 L<re/"'/flags' mode">.
 
 Starting in Perl 5.14, a C<"^"> (caret or circumflex accent) immediately
-after the C<"?"> is a shorthand equivalent to C<d-imnsx>.  Flags (except
+after the C<"?"> is a shorthand equivalent to C<d-imsx>.  Flags (except
 C<"d">) may follow the caret to override it.
 But a minus sign is not legal with it.
 
@@ -1137,9 +1125,9 @@ anywhere in a pattern has a global effect.
 =item C<(?:pattern)>
 X<(?:)>
 
-=item C<(?adluimnsx-imnsx:pattern)>
+=item C<(?adluimsx-imsx:pattern)>
 
-=item C<(?^aluimnsx:pattern)>
+=item C<(?^aluimsx:pattern)>
 X<(?^:)>
 
 This is for clustering, not capturing; it groups subexpressions like
@@ -1155,7 +1143,7 @@ but doesn't spit out extra fields.  It's also cheaper not to capture
 characters if you don't need to.
 
 Any letters between C<?> and C<:> act as flags modifiers as with
-C<(?adluimnsx-imnsx)>.  For example,
+C<(?adluimsx-imsx)>.  For example,
 
     /(?s-i:more.*than).*million/i
 
@@ -1163,21 +1151,18 @@ is equivalent to the more verbose
 
     /(?:(?s-i)more.*than).*million/i
 
-Note that any C<(...)> constructs enclosed within this one will still
-capture unless the C</n> modifier is in effect.
-
 Starting in Perl 5.14, a C<"^"> (caret or circumflex accent) immediately
-after the C<"?"> is a shorthand equivalent to C<d-imnsx>.  Any positive
+after the C<"?"> is a shorthand equivalent to C<d-imsx>.  Any positive
 flags (except C<"d">) may follow the caret, so
 
     (?^x:foo)
 
 is equivalent to
 
-    (?x-imns:foo)
+    (?x-ims:foo)
 
 The caret tells Perl that this cluster doesn't inherit the flags of any
-surrounding pattern, but uses the system defaults (C<d-imnsx>),
+surrounding pattern, but uses the system defaults (C<d-imsx>),
 modified by any flags specified.
 
 The caret allows for simpler stringification of compiled regular
index c216f25..08b9abc 100644 (file)
@@ -69,8 +69,6 @@ as C<Not in [].>
  \b{}, \b          Boundary. (\b is a backspace in []).
  \B{}, \B          Not a boundary.  Not in [].
  \cX               Control-X.
- \C                Single octet, even under UTF-8.  Not in [].
-                   (Deprecated)
  \d                Character class for digits.
  \D                Character class for non-digits.
  \e                Escape character.
@@ -663,18 +661,6 @@ categories above. These are:
 
 =over 4
 
-=item \C
-
-(Deprecated.) C<\C> always matches a single octet, even if the source
-string is encoded
-in UTF-8 format, and the character to be matched is a multi-octet character.
-This is very dangerous, because it violates
-the logical character abstraction and can cause UTF-8 sequences to become malformed.
-
-Use C<utf8::encode()> instead.
-
-Mnemonic: oI<C>tet.
-
 =item \K
 
 This appeared in perl 5.10.0. Anything matched left of C<\K> is
index b3a30c8..86ecfdd 100644 (file)
@@ -887,7 +887,7 @@ for obfuscated code:
     # @harry is (1,2,3)
 
     my $type = ref $thingy;
-    ($type ? $type eq 'ARRAY' ? \@foo : \$bar : $baz) = $thingy;
+    ($type ? $type == 'ARRAY' ? \@foo : \$bar : $baz) = $thingy;
 
 The C<foreach> loop can also take a reference constructor for its loop
 variable, though the syntax is limited to one of the following, with an
@@ -906,7 +906,7 @@ arrays-of-arrays, or arrays-of-hashes:
     }
 
     foreach \my %h (@array_of_hashes) {
-        $h{gelastic}++ if $h{type} eq 'funny';
+        $h{gelastic}++ if $h{type} == 'funny';
     }
 
 B<CAVEAT:> Aliasing does not work correctly with closures.  If you try to
index de1b0d6..e9b784e 100644 (file)
@@ -144,8 +144,6 @@ and L<perlunicode> for details.
    \V      A non vertical whitespace
    \R      A generic newline           (?>\v|\x0D\x0A)
 
-   \C      Match a byte (with Unicode, '.' matches a character)
-           (Deprecated.)
    \pP     Match P-named (Unicode) property
    \p{...} Match Unicode property with name longer than 1 character
    \PP     Match non-P
@@ -159,7 +157,7 @@ POSIX character classes and their Unicode and Perl equivalents:
  [[:...:]]  \p{...}        \p{...}   sequence    Description
 
  -----------------------------------------------------------------------
- alnum   PosixAlnum       XPosixAlnum            Alpha plus Digit
+ alnum   PosixAlnum       XPosixAlnum            'alpha' plus 'digit'
  alpha   PosixAlpha       XPosixAlpha            Alphabetic characters
  ascii   ASCII                                   Any ASCII character
  blank   PosixBlank       XPosixBlank   \h       Horizontal whitespace;
@@ -169,19 +167,18 @@ POSIX character classes and their Unicode and Perl equivalents:
                                                    extension)
  cntrl   PosixCntrl       XPosixCntrl            Control characters
  digit   PosixDigit       XPosixDigit   \d       Decimal digits
- graph   PosixGraph       XPosixGraph            Alnum plus Punct
+ graph   PosixGraph       XPosixGraph            'alnum' plus 'punct'
  lower   PosixLower       XPosixLower            Lowercase characters
- print   PosixPrint       XPosixPrint            Graph plus Print, but
-                                                   not any Cntrls
+ print   PosixPrint       XPosixPrint            'graph' plus 'space',
+                                                   but not any Controls
  punct   PosixPunct       XPosixPunct            Punctuation and Symbols
                                                    in ASCII-range; just
                                                    punct outside it
- space   PosixSpace       XPosixSpace            [\s\cK]
-         PerlSpace        XPerlSpace    \s       Perl's whitespace def'n
+ space   PosixSpace       XPosixSpace   \s       Whitespace
  upper   PosixUpper       XPosixUpper            Uppercase characters
- word    PosixWord        XPosixWord    \w       Alnum + Unicode marks +
-                                                   connectors, like '_'
-                                                   (Perl extension)
+ word    PosixWord        XPosixWord    \w       'alnum' + Unicode marks
+                                                    + connectors, like
+                                                    '_' (Perl extension)
  xdigit  ASCII_Hex_Digit  XPosixDigit            Hexadecimal digit,
                                                     ASCII-range is
                                                     [0-9A-Fa-f]
index cb399ab..9a3c696 100644 (file)
@@ -2295,10 +2295,6 @@ They evaluate true if the regexps do I<not> match:
     $x =~ /foo(?!baz)/;  # matches, 'baz' doesn't follow 'foo'
     $x =~ /(?<!\s)foo/;  # matches, there is no \s before 'foo'
 
-The C<\C> is unsupported in lookbehind, because the already
-treacherous definition of C<\C> would become even more so
-when going backwards.
-
 Here is an example where a string containing blank-separated words,
 numbers and single dashes is to be split into its components.
 Using C</\s+/> alone won't work, because spaces are not required between
index 6bcc572..1d5f8fc 100644 (file)
@@ -388,42 +388,39 @@ the format of the output is explained in L<perldebguts>.
 As an alternative, specify a number instead of list of letters (e.g.,
 B<-D14> is equivalent to B<-Dtls>):
 
-         1  p  Tokenizing and parsing (with v, displays parse
-               stack)
-         2  s  Stack snapshots (with v, displays all stacks)
-         4  l  Context (loop) stack processing
-         8  t  Trace execution
-        16  o  Method and overloading resolution
-        32  c  String/numeric conversions
-        64  P  Print profiling info, source file input state
-       128  m  Memory and SV allocation
-       256  f  Format processing
-       512  r  Regular expression parsing and execution
-      1024  x  Syntax tree dump
-      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
-    131072  T  Tokenizing
-    262144  R  Include reference counts of dumped variables
-               (eg when using -Ds)
-    524288  J  show s,t,P-debug (don't Jump over) on opcodes within
-               package DB
-   1048576  v  Verbose: use in conjunction with other flags
-   2097152  C  Copy On Write
-   4194304  A  Consistency checks on internal structures
-   8388608  q  quiet - currently only suppresses the "EXECUTING"
-               message
-  16777216  M  trace smart match resolution
-  33554432  B  dump suBroutine definitions, including special
-               Blocks like BEGIN
-  67108864  L  trace Locale-related info; what gets output is very
-               subject to change
- 134217728  i  trace PerlIO layer processing.  Set PERLIO_DEBUG to
-               the filename to trace to.
+        1  p  Tokenizing and parsing (with v, displays parse stack)
+        2  s  Stack snapshots (with v, displays all stacks)
+        4  l  Context (loop) stack processing
+        8  t  Trace execution
+       16  o  Method and overloading resolution
+       32  c  String/numeric conversions
+       64  P  Print profiling info, source file input state
+      128  m  Memory and SV allocation
+      256  f  Format processing
+      512  r  Regular expression parsing and execution
+     1024  x  Syntax tree dump
+     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
+   131072  T  Tokenizing
+   262144  R  Include reference counts of dumped variables (eg when
+              using -Ds)
+   524288  J  show s,t,P-debug (don't Jump over) on opcodes within
+              package DB
+  1048576  v  Verbose: use in conjunction with other flags
+  2097152  C  Copy On Write
+  4194304  A  Consistency checks on internal structures
+  8388608  q  quiet - currently only suppresses the "EXECUTING"
+              message
+ 16777216  M  trace smart match resolution
+ 33554432  B  dump suBroutine definitions, including special Blocks
+              like BEGIN
+ 67108864  L  trace Locale-related info; what gets output is very
+              subject to change
 
 All these flags require B<-DDEBUGGING> when you compile the Perl
 executable (but see C<:opd> in L<Devel::Peek> or L<re/'debug' mode>
@@ -1154,22 +1151,19 @@ is run in taint mode.
 =item PERLIO_DEBUG
 X<PERLIO_DEBUG>
 
-If set to the name of a file or device when Perl is run with the
-B<-Di> command-line switch, the logging of certain operations of
-the PerlIO subsystem will be redirected to the specified file rather
-than going to stderr, which is the default. The file is opened in append
-mode. Typical uses are in Unix:
+If set to the name of a file or device, certain operations of PerlIO
+subsystem will be logged to that file, which is opened in append mode.
+Typical uses are in Unix:
 
-   % env PERLIO_DEBUG=/tmp/perlio.log perl -Di script ...
+   % env PERLIO_DEBUG=/dev/tty perl script ...
 
 and under Win32, the approximately equivalent:
 
    > set PERLIO_DEBUG=CON
-   perl -Di script ...
+   perl script ...
 
-This functionality is disabled for setuid scripts, for scripts run
-with B<-T>, and for scripts run on a Perl built without C<-DDEBUGGING>
-support.
+This functionality is disabled for setuid scripts and for scripts run
+with B<-T>.
 
 =item PERLLIB
 X<PERLLIB>
index 3aaa8a9..f057b96 100644 (file)
@@ -319,8 +319,7 @@ 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
+the subroutine name.  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
index db01b44..a200acc 100644 (file)
@@ -765,7 +765,8 @@ hash element for this:
 X<FIRSTKEY>
 
 This method will be triggered when the user is going
-to iterate through the hash, such as via a keys(), values(), or each() call.
+to iterate through the hash, such as via a keys() or each()
+call.
 
     sub FIRSTKEY {
        carp &whowasi if $DEBUG;
@@ -774,22 +775,14 @@ to iterate through the hash, such as via a keys(), values(), or each() call.
        each %{$self->{LIST}}
     }
 
-FIRSTKEY is always called in scalar context and it should just
-return the first key.  values(), and each() in list context,
-will call FETCH for the returned keys.
-
 =item NEXTKEY this, lastkey
 X<NEXTKEY>
 
-This method gets triggered during a keys(), values(), or each() iteration.  It has a
+This method gets triggered during a keys() or each() iteration.  It has a
 second argument which is the last key that had been accessed.  This is
-useful if you're caring about ordering or calling the iterator from more
+useful if you're carrying about ordering or calling the iterator from more
 than one sequence, or not really storing things in a hash anywhere.
 
-NEXTKEY is always called in scalar context and it should just
-return the next key.  values(), and each() in list context,
-will call FETCH for the returned keys.
-
 For our example, we're using a real hash so we'll do just the simple
 thing, but we'll have to go through the LIST field indirectly.
 
index 1a403b3..285531e 100644 (file)
@@ -167,7 +167,7 @@ X<@_> X<@ARG>
 
 Within a subroutine the array C<@_> contains the parameters passed to
 that subroutine.  Inside a subroutine, C<@_> is the default array for
-the array operators C<pop> and C<shift>.
+the array operators C<push>, C<pop>, C<shift>, and C<unshift>.
 
 See L<perlsub>.
 
@@ -466,11 +466,6 @@ version objects) and numeric comparisons can occasionally fail; it's good
 for string literal version checks and bad for comparing to a variable
 that hasn't been sanity-checked.
 
-The C<$OLD_PERL_VERSION> form was added in Perl v5.20.0 for historical
-reasons but its use is discouraged. (If your reason to use C<$]> is to
-run code on old perls then referring to it as C<$OLD_PERL_VERSION> would
-be self-defeating.)
-
 Mnemonic: Is this version of perl in the right bracket?
 
 =item $SYSTEM_FD_MAX
@@ -1824,12 +1819,10 @@ Each element of C<%!> has a true value only if C<$!> is set to that
 value.  For example, C<$!{ENOENT}> is true if and only if the current
 value of C<$!> is C<ENOENT>; that is, if the most recent error was "No
 such file or directory" (or its moral equivalent: not all operating
-systems give that exact error, and certainly not all languages).  The
-specific true value is not guaranteed, but in the past has generally
-been the numeric value of C<$!>.  To check if a particular key is
-meaningful on your system, use C<exists $!{the_key}>; for a list of legal
-keys, use C<keys %!>.  See L<Errno> for more information, and also see
-L</$!>.
+systems give that exact error, and certainly not all languages).  To
+check if a particular key is meaningful on your system, use C<exists
+$!{the_key}>; for a list of legal keys, use C<keys %!>.  See L<Errno>
+for more information, and also see L</$!>.
 
 This variable was added in Perl 5.005.
 
diff --git a/pp.c b/pp.c
index 3173c5a..42f156a 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -1392,17 +1392,7 @@ PP(pp_multiply)
       NV right = SvNV_nomg(svr);
       NV left  = SvNV_nomg(svl);
       (void)POPs;
-#if defined(__sgi) && defined(USE_LONG_DOUBLE) && LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN && NVSIZE == 16
-      {
-          NV result = left * right;
-          if (Perl_isinf(result)) {
-              Zero((U8*)&result + 8, 8, U8);
-          }
-          SETn( result );
-      }
-#else
       SETn( left * right );
-#endif
       RETURN;
     }
 }
@@ -3681,7 +3671,10 @@ PP(pp_ucfirst)
     /* We may be able to get away with changing only the first character, in
      * place, but not if read-only, etc.  Later we may discover more reasons to
      * not convert in-place. */
-    inplace = !SvREADONLY(source) && SvPADTMP(source);
+    inplace = !SvREADONLY(source)
+          && (  SvPADTMP(source)
+             || (  SvTEMP(source) && !SvSMAGICAL(source)
+                && SvREFCNT(source) == 1));
 
     /* 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,
@@ -3921,7 +3914,9 @@ PP(pp_uc)
 
     SvGETMAGIC(source);
 
-    if (   SvPADTMP(source)
+    if ((SvPADTMP(source)
+        ||
+       (SvTEMP(source) && !SvSMAGICAL(source) && SvREFCNT(source) == 1))
        && !SvREADONLY(source) && SvPOK(source)
        && !DO_UTF8(source)
        && (
@@ -4174,7 +4169,10 @@ PP(pp_lc)
 
     SvGETMAGIC(source);
 
-    if (   SvPADTMP(source)
+    if (   (  SvPADTMP(source)
+          || (  SvTEMP(source) && !SvSMAGICAL(source)
+             && SvREFCNT(source) == 1  )
+          )
        && !SvREADONLY(source) && SvPOK(source)
        && !DO_UTF8(source)) {
 
@@ -5113,20 +5111,15 @@ PP(pp_lslice)
     SV **lelem;
 
     if (GIMME_V != G_ARRAY) {
-        if (lastlelem < firstlelem) {
-            *firstlelem = &PL_sv_undef;
-        }
-        else {
-            I32 ix = SvIV(*lastlelem);
-            if (ix < 0)
-                ix += max;
-            if (ix < 0 || ix >= max)
-                *firstlelem = &PL_sv_undef;
-            else
-                *firstlelem = firstrelem[ix];
-        }
-        SP = firstlelem;
-        RETURN;
+       I32 ix = SvIV(*lastlelem);
+       if (ix < 0)
+           ix += max;
+       if (ix < 0 || ix >= max)
+           *firstlelem = &PL_sv_undef;
+       else
+           *firstlelem = firstrelem[ix];
+       SP = firstlelem;
+       RETURN;
     }
 
     if (max == 0) {
index 335fb21..7f485d3 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1349,22 +1349,17 @@ I32
 Perl_block_gimme(pTHX)
 {
     const I32 cxix = dopoptosub(cxstack_ix);
+    U8 gimme;
     if (cxix < 0)
        return G_VOID;
 
-    switch (cxstack[cxix].blk_gimme) {
-    case G_VOID:
-       return G_VOID;
-    case G_SCALAR:
-       return G_SCALAR;
-    case G_ARRAY:
-       return G_ARRAY;
-    default:
-       Perl_croak(aTHX_ "panic: bad gimme: %d\n", cxstack[cxix].blk_gimme);
-    }
-    NOT_REACHED; /* NOTREACHED */
+    gimme = (cxstack[cxix].blk_gimme & G_WANT);
+    if (!gimme)
+       Perl_croak(aTHX_ "panic: bad gimme: %d\n", gimme);
+    return gimme;
 }
 
+
 I32
 Perl_is_lvalue_sub(pTHX)
 {
@@ -2279,17 +2274,46 @@ PP(pp_leaveloop)
     return NORMAL;
 }
 
-STATIC void
-S_return_lvalues(pTHX_ SV **mark, SV **sp, SV **newsp, I32 gimme,
-                       PERL_CONTEXT *cx, PMOP *newpm)
+
+/* This duplicates most of pp_leavesub, but with additional code to handle
+ * return args in lvalue context. It was forked from pp_leavesub to
+ * avoid slowing down that function any further.
+ *
+ * Any changes made to this function may need to be copied to pp_leavesub
+ * and vice-versa.
+ */
+
+PP(pp_leavesublv)
 {
-    const bool ref = !!(CxLVAL(cx) & OPpENTERSUB_INARGS);
+    dSP;
+    SV **newsp;
+    SV **mark;
+    PMOP *newpm;
+    I32 gimme;
+    PERL_CONTEXT *cx;
+    SV *sv;
+    bool ref;
+    const char *what = NULL;
+
+    if (CxMULTICALL(&cxstack[cxstack_ix])) {
+        /* entry zero of a stack is always PL_sv_undef, which
+         * simplifies converting a '()' return into undef in scalar context */
+        assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef);
+       return 0;
+    }
+
+    POPBLOCK(cx,newpm);
+    cxstack_ix++; /* preserve cx entry on stack for use by POPSUB */
+    TAINT_NOT;
+
+    mark = newsp + 1;
+
+    ref = !!(CxLVAL(cx) & OPpENTERSUB_INARGS);
     if (gimme == G_SCALAR) {
        if (CxLVAL(cx) && !ref) {     /* Leave it as it is if we can. */
            SV *sv;
-           const char *what = NULL;
-           if (MARK < SP) {
-               assert(MARK+1 == SP);
+           if (MARK <= SP) {
+               assert(MARK == SP);
                if ((SvPADTMP(TOPs) || SvREADONLY(TOPs)) &&
                    !SvSMAGICAL(TOPs)) {
                    what =
@@ -2302,33 +2326,34 @@ S_return_lvalues(pTHX_ SV **mark, SV **sp, SV **newsp, I32 gimme,
                /* sub:lvalue{} will take us here. */
                what = "undef";
            }
+          croak:
            LEAVE;
-           cxstack_ix--;
            POPSUB(cx,sv);
+           cxstack_ix--;
            PL_curpm = newpm;
            LEAVESUB(sv);
            Perl_croak(aTHX_
                      "Can't return %s from lvalue subroutine", what
            );
        }
-       if (MARK < SP) {
+       if (MARK <= SP) {
              copy_sv:
                if (cx->blk_sub.cv && CvDEPTH(cx->blk_sub.cv) > 1) {
                    if (!SvPADTMP(*SP)) {
-                       *++newsp = SvREFCNT_inc(*SP);
+                       *MARK = SvREFCNT_inc(*SP);
                        FREETMPS;
-                       sv_2mortal(*newsp);
+                       sv_2mortal(*MARK);
                    }
                    else {
                        /* FREETMPS could clobber it */
                        SV *sv = SvREFCNT_inc(*SP);
                        FREETMPS;
-                       *++newsp = sv_mortalcopy(sv);
+                       *MARK = sv_mortalcopy(sv);
                        SvREFCNT_dec(sv);
                    }
                }
                else
-                   *++newsp =
+                   *MARK =
                      SvPADTMP(*SP)
                       ? sv_mortalcopy(*SP)
                       : !SvTEMP(*SP)
@@ -2336,9 +2361,11 @@ S_return_lvalues(pTHX_ SV **mark, SV **sp, SV **newsp, I32 gimme,
                          : *SP;
        }
        else {
-           EXTEND(newsp,1);
-           *++newsp = &PL_sv_undef;
+           MEXTEND(MARK, 0);
+           *MARK = &PL_sv_undef;
        }
+        SP = MARK;
+
        if (CxLVAL(cx) & OPpDEREF) {
            SvGETMAGIC(TOPs);
            if (!SvOK(TOPs)) {
@@ -2349,209 +2376,110 @@ S_return_lvalues(pTHX_ SV **mark, SV **sp, SV **newsp, I32 gimme,
     else if (gimme == G_ARRAY) {
        assert (!(CxLVAL(cx) & OPpDEREF));
        if (ref || !CxLVAL(cx))
-           while (++MARK <= SP)
-               *++newsp =
+           for (; MARK <= SP; MARK++)
+               *MARK =
                       SvFLAGS(*MARK) & SVs_PADTMP
                           ? sv_mortalcopy(*MARK)
                     : SvTEMP(*MARK)
                           ? *MARK
                           : sv_2mortal(SvREFCNT_inc_simple_NN(*MARK));
-       else while (++MARK <= SP) {
+       else for (; MARK <= SP; MARK++) {
            if (*MARK != &PL_sv_undef
                    && (SvPADTMP(*MARK) || SvREADONLY(*MARK))
            ) {
-                   const bool ro = cBOOL( SvREADONLY(*MARK) );
-                   SV *sv;
                    /* Might be flattened array after $#array =  */
-                   PUTBACK;
-                   LEAVE;
-                   cxstack_ix--;
-                   POPSUB(cx,sv);
-                   PL_curpm = newpm;
-                   LEAVESUB(sv);
-              /* diag_listed_as: Can't return %s from lvalue subroutine */
-                   Perl_croak(aTHX_
-                       "Can't return a %s from lvalue subroutine",
-                        ro ? "readonly value" : "temporary");
+                    what = SvREADONLY(*MARK)
+                            ? "a readonly value" : "a temporary";
+                    goto croak;
            }
-           else
-               *++newsp =
-                   SvTEMP(*MARK)
-                      ? *MARK
-                      : sv_2mortal(SvREFCNT_inc_simple_NN(*MARK));
+           else if (!SvTEMP(*MARK))
+               *MARK = sv_2mortal(SvREFCNT_inc_simple_NN(*MARK));
        }
     }
-    PL_stack_sp = newsp;
+    PUTBACK;
+
+    LEAVE;
+    POPSUB(cx,sv);     /* Stack values are safe: release CV and @_ ... */
+    cxstack_ix--;
+    PL_curpm = newpm;  /* ... and pop $1 et al */
+    LEAVESUB(sv);
+
+    return cx->blk_sub.retop;
 }
 
+
 PP(pp_return)
 {
     dSP; dMARK;
     PERL_CONTEXT *cx;
-    bool popsub2 = FALSE;
-    bool clear_errsv = FALSE;
-    bool lval = FALSE;
-    I32 gimme;
-    SV **newsp;
-    PMOP *newpm;
-    I32 optype = 0;
-    SV *namesv;
-    SV *sv;
-    OP *retop = NULL;
-
+    SV **oldsp;
     const I32 cxix = dopoptosub(cxstack_ix);
 
-    if (cxix < 0) {
-       if (CxMULTICALL(cxstack)) { /* In this case we must be in a
-                                    * sort block, which is a CXt_NULL
-                                    * not a CXt_SUB */
-           dounwind(0);
-           PL_stack_base[1] = *PL_stack_sp;
-           PL_stack_sp = PL_stack_base + 1;
-           return 0;
-       }
-       else
-           DIE(aTHX_ "Can't return outside a subroutine");
-    }
-    if (cxix < cxstack_ix)
+    assert(cxstack_ix >= 0);
+    if (cxix < cxstack_ix) {
+        if (cxix < 0) {
+            if (CxMULTICALL(cxstack)) { /* In this case we must be in a
+                                         * sort block, which is a CXt_NULL
+                                         * not a CXt_SUB */
+                dounwind(0);
+                /* if we were in list context, we would have to splice out
+                 * any junk before the return args, like we do in the general
+                 * pp_return case, e.g.
+                 *   sub f { for (junk1, junk2) { return arg1, arg2 }}
+                 */
+                assert(cxstack[0].blk_gimme == G_SCALAR);
+                return 0;
+            }
+            else
+                DIE(aTHX_ "Can't return outside a subroutine");
+        }
        dounwind(cxix);
+    }
 
-    if (CxMULTICALL(&cxstack[cxix])) {
-       gimme = cxstack[cxix].blk_gimme;
-       if (gimme == G_VOID)
-           PL_stack_sp = PL_stack_base;
-       else if (gimme == G_SCALAR) {
-           PL_stack_base[1] = *PL_stack_sp;
-           PL_stack_sp = PL_stack_base + 1;
-       }
-       return 0;
+    cx = &cxstack[cxix];
+
+    oldsp = PL_stack_base + cx->blk_oldsp;
+    if (oldsp != MARK) {
+        /* Handle extra junk on the stack. For example,
+         *    for (1,2) { return 3,4 }
+         * leaves 1,2,3,4 on the stack. In list context we
+         * have to splice out the 1,2; In scalar context for
+         *    for (1,2) { return }
+         * we need to set sp = oldsp so that pp_leavesub knows
+         * to push &PL_sv_undef onto the stack.
+         * Note that in pp_return we only do the extra processing
+         * required to handle junk; everything else we leave to
+         * pp_leavesub.
+         */
+        SSize_t nargs = SP - MARK;
+        if (nargs) {
+            if (cx->blk_gimme == G_ARRAY) {
+                /* shift return args to base of call stack frame */
+                Move(MARK + 1, oldsp + 1, nargs, SV**);
+                PL_stack_sp  = oldsp + nargs;
+            }
+        }
+        else
+            PL_stack_sp  = oldsp;
     }
 
-    POPBLOCK(cx,newpm);
+    /* fall through to a normal exit */
     switch (CxTYPE(cx)) {
-    case CXt_SUB:
-       popsub2 = TRUE;
-       lval = !!CvLVALUE(cx->blk_sub.cv);
-       retop = cx->blk_sub.retop;
-       cxstack_ix++; /* preserve cx entry on stack for use by POPSUB */
-       break;
     case CXt_EVAL:
-       if (!(PL_in_eval & EVAL_KEEPERR))
-           clear_errsv = TRUE;
-       POPEVAL(cx);
-       namesv = cx->blk_eval.old_namesv;
-       retop = cx->blk_eval.retop;
-       if (CxTRYBLOCK(cx))
-           break;
-       if (optype == OP_REQUIRE &&
-           (MARK == SP || (gimme == G_SCALAR && !SvTRUE(*SP))) )
-       {
-           /* Unassume the success we assumed earlier. */
-           (void)hv_delete(GvHVn(PL_incgv),
-                           SvPVX_const(namesv),
-                            SvUTF8(namesv) ? -(I32)SvCUR(namesv) : (I32)SvCUR(namesv),
-                           G_DISCARD);
-           DIE(aTHX_ "%"SVf" did not return a true value", SVfARG(namesv));
-       }
-       break;
+        return CxTRYBLOCK(cx)
+            ? Perl_pp_leavetry(aTHX)
+            : Perl_pp_leaveeval(aTHX);
+    case CXt_SUB:
+        return CvLVALUE(cx->blk_sub.cv)
+            ? Perl_pp_leavesublv(aTHX)
+            : Perl_pp_leavesub(aTHX);
     case CXt_FORMAT:
-       retop = cx->blk_sub.retop;
-       POPFORMAT(cx);
-       break;
+        return Perl_pp_leavewrite(aTHX);
     default:
        DIE(aTHX_ "panic: return, type=%u", (unsigned) CxTYPE(cx));
     }
-
-    TAINT_NOT;
-    if (lval) S_return_lvalues(aTHX_ MARK, SP, newsp, gimme, cx, newpm);
-    else {
-      if (gimme == G_SCALAR) {
-       if (MARK < SP) {
-           if (popsub2) {
-               if (cx->blk_sub.cv && CvDEPTH(cx->blk_sub.cv) > 1) {
-                   if (SvTEMP(TOPs) && SvREFCNT(TOPs) == 1
-                        && !SvMAGICAL(TOPs)) {
-                       *++newsp = SvREFCNT_inc(*SP);
-                       FREETMPS;
-                       sv_2mortal(*newsp);
-                   }
-                   else {
-                       sv = SvREFCNT_inc(*SP); /* FREETMPS could clobber it */
-                       FREETMPS;
-                       *++newsp = sv_mortalcopy(sv);
-                       SvREFCNT_dec(sv);
-                   }
-               }
-               else if (SvTEMP(*SP) && SvREFCNT(*SP) == 1
-                         && !SvMAGICAL(*SP)) {
-                   *++newsp = *SP;
-               }
-               else
-                   *++newsp = sv_mortalcopy(*SP);
-           }
-           else
-               *++newsp = sv_mortalcopy(*SP);
-       }
-       else
-           *++newsp = &PL_sv_undef;
-      }
-      else if (gimme == G_ARRAY) {
-       while (++MARK <= SP) {
-           *++newsp = popsub2 && SvTEMP(*MARK) && SvREFCNT(*MARK) == 1
-                              && !SvGMAGICAL(*MARK)
-                       ? *MARK : sv_mortalcopy(*MARK);
-           TAINT_NOT;          /* Each item is independent */
-       }
-      }
-      PL_stack_sp = newsp;
-    }
-
-    LEAVE;
-    /* Stack values are safe: */
-    if (popsub2) {
-       cxstack_ix--;
-       POPSUB(cx,sv);  /* release CV and @_ ... */
-    }
-    else
-       sv = NULL;
-    PL_curpm = newpm;  /* ... and pop $1 et al */
-
-    LEAVESUB(sv);
-    if (clear_errsv) {
-       CLEAR_ERRSV();
-    }
-    return retop;
 }
 
-/* This duplicates parts of pp_leavesub, so that it can share code with
- * pp_return */
-PP(pp_leavesublv)
-{
-    dSP;
-    SV **newsp;
-    PMOP *newpm;
-    I32 gimme;
-    PERL_CONTEXT *cx;
-    SV *sv;
-
-    if (CxMULTICALL(&cxstack[cxstack_ix]))
-       return 0;
-
-    POPBLOCK(cx,newpm);
-    cxstack_ix++; /* temporarily protect top context */
-
-    TAINT_NOT;
-
-    S_return_lvalues(aTHX_ newsp, SP, newsp, gimme, cx, newpm);
-
-    LEAVE;
-    POPSUB(cx,sv);     /* Stack values are safe: release CV and @_ ... */
-    cxstack_ix--;
-    PL_curpm = newpm;  /* ... and pop $1 et al */
-
-    LEAVESUB(sv);
-    return cx->blk_sub.retop;
-}
 
 static I32
 S_unwind_loop(pTHX_ const char * const opname)
@@ -2595,42 +2523,23 @@ S_unwind_loop(pTHX_ const char * const opname)
 PP(pp_last)
 {
     PERL_CONTEXT *cx;
-    I32 pop2 = 0;
     I32 gimme;
-    I32 optype;
     OP *nextop = NULL;
     SV **newsp;
     PMOP *newpm;
-    SV *sv = NULL;
 
     S_unwind_loop(aTHX_ "last");
 
     POPBLOCK(cx,newpm);
     cxstack_ix++; /* temporarily protect top context */
-    switch (CxTYPE(cx)) {
-    case CXt_LOOP_LAZYIV:
-    case CXt_LOOP_LAZYSV:
-    case CXt_LOOP_FOR:
-    case CXt_LOOP_PLAIN:
-       pop2 = CxTYPE(cx);
-       newsp = PL_stack_base + cx->blk_loop.resetsp;
-       nextop = cx->blk_loop.my_op->op_lastop->op_next;
-       break;
-    case CXt_SUB:
-       pop2 = CXt_SUB;
-       nextop = cx->blk_sub.retop;
-       break;
-    case CXt_EVAL:
-       POPEVAL(cx);
-       nextop = cx->blk_eval.retop;
-       break;
-    case CXt_FORMAT:
-       POPFORMAT(cx);
-       nextop = cx->blk_sub.retop;
-       break;
-    default:
-       DIE(aTHX_ "panic: last, type=%u", (unsigned) CxTYPE(cx));
-    }
+    assert(
+           CxTYPE(cx) == CXt_LOOP_LAZYIV
+        || CxTYPE(cx) == CXt_LOOP_LAZYSV
+        || CxTYPE(cx) == CXt_LOOP_FOR
+        || CxTYPE(cx) == CXt_LOOP_PLAIN
+    );
+    newsp = PL_stack_base + cx->blk_loop.resetsp;
+    nextop = cx->blk_loop.my_op->op_lastop->op_next;
 
     TAINT_NOT;
     PL_stack_sp = newsp;
@@ -2638,22 +2547,10 @@ PP(pp_last)
     LEAVE;
     cxstack_ix--;
     /* Stack values are safe: */
-    switch (pop2) {
-    case CXt_LOOP_LAZYIV:
-    case CXt_LOOP_PLAIN:
-    case CXt_LOOP_LAZYSV:
-    case CXt_LOOP_FOR:
-       POPLOOP(cx);    /* release loop vars ... */
-       LEAVE;
-       break;
-    case CXt_SUB:
-       POPSUB(cx,sv);  /* release CV and @_ ... */
-       break;
-    }
+    POPLOOP(cx);       /* release loop vars ... */
+    LEAVE;
     PL_curpm = newpm;  /* ... and pop $1 et al */
 
-    LEAVESUB(sv);
-    PERL_UNUSED_VAR(optype);
     PERL_UNUSED_VAR(gimme);
     return nextop;
 }
@@ -4331,10 +4228,11 @@ PP(pp_leaveeval)
     I32 gimme;
     PERL_CONTEXT *cx;
     OP *retop;
-    const U8 save_flags = PL_op -> op_flags;
     I32 optype;
     SV *namesv;
     CV *evalcv;
+    /* grab this value before POPEVAL restores old PL_in_eval */
+    bool keep = cBOOL(PL_in_eval & EVAL_KEEPERR);
 
     PERL_ASYNC_CHECK();
     POPBLOCK(cx,newpm);
@@ -4366,9 +4264,8 @@ PP(pp_leaveeval)
     }
     else {
        LEAVE_with_name("eval");
-       if (!(save_flags & OPf_SPECIAL)) {
+        if (!keep)
            CLEAR_ERRSV();
-       }
     }
 
     RETURNOP(retop);
@@ -4434,9 +4331,11 @@ PP(pp_leavetry)
     I32 gimme;
     PERL_CONTEXT *cx;
     I32 optype;
+    OP *retop;
 
     PERL_ASYNC_CHECK();
     POPBLOCK(cx,newpm);
+    retop = cx->blk_eval.retop;
     POPEVAL(cx);
     PERL_UNUSED_VAR(optype);
 
@@ -4446,7 +4345,7 @@ PP(pp_leavetry)
 
     LEAVE_with_name("eval_scope");
     CLEAR_ERRSV();
-    RETURN;
+    RETURNOP(retop);
 }
 
 PP(pp_entergiven)
@@ -4599,11 +4498,11 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other, const bool copied)
            RETPUSHYES;
     }
 
-    if (sv_isobject(e) && (SvTYPE(SvRV(e)) != SVt_REGEXP)) {
+    if (SvROK(e) && SvOBJECT(SvRV(e)) && (SvTYPE(SvRV(e)) != SVt_REGEXP)) {
        DEBUG_M(Perl_deb(aTHX_ "    applying rule Any-Object\n"));
        Perl_croak(aTHX_ "Smart matching a non-overloaded object breaks encapsulation");
     }
-    if (sv_isobject(d) && (SvTYPE(SvRV(d)) != SVt_REGEXP))
+    if (SvROK(d) && SvOBJECT(SvRV(d)) && (SvTYPE(SvRV(d)) != SVt_REGEXP))
        object_on_left = TRUE;
 
     /* ~~ sub */
index d56936f..1094510 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2947,8 +2947,12 @@ PP(pp_leavesub)
     PERL_CONTEXT *cx;
     SV *sv;
 
-    if (CxMULTICALL(&cxstack[cxstack_ix]))
+    if (CxMULTICALL(&cxstack[cxstack_ix])) {
+        /* entry zero of a stack is always PL_sv_undef, which
+         * simplifies converting a '()' return into undef in scalar context */
+        assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef);
        return 0;
+    }
 
     POPBLOCK(cx,newpm);
     cxstack_ix++; /* temporarily protect top context */
@@ -3039,8 +3043,6 @@ PP(pp_entersub)
                     SP = PL_stack_base + POPMARK;
                 else
                     (void)POPMARK;
-                if (GIMME_V == G_SCALAR)
-                    PUSHs(&PL_sv_undef);
                 RETURN;
             }
             SvGETMAGIC(sv);
index dd7bc8a..cf1074e 100644 (file)
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -1766,18 +1766,7 @@ S_unpack_rec(pTHX_ tempsym_t* symptr, const char *s, const char *strbeg, const c
                }
                while (cdouble < 0.0)
                    cdouble += anv;
-               cdouble = Perl_modf(cdouble / anv, &trouble);
-#ifdef LONGDOUBLE_DOUBLEDOUBLE
-                /* Workaround for powerpc doubledouble modfl bug:
-                 * close to 1.0L and -1.0L cdouble is 0, and trouble
-                 * is cdouble / anv. */
-                if (trouble != Perl_ceil(trouble)) {
-                  cdouble = trouble;
-                  if (cdouble >  1.0L) cdouble -= 1.0L;
-                  if (cdouble < -1.0L) cdouble += 1.0L;
-                }
-#endif
-                cdouble *= anv;
+               cdouble = Perl_modf(cdouble / anv, &trouble) * anv;
                sv = newSVnv(cdouble);
            }
            else {
@@ -2487,7 +2476,7 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist )
            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 && len > (I32)fromlen) len = fromlen;
            bits = 0;
            l = 0;
            if (datumtype == 'H')
index d21a4ea..be7922f 100644 (file)
--- a/pp_sort.c
+++ b/pp_sort.c
@@ -1661,10 +1661,10 @@ PP(pp_sort)
                SAVESPTR(GvSV(PL_secondgv));
            }
 
+            gimme = G_SCALAR;
            PUSHBLOCK(cx, CXt_NULL, PL_stack_base);
            if (!(flags & OPf_SPECIAL)) {
                cx->cx_type = CXt_SUB;
-               cx->blk_gimme = G_SCALAR;
                /* If our comparison routine is already active (CvDEPTH is
                 * is not 0),  then PUSHSUB does not increase the refcount,
                 * so we have to do it ourselves, because the LEAVESUB fur-
@@ -1771,9 +1771,7 @@ S_sortcv(pTHX_ SV *const a, SV *const b)
     const I32 oldsaveix = PL_savestack_ix;
     const I32 oldscopeix = PL_scopestack_ix;
     I32 result;
-    SV *resultsv;
     PMOP * const pm = PL_curpm;
-    OP * const sortop = PL_op;
     COP * const cop = PL_curcop;
  
     PERL_ARGS_ASSERT_SORTCV;
@@ -1783,21 +1781,12 @@ S_sortcv(pTHX_ SV *const a, SV *const b)
     PL_stack_sp = PL_stack_base;
     PL_op = PL_sortcop;
     CALLRUNOPS(aTHX);
-    PL_op = sortop;
     PL_curcop = cop;
-    if (PL_stack_sp != PL_stack_base + 1) {
-       assert(PL_stack_sp == PL_stack_base);
-       resultsv = &PL_sv_undef;
-    }
-    else resultsv = *PL_stack_sp;
-    if (SvNIOK_nog(resultsv)) result = SvIV(resultsv);
-    else {
-       ENTER;
-       SAVEVPTR(PL_curpad);
-       PL_curpad = 0;
-       result = SvIV(resultsv);
-       LEAVE;
-    }
+    /* entry zero of a stack is always PL_sv_undef, which
+     * simplifies converting a '()' return into undef in scalar context */
+    assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef);
+    result = SvIV(*PL_stack_sp);
+
     while (PL_scopestack_ix > oldscopeix) {
        LEAVE;
     }
@@ -1814,9 +1803,7 @@ S_sortcv_stacked(pTHX_ SV *const a, SV *const b)
     I32 result;
     AV * const av = GvAV(PL_defgv);
     PMOP * const pm = PL_curpm;
-    OP * const sortop = PL_op;
     COP * const cop = PL_curcop;
-    SV **pad;
 
     PERL_ARGS_ASSERT_SORTCV_STACKED;
 
@@ -1845,15 +1832,12 @@ S_sortcv_stacked(pTHX_ SV *const a, SV *const b)
     PL_stack_sp = PL_stack_base;
     PL_op = PL_sortcop;
     CALLRUNOPS(aTHX);
-    PL_op = sortop;
     PL_curcop = cop;
-    pad = PL_curpad; PL_curpad = 0;
-    if (PL_stack_sp != PL_stack_base + 1) {
-       assert(PL_stack_sp == PL_stack_base);
-       result = SvIV(&PL_sv_undef);
-    }
-    else result = SvIV(*PL_stack_sp);
-    PL_curpad = pad;
+    /* entry zero of a stack is always PL_sv_undef, which
+     * simplifies converting a '()' return into undef in scalar context */
+    assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef);
+    result = SvIV(*PL_stack_sp);
+
     while (PL_scopestack_ix > oldscopeix) {
        LEAVE;
     }
@@ -1881,9 +1865,11 @@ S_sortcv_xsub(pTHX_ SV *const a, SV *const b)
     *++SP = b;
     PUTBACK;
     (void)(*CvXSUB(cv))(aTHX_ cv);
-    if (PL_stack_sp != PL_stack_base + 1)
-       Perl_croak(aTHX_ "Sort subroutine didn't return single value");
+    /* entry zero of a stack is always PL_sv_undef, which
+     * simplifies converting a '()' return into undef in scalar context */
+    assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef);
     result = SvIV(*PL_stack_sp);
+
     while (PL_scopestack_ix > oldscopeix) {
        LEAVE;
     }
index 570aaa2..6770063 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -678,6 +678,8 @@ PP(pp_pipe_op)
     GV * const wgv = MUTABLE_GV(POPs);
     GV * const rgv = MUTABLE_GV(POPs);
 
+    assert (isGV_with_GP(rgv));
+    assert (isGV_with_GP(wgv));
     rstio = GvIOn(rgv);
     if (IoIFP(rstio))
        do_close(rgv, FALSE);
@@ -1080,9 +1082,11 @@ PP(pp_dbmopen)
        PUTBACK;
        call_sv(MUTABLE_SV(GvCV(gv)), G_SCALAR);
        SPAGAIN;
+        if (sv_isobject(TOPs))
+            goto retie;
     }
-
-    if (sv_isobject(TOPs)) {
+    else {
+        retie:
        sv_unmagic(MUTABLE_SV(hv), PERL_MAGIC_tied);
        sv_magic(MUTABLE_SV(hv), TOPs, PERL_MAGIC_tied, NULL, 0);
     }
@@ -1433,8 +1437,9 @@ PP(pp_leavewrite)
     I32 gimme;
     PERL_CONTEXT *cx;
     OP *retop;
+    bool is_return = cBOOL(PL_op->op_type == OP_RETURN);
 
-    if (!io || !(ofp = IoOFP(io)))
+    if (is_return || !io || !(ofp = IoOFP(io)))
         goto forget_top;
 
     DEBUG_f(PerlIO_printf(Perl_debug_log, "left=%ld, todo=%ld\n",
@@ -1512,7 +1517,13 @@ PP(pp_leavewrite)
     SP = newsp; /* ignore retval of formline */
     LEAVE;
 
-    if (!io || !(fp = IoOFP(io))) {
+    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
+         * a single undef in both scalar and list contexts
+         */
+       PUSHs(&PL_sv_undef);
+    else if (!io || !(fp = IoOFP(io))) {
        if (io && IoIFP(io))
            report_wrongway_fh(gv, '<');
        else
@@ -2302,10 +2313,22 @@ PP(pp_truncate)
                result = 0;
 #else
            {
-               const int tmpfd = PerlLIO_open(name, O_RDWR);
+                int mode = O_RDWR;
+                int tmpfd;
+
+#if defined(USE_64_BIT_RAWIO) && defined(O_LARGEFILE)
+                mode |= O_LARGEFILE;   /* Transparently largefiley. */
+#endif
+#ifdef O_BINARY
+                /* On open(), the Win32 CRT tries to seek around text
+                 * files using 32-bit offsets, which causes the open()
+                 * to fail on large files, so open in binary mode.
+                 */
+                mode |= O_BINARY;
+#endif
+                tmpfd = PerlLIO_open(name, mode);
 
                if (tmpfd < 0) {
-                    SETERRNO(EBADF,RMS_IFI);
                    result = 0;
                } else {
                    if (my_chsize(tmpfd, len) < 0)
@@ -3575,8 +3598,7 @@ PP(pp_chdir)
         else if (!(gv = MAYBE_DEREF_GV(sv)))
                tmps = SvPV_nomg_const_nolen(sv);
     }
-
-    if( !gv && (!tmps || !*tmps) ) {
+    else {
        HV * const table = GvHVn(PL_envgv);
        SV **svp;
 
@@ -3587,8 +3609,6 @@ PP(pp_chdir)
 #endif
            )
         {
-            if( MAXARG == 1 )
-                deprecate("chdir('') or chdir(undef) as chdir()");
             tmps = SvPV_nolen_const(*svp);
         }
         else {
diff --git a/proto.h b/proto.h
index ab78202..0a33758 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -61,6 +61,13 @@ PERL_CALLCONV bool   Perl__is_utf8_FOO(pTHX_ const U8 classnum, const U8 *p)
 #define PERL_ARGS_ASSERT__IS_UTF8_FOO  \
        assert(p)
 
+PERL_STATIC_INLINE STRLEN      S__is_utf8_char_slow(const U8 *s, const U8 *e)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(1)
+                       __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT__IS_UTF8_CHAR_SLOW    \
+       assert(s); assert(e)
+
 PERL_CALLCONV bool     Perl__is_utf8_idcont(pTHX_ const U8 *p)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
@@ -151,6 +158,11 @@ PERL_CALLCONV SV * Perl_amagic_deref_call(pTHX_ SV *ref, int method)
        assert(ref)
 
 PERL_CALLCONV bool     Perl_amagic_is_enabled(pTHX_ int method);
+PERL_STATIC_INLINE void        S_append_utf8_from_native_byte(const U8 byte, U8** dest)
+                       __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE  \
+       assert(dest)
+
 PERL_CALLCONV I32      Perl_apply(pTHX_ I32 type, SV** mark, SV** sp)
                        __attribute__nonnull__(pTHX_2)
                        __attribute__nonnull__(pTHX_3);
@@ -270,6 +282,12 @@ PERL_CALLCONV SV** Perl_av_store(pTHX_ AV *av, SSize_t key, SV *val)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1); */
 
+PERL_STATIC_INLINE SSize_t     S_av_top_index(pTHX_ AV *av)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_AV_TOP_INDEX  \
+       assert(av)
+
 PERL_CALLCONV void     Perl_av_undef(pTHX_ AV *av)
                        __attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_AV_UNDEF      \
@@ -1862,6 +1880,14 @@ PERL_CALLCONV bool       Perl_is_invariant_string(const U8 *s, STRLEN len)
 PERL_CALLCONV I32      Perl_is_lvalue_sub(pTHX)
                        __attribute__warn_unused_result__;
 
+PERL_STATIC_INLINE bool        S_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_3)
+                       __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_IS_SAFE_SYSCALL       \
+       assert(pv); assert(what); assert(op_name)
+
 PERL_CALLCONV bool     Perl_is_uni_alnum(pTHX_ UV c)
                        __attribute__deprecated__
                        __attribute__warn_unused_result__
@@ -4431,6 +4457,11 @@ PERL_CALLCONV NV Perl_sv_nv(pTHX_ SV* sv)
 #define PERL_ARGS_ASSERT_SV_NV \
        assert(sv)
 
+PERL_STATIC_INLINE bool        S_sv_only_taint_gmagic(SV *sv)
+                       __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC  \
+       assert(sv)
+
 PERL_CALLCONV char*    Perl_sv_peek(pTHX_ SV* sv);
 PERL_CALLCONV void     Perl_sv_pos_b2u(pTHX_ SV *const sv, I32 *const offsetp)
                        __attribute__nonnull__(pTHX_2);
@@ -5415,39 +5446,6 @@ STATIC SV *      S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem)
 
 #  endif
 #endif
-#if !defined(PERL_NO_INLINE_FUNCTIONS)
-PERL_STATIC_INLINE STRLEN      S__is_utf8_char_slow(const U8 *s, const U8 *e)
-                       __attribute__warn_unused_result__
-                       __attribute__nonnull__(1)
-                       __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT__IS_UTF8_CHAR_SLOW    \
-       assert(s); assert(e)
-
-PERL_STATIC_INLINE void        S_append_utf8_from_native_byte(const U8 byte, U8** dest)
-                       __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE  \
-       assert(dest)
-
-PERL_STATIC_INLINE SSize_t     S_av_top_index(pTHX_ AV *av)
-                       __attribute__warn_unused_result__
-                       __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_AV_TOP_INDEX  \
-       assert(av)
-
-PERL_STATIC_INLINE bool        S_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name)
-                       __attribute__warn_unused_result__
-                       __attribute__nonnull__(pTHX_1)
-                       __attribute__nonnull__(pTHX_3)
-                       __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_IS_SAFE_SYSCALL       \
-       assert(pv); assert(what); assert(op_name)
-
-PERL_STATIC_INLINE bool        S_sv_only_taint_gmagic(SV *sv)
-                       __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC  \
-       assert(sv)
-
-#endif
 #if !defined(PERL_NO_UTF16_FILTER)
 #  if defined(PERL_IN_TOKE_C)
 STATIC U8*     S_add_utf16_textfilter(pTHX_ U8 *const s, bool reversed)
@@ -8026,28 +8024,6 @@ STATIC void      S_mem_log_common(enum mem_log_type mlt, const UV n, const UV typesiz
 
 #  endif
 #endif
-#if defined(PERL_MEM_LOG)
-PERL_CALLCONV Malloc_t Perl_mem_log_alloc(const UV nconst, UV typesize, const char *type_name, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname)
-                       __attribute__nonnull__(3)
-                       __attribute__nonnull__(5)
-                       __attribute__nonnull__(7);
-#define PERL_ARGS_ASSERT_MEM_LOG_ALLOC \
-       assert(type_name); assert(filename); assert(funcname)
-
-PERL_CALLCONV Malloc_t Perl_mem_log_free(Malloc_t oldalloc, const char *filename, const int linenumber, const char *funcname)
-                       __attribute__nonnull__(2)
-                       __attribute__nonnull__(4);
-#define PERL_ARGS_ASSERT_MEM_LOG_FREE  \
-       assert(filename); assert(funcname)
-
-PERL_CALLCONV Malloc_t Perl_mem_log_realloc(const UV n, const UV typesize, const char *type_name, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname)
-                       __attribute__nonnull__(3)
-                       __attribute__nonnull__(6)
-                       __attribute__nonnull__(8);
-#define PERL_ARGS_ASSERT_MEM_LOG_REALLOC       \
-       assert(type_name); assert(filename); assert(funcname)
-
-#endif
 #if defined(PERL_OP_PARENT)
 PERL_CALLCONV OP*      Perl_op_parent(OP *o)
                        __attribute__nonnull__(1);
index c464acc..9a10dca 100644 (file)
--- a/reentr.c
+++ b/reentr.c
  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  * This file is built by regen/reentr.pl from data in regen/reentr.pl.
  * Any changes made here will be lost!
- */
-
-/*
+ *
  * "Saruman," I said, standing away from him, "only one hand at a time can
  *  wield the One, and you know that well, so do not trouble to say we!"
  *
- *     [p.260 of _The Lord of the Rings_, II/ii: "The Council of Elrond"]
- */
-
-/*
  * This file contains a collection of automatically created wrappers
  * (created by running reentr.pl) for reentrant (thread-safe) versions of
  * various library calls, such as getpwent_r.  The wrapping is done so
index 27cf8ea..c3e26c3 100644 (file)
 
 /* Generated from:
  * 083180df694deb1fc173361406c1a75619fb8376403db3a76dc585c1e3951eca lib/Unicode/UCD.pm
- * 827aa7ee45ca9fe09f3e0969a5a27a69ce58a6c7134548125266210018d27b49 lib/unicore/ArabicShaping.txt
- * 3748fbbe9d280a9da700bfd0c28beaaf6f32a67ec263a124fcb0a4095a30fae5 lib/unicore/BidiBrackets.txt
- * 3925329c2432fa7248b2e180cddcedb9a4f9eafbbb10ab9e105eaf833043b2fb lib/unicore/BidiMirroring.txt
- * 7f5a1b4a346c6cdbe948d3baf50fc31fff29c26bcd4ad422dc1fbcc1c23b0bde lib/unicore/Blocks.txt
- * 82f3cc8217455f22d294d7df767a62906baf31456ea8902336ae7fee943a2538 lib/unicore/CaseFolding.txt
- * 8be553529f7dd22e3e0ffa25eb3f1743f5243bbfe868559be73bf3a163c21913 lib/unicore/CompositionExclusions.txt
- * ab64278818411762311b9d5974438ac5cf14e98c79b44a6373022f0780de38a7 lib/unicore/DAge.txt
- * f2ff892add5e6624cee8300c297373216df7f1a596c6e74510afe5e8b96c8d91 lib/unicore/DCoreProperties.txt
- * 656aa2c6996a049e84c6d38676bc73c3245c808869d64073b812690ae475d534 lib/unicore/DNormalizationProps.txt
- * e064b066e555cbace95951fcba9b5336a4d04c88c5949a1ff7615190eaa67682 lib/unicore/EastAsianWidth.txt
- * 2aa574984e9cea6980eddd6e36044168d543b7f0449266fa3248aca28790cf06 lib/unicore/HangulSyllableType.txt
- * e7122c4d4d598854b5fbefeb2b1ee9f05aef6a8d6e718b5f56c2a8ea31145f12 lib/unicore/IndicMatraCategory.txt
- * 478ca00ea86b47209f0b27eb3959ad83cb2b76f5159213d242390d07d5af2b8d lib/unicore/IndicSyllabicCategory.txt
- * 0aa8af5cbb4d0570b1006aefffc021c6ef637dffb15572a5a85e7f7e7778fe22 lib/unicore/Jamo.txt
- * 3b359eeff325f7e773ea9d5feb8af053b94c579844f0db7ce648f418c9d136d8 lib/unicore/LineBreak.txt
- * af85d961d0ed6055271ca6e0174451a8dc1822e31de9e07e1246535318b9341a lib/unicore/NameAliases.txt
- * 1c379b9c1b0f6cd14208b766f74fc92ff5a9528aee66083db307f1fc9a615729 lib/unicore/NamedSequences.txt
- * 0df343d93293f14e9ff0b0a721d8b8e6c23c86dbad7be18d362d6bf1281590d9 lib/unicore/PropList.txt
- * 6c14f474761b8db46f95cf2d1e235ce40abf3382226c5b1a2210df83775fe6fa lib/unicore/PropValueAliases.txt
- * 3f3dd77644faa905ce02de7c0e3167fdc4afdf94748f074192bd70821c8341ea lib/unicore/PropertyAliases.txt
- * 2767531dec8c525a317ab488b95eed73461fe9c6fbb8088594f3886964724475 lib/unicore/ScriptExtensions.txt
- * a638f9f0eb3c521ed6c7755fce93c04bf6e4ba89f23ac3d1bd4c4e486c400118 lib/unicore/Scripts.txt
- * 35496d45fc8babd8deb866491ea82ff7b3d2d49ad4c9c656685cd14833101e25 lib/unicore/SpecialCasing.txt
- * bfa3da58ea982199829e1107ac5a9a544b83100470a2d0cc28fb50ec234cb840 lib/unicore/UnicodeData.txt
- * 916289f471c4a337fb1e0715985a11e6bc8bb205736e84164849d601d265d9e0 lib/unicore/auxiliary/GCBTest.txt
- * 3d7ffae56e506d595f3e0e5d36978bc6721d53470e5ca9666ad7cdfc4a46cb3d lib/unicore/auxiliary/GraphemeBreakProperty.txt
- * 370ddf3ba9b337819cf21795c2bd7cda578ac5ff4700d1a3ac923e8be988b57e lib/unicore/auxiliary/SBTest.txt
- * 28356f6912113a9fe8244d9396e9786115dbc10b3ffb5e31b08969122e91d3f3 lib/unicore/auxiliary/SentenceBreakProperty.txt
- * 3f56d3ccfc35c6dac44d143a4d6087af4e4ee9f1bdbae482c12f6149b60dec3b lib/unicore/auxiliary/WBTest.txt
- * 82f7304030e6866ef8e02cdfb0485c52c18a661282bfce9c259cc6300abd79ad lib/unicore/auxiliary/WordBreakProperty.txt
- * b88801b4a469207892a0401697c6b1c5fd64042ae0ef867f4ad0ec04942b415c lib/unicore/extracted/DBidiClass.txt
- * 074d33ea6c7349eab840d690369dffb3568e2f7b039552b7c10480274d321545 lib/unicore/extracted/DBinaryProperties.txt
- * 8ad457aef3525aedce823b9177dad33e0088df536dff11e3df405ecefc92ba08 lib/unicore/extracted/DCombiningClass.txt
- * 59ec46c1e30458ffff50d41196fd45e3bbaf3172a8111117af1b930199be2d96 lib/unicore/extracted/DDecompositionType.txt
- * cf7c07557ae915a7508c6c7fc8c2e8c900782364ec62e8a5d2813f3b97449ee0 lib/unicore/extracted/DEastAsianWidth.txt
- * 56a5b47331a7ec784e848bcaae1ddc08cbf72aab583ca82dcc98ecf2851a3d43 lib/unicore/extracted/DGeneralCategory.txt
- * c14e83161e56eb15d78b1589352d6c0bd8feb7889a5d17f70a2ebb2a43cab86d lib/unicore/extracted/DJoinGroup.txt
- * 8c9405c54d8b1dd3fe2f2d691b30c0816ca15481995152ed07fc9b844dfd0ad4 lib/unicore/extracted/DJoinType.txt
- * a9791f08281d7b0a417e4ad882cf64463f6815db8156932acd85228ac717fd94 lib/unicore/extracted/DLineBreak.txt
- * a17a0330e57d774343a53c019f1bc69827c2676982a1bf48e0898a76710e8877 lib/unicore/extracted/DNumType.txt
- * c2cb810a67cc5fb4a8d236b6c1bc6dd4d89733d8603881997e8aae2c816a3db1 lib/unicore/extracted/DNumValues.txt
- * 808d76136d9952faf581347e9bc040dbab5158f143f243a6de455a4af39b7401 lib/unicore/mktables
- * 746472de66b936ac885ca6d6e68058242b4e909e3260c6317f3ec719f78f76cc lib/unicore/version
- * 3eaedce3745bef6219cff3b5f63e5f8622c58dc66736281a82df991636d54451 regen/regcharclass.pl
+ * ae98bec7e4f0564758eed81eca5015481ba32581f8a735a825b71b3bba714450 lib/unicore/ArabicShaping.txt
+ * 1687fe5994eb7e5c0dab8503fc2a1b3b479d91af9d3b8055941c9bd791f7d0b5 lib/unicore/BidiBrackets.txt
+ * 350d1302116194b0b21def287434b55c5088098fbc726e879f7420a391965643 lib/unicore/BidiMirroring.txt
+ * 288fc7b85c76bda296e296c8465f1f4baeb456cb814430dfaa0f546bfbe86b4a lib/unicore/Blocks.txt
+ * 86e075f2ede997b3fa5965516c75190b5a88bb82d302272d9c3179b7a57af03f lib/unicore/CaseFolding.txt
+ * 2fafee5be73bf2817ee669c53c504a6c4aa02ac7344194af18511aea2e05d750 lib/unicore/CompositionExclusions.txt
+ * 302f6d6171dc9c6165db86d0226b7923a64cea06c493d339d35436bf137606a3 lib/unicore/DAge.txt
+ * ff666dece87dfdbdbf04a2e26a0bfb52c4ba98db1f8965b0b01ddb9e15f97476 lib/unicore/DCoreProperties.txt
+ * 6cc76100d402d7dd12bd769ac61158b91e71aad58c8333abb848f1b9c9fdde2d lib/unicore/DNormalizationProps.txt
+ * ccc571829b384b8a2c24b7a62f8aa6a891a6e8c48f08513ef84fd6da26dba4bb lib/unicore/EastAsianWidth.txt
+ * 2320db06cf88c755ec7b9cfec96dd9e1d774173521dbc3ee7985377c2ab90d32 lib/unicore/HangulSyllableType.txt
+ * e52216b5fdb04910e06e94f01cabdf70656b0077c92b756c7b38822626d572f2 lib/unicore/IndicPositionalCategory.txt
+ * 4db71a39102e173095cb8bda8b4c35e78fe6b365e443c584b19f081d8c4894fc lib/unicore/IndicSyllabicCategory.txt
+ * eeb30346bb545bb45ff16486d9234397bfe1a195bb12b54fc1d9f48f87e8aa5e lib/unicore/Jamo.txt
+ * 13e2b7087bcca3163272e64e34e480534bd2f8353a0245c26e6642566f59a60d lib/unicore/LineBreak.txt
+ * 9bb54cd7b5509779f269fa60341bcbfca8da8f17d3c4999e44a5a51671d3c402 lib/unicore/NameAliases.txt
+ * e4c29d9ceefbe2382af819ac7646265a9e4ea599ce04a90d31bec97cfaa2848f lib/unicore/NamedSequences.txt
+ * 70d40297f1bf91397fbdab5a770c12100733e67c5c3398446c5e950715d5e535 lib/unicore/PropList.txt
+ * 03a440f2a4b9151043a6bb53d4a4e528b73238079f9d686dc2a5846e6895588a lib/unicore/PropValueAliases.txt
+ * 8e8b48c2080d31aa6713f5535aad94a1f7bc9a65cc52563724e5e69b0a3b4196 lib/unicore/PropertyAliases.txt
+ * 45d42b1ecbac2263c1c63c95104e63ea64313eb99be94542e040aea11c449f6c lib/unicore/ScriptExtensions.txt
+ * 79fbd73ad82c30fdb67d36a349d12667bd58d3e9da6a8ce7dd26383b637ba85f lib/unicore/Scripts.txt
+ * fb2025dae3b9b17649b6e379c1cdbddf50641267ca6d2446caeccf4a141fe167 lib/unicore/SpecialCasing.txt
+ * 38b17e1118206489a7e0ab5d29d7932212d38838df7d3ec025ecb58e8798ec20 lib/unicore/UnicodeData.txt
+ * 0cedd6e0f5cadf57ce9cfc96beccfd083b0faa0809a631a777cd25f0316bfabb lib/unicore/auxiliary/GCBTest.txt
+ * 230005412f9a47128e37bc52330766aaa0b5522a53737a89cff66e891e14527a lib/unicore/auxiliary/GraphemeBreakProperty.txt
+ * 41bf82452d71ce15eda8c9bb1bb0c20b72205acaaf503e3cb84734ed8e85d33a lib/unicore/auxiliary/SBTest.txt
+ * d3b45cdb0a73eeb9d25158336583dfc1e6f64da59537acb0008988b40e6b3b63 lib/unicore/auxiliary/SentenceBreakProperty.txt
+ * a661f42a54f7cc4dded72a61c508be2b482f912d4b6cf140335010f0c684dbb9 lib/unicore/auxiliary/WBTest.txt
+ * c255bd2e1f163373510679bf4b272eee97b635bfce2a6550d6c10fe5c917f01a lib/unicore/auxiliary/WordBreakProperty.txt
+ * 16dac6f1c164a4f52741b71221a8aafb6acb52cd8a436af139da6e93d86efdfb lib/unicore/extracted/DBidiClass.txt
+ * c4e78efc041668548117f7462af03b28dfbb2caca5d46a1ae78ae0ce0bb26c4a lib/unicore/extracted/DBinaryProperties.txt
+ * 5886bb44aae8f2821663f742793cb91d4ed0923c6840f3bfb73530e37030abf8 lib/unicore/extracted/DCombiningClass.txt
+ * 9edba3785ed0e6e46e10f67e2dd0ec3cb0799b7f75f526fe918429576060352e lib/unicore/extracted/DDecompositionType.txt
+ * b774387f79b27ae4268ae89450f971408dc9bbbb523426482ab4375c962bd922 lib/unicore/extracted/DEastAsianWidth.txt
+ * ba4207d2464077e807b20caf063041142afc0a8a38c328c5c23b3417c9f2da33 lib/unicore/extracted/DGeneralCategory.txt
+ * 29fdd151266595eb1b37715937afe0727bb632a2bc1130f0d2314040175df82e lib/unicore/extracted/DJoinGroup.txt
+ * 7725fe247da06986e43e89fd316b8b22a0619546d0c1ed499a94b25e9164c150 lib/unicore/extracted/DJoinType.txt
+ * 1a0687fb9c6c4567e853913549df0944fe40821279a3e9cdaa6ab8679bc286fd lib/unicore/extracted/DLineBreak.txt
+ * 40bcfed3ca727c19e1331f6c33806231d5f7eeeabd2e6a9e06a3740c85d0c250 lib/unicore/extracted/DNumType.txt
+ * a18d502bad39d527ac5586d7bc93e29f565859e3bcc24ada627eff606d6f5fed lib/unicore/extracted/DNumValues.txt
+ * c9326eab8d7861c3543963e555d5b927348f4467c93071db23154dece7619654 lib/unicore/mktables
+ * 462c9aaa608fb2014cd9649af1c5c009485c60b9c8b15b89401fdc10cf6161c6 lib/unicore/version
+ * c6884f4d629f04d1316f3476cb1050b6a1b98ca30c903262955d4eae337c6b1e regen/charset_translations.pl
+ * 1c951614c1cf87c2a801c615a65470d8f5e9388b62690e7498c7661eb7782a01 regen/regcharclass.pl
+ * 206b60035ff0cec9f7d1701937ecf9226a943faa42dfc4827c37306be64ff18e regen/regcharclass_multi_char_folds.pl
  * ex: set ro: */
index 9332dea..4a37b6a 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -808,9 +808,6 @@ static const scan_data_t zero_scan_data =
             if (RExC_seen & REG_GPOS_SEEN)                                  \
                 PerlIO_printf(Perl_debug_log,"REG_GPOS_SEEN ");             \
                                                                             \
-            if (RExC_seen & REG_CANY_SEEN)                                  \
-                PerlIO_printf(Perl_debug_log,"REG_CANY_SEEN ");             \
-                                                                            \
             if (RExC_seen & REG_RECURSE_SEEN)                               \
                 PerlIO_printf(Perl_debug_log,"REG_RECURSE_SEEN ");          \
                                                                             \
@@ -1173,23 +1170,14 @@ S_get_ANYOF_cp_list_for_ssc(pTHX_ const RExC_state_t *pRExC_state,
     /* Add in the points from the bit map */
     for (i = 0; i < NUM_ANYOF_CODE_POINTS; i++) {
         if (ANYOF_BITMAP_TEST(node, i)) {
-            unsigned int start = i++;
-
-            for (; i < NUM_ANYOF_CODE_POINTS && ANYOF_BITMAP_TEST(node, i); ++i) {
-                /* empty */
-            }
-            invlist = _add_range_to_invlist(invlist, start, i-1);
+            invlist = add_cp_to_invlist(invlist, i);
             new_node_has_latin1 = TRUE;
         }
     }
 
     /* If this can match all upper Latin1 code points, have to add them
-     * as well.  But don't add them if inverting, as when that gets done below,
-     * it would exclude all these characters, including the ones it shouldn't
-     * that were added just above */
-    if ((ANYOF_FLAGS(node) & (ANYOF_INVERT|ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII))
-           == ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII)
-    {
+     * as well */
+    if (ANYOF_FLAGS(node) & ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII) {
         _invlist_union(invlist, PL_UpperLatin1, &invlist);
     }
 
@@ -2236,8 +2224,8 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch,
 
     for ( cur = first ; cur < last ; cur = regnext( cur ) ) {
         regnode *noper = NEXTOPER( cur );
-        const U8 *uc;
-        const U8 *e;
+        const U8 *uc = (U8*)STRING( noper );
+        const U8 *e  = uc + STR_LEN( noper );
         int foldlen = 0;
         U32 wordlen      = 0;         /* required init */
         STRLEN minchars = 0;
@@ -2247,19 +2235,17 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch,
 
         if (OP(noper) == NOTHING) {
             regnode *noper_next= regnext(noper);
-            if (noper_next < tail)
-                noper= noper_next;
-        }
-
-        if ( noper < tail && ( OP(noper) == flags || ( flags == EXACTFU && OP(noper) == EXACTFU_SS ) ) ) {
-            uc= (U8*)STRING(noper);
-            e= uc + STR_LEN(noper);
-        } else {
-            trie->minlen= 0;
-            continue;
+            if (noper_next != tail && OP(noper_next) == flags) {
+                noper = noper_next;
+                uc= (U8*)STRING(noper);
+                e= uc + STR_LEN(noper);
+               trie->minlen= STR_LEN(noper);
+            } else {
+               trie->minlen= 0;
+               continue;
+           }
         }
 
-
         if ( set_bit ) { /* bitmap only alloced when !(UTF&&Folding) */
             TRIE_BITMAP_SET(trie,*uc); /* store the raw first byte
                                           regardless of encoding */
@@ -2465,20 +2451,22 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch,
         for ( cur = first ; cur < last ; cur = regnext( cur ) ) {
 
             regnode *noper   = NEXTOPER( cur );
+           U8 *uc           = (U8*)STRING( noper );
+            const U8 *e      = uc + STR_LEN( noper );
            U32 state        = 1;         /* required init */
            U16 charid       = 0;         /* sanity init */
             U32 wordlen      = 0;         /* required init */
 
             if (OP(noper) == NOTHING) {
                 regnode *noper_next= regnext(noper);
-                if (noper_next < tail)
-                    noper= noper_next;
+                if (noper_next != tail && OP(noper_next) == flags) {
+                    noper = noper_next;
+                    uc= (U8*)STRING(noper);
+                    e= uc + STR_LEN(noper);
+                }
             }
 
-            if ( noper < tail && ( OP(noper) == flags || ( flags == EXACTFU && OP(noper) == EXACTFU_SS ) ) ) {
-                const U8 *uc= (U8*)STRING(noper);
-                const U8 *e= uc + STR_LEN(noper);
-
+            if (OP(noper) != NOTHING) {
                 for ( ; uc < e ; uc += len ) {
 
                     TRIE_READ_CHAR;
@@ -2682,6 +2670,8 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch,
         for ( cur = first ; cur < last ; cur = regnext( cur ) ) {
 
             regnode *noper   = NEXTOPER( cur );
+           const U8 *uc     = (U8*)STRING( noper );
+            const U8 *e      = uc + STR_LEN( noper );
 
             U32 state        = 1;         /* required init */
 
@@ -2692,14 +2682,14 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch,
 
             if (OP(noper) == NOTHING) {
                 regnode *noper_next= regnext(noper);
-                if (noper_next < tail)
-                    noper= noper_next;
+                if (noper_next != tail && OP(noper_next) == flags) {
+                    noper = noper_next;
+                    uc= (U8*)STRING(noper);
+                    e= uc + STR_LEN(noper);
+                }
             }
 
-            if ( noper < tail && ( OP(noper) == flags || ( flags == EXACTFU && OP(noper) == EXACTFU_SS ) ) ) {
-                const U8 *uc= (U8*)STRING(noper);
-                const U8 *e= uc + STR_LEN(noper);
-
+            if ( OP(noper) != NOTHING ) {
                 for ( ; uc < e ; uc += len ) {
 
                     TRIE_READ_CHAR;
@@ -4195,8 +4185,8 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
                             U8 noper_trietype = TRIE_TYPE( noper_type );
 #if defined(DEBUGGING) || defined(NOJUMPTRIE)
                             regnode * const noper_next = regnext( noper );
-                            U8 noper_next_type = (noper_next && noper_next < tail) ? OP(noper_next) : 0;
-                            U8 noper_next_trietype = (noper_next && noper_next < tail) ? TRIE_TYPE( noper_next_type ) :0;
+                           U8 noper_next_type = (noper_next && noper_next != tail) ? OP(noper_next) : 0;
+                           U8 noper_next_trietype = (noper_next && noper_next != tail) ? TRIE_TYPE( noper_next_type ) :0;
 #endif
 
                             DEBUG_TRIE_COMPILE_r({
@@ -4224,7 +4214,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
                             if ( noper_trietype
                                   &&
                                   (
-                                        ( noper_trietype == NOTHING )
+                                        ( noper_trietype == NOTHING)
                                         || ( trietype == NOTHING )
                                         || ( trietype == noper_trietype )
                                   )
@@ -4242,7 +4232,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
                                    if ( noper_trietype == NOTHING ) {
 #if !defined(DEBUGGING) && !defined(NOJUMPTRIE)
                                        regnode * const noper_next = regnext( noper );
-                                        U8 noper_next_type = (noper_next && noper_next < tail) ? OP(noper_next) : 0;
+                                        U8 noper_next_type = (noper_next && noper_next!=tail) ? OP(noper_next) : 0;
                                        U8 noper_next_trietype = noper_next_type ? TRIE_TYPE( noper_next_type ) :0;
 #endif
 
@@ -5076,7 +5066,6 @@ PerlIO_printf(Perl_debug_log, "LHS=%"UVuf" RHS=%"UVuf"\n",
                    Perl_croak(aTHX_ "panic: unexpected simple REx opcode %d",
                                                                      OP(scan));
 #endif
-               case CANY:
                case SANY:
                    if (flags & SCF_DO_STCLASS_OR) /* Allow everything */
                        ssc_match_all_cp(data->start_class);
@@ -7295,8 +7284,6 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
                                                 lookbehind */
     if (pRExC_state->num_code_blocks)
        r->extflags |= RXf_EVAL_SEEN;
-    if (RExC_seen & REG_CANY_SEEN)
-        r->intflags |= PREGf_CANY_SEEN;
     if (RExC_seen & REG_VERBARG_SEEN)
     {
        r->intflags |= PREGf_VERBARG_SEEN;
@@ -7708,13 +7695,8 @@ Perl_reg_numbered_buff_fetch(pTHX_ REGEXP * const r, const I32 paren,
         sv_setpvn(sv, s, i);
         TAINT_set(oldtainted);
 #endif
-        if ( (rx->intflags & PREGf_CANY_SEEN)
-            ? (RXp_MATCH_UTF8(rx)
-                        && (!i || is_utf8_string((U8*)s, i)))
-            : (RXp_MATCH_UTF8(rx)) )
-        {
+        if (RXp_MATCH_UTF8(rx))
             SvUTF8_on(sv);
-        }
         else
             SvUTF8_off(sv);
         if (TAINTING_get) {
@@ -9733,7 +9715,9 @@ S_parse_lparen_question_flags(pTHX_ RExC_state_t *pRExC_state)
         ++RExC_parse;
     }
 
-    vFAIL("Sequence (?... not terminated");
+    if (PASS2) {
+        STD_PMMOD_FLAGS_PARSE_X_WARN(x_mod_count);
+    }
 }
 
 /*
@@ -10883,13 +10867,18 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                 ret = reg_node(pRExC_state, OPFAIL);
                 return ret;
             }
-            else if (min == max && RExC_parse < RExC_end && *RExC_parse == '?')
+            else if (min == max
+                     && RExC_parse < RExC_end
+                     && (*RExC_parse == '?' || *RExC_parse == '+'))
             {
                 if (PASS2) {
                     ckWARN2reg(RExC_parse + 1,
                                "Useless use of greediness modifier '%c'",
                                *RExC_parse);
                 }
+                /* Absorb the modifier, so later code doesn't see nor use
+                    * it */
+                nextchar(pRExC_state);
             }
 
          do_curly:
@@ -11807,13 +11796,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
            RExC_seen_zerolen++;                /* Do not optimize RE away */
            goto finish_meta_pat;
        case 'C':
-           ret = reg_node(pRExC_state, CANY);
-            RExC_seen |= REG_CANY_SEEN;
-           *flagp |= HASWIDTH|SIMPLE;
-            if (PASS2) {
-                ckWARNdep(RExC_parse+1, "\\C is deprecated");
-            }
-           goto finish_meta_pat;
+           vFAIL("\\C no longer supported");
        case 'X':
            ret = reg_node(pRExC_state, CLUMP);
            *flagp |= HASWIDTH;
@@ -13360,10 +13343,6 @@ S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist,
                      * default: case next time and keep on incrementing until
                      * we find one of the invariants we do handle. */
                     RExC_parse++;
-                    if (*RExC_parse == 'c') {
-                            /* Skip the \cX notation for control characters */
-                            RExC_parse++;
-                    }
                     break;
                 case '[':
                 {
@@ -13442,8 +13421,7 @@ S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist,
      * a stack.  Each entry on the stack is a single character representing one
      * of the operators; or else a pointer to an operand inversion list. */
 
-#define IS_OPERATOR(a) SvIOK(a)
-#define IS_OPERAND(a)  (! IS_OPERATOR(a))
+#define IS_OPERAND(a)  (! SvIOK(a))
 
     /* The stack is kept in Łukasiewicz order.  (That's pronounced similar
      * to luke-a-shave-itch (or -itz), but people who didn't want to bother
@@ -13615,14 +13593,13 @@ redo_curchar:
                     /* If the top entry on the stack is an operator, it had
                      * better be a '!', otherwise the entry below the top
                      * operand should be an operator */
-                    if (   ! (top_ptr = av_fetch(stack, top_index, FALSE))
-                        || (IS_OPERATOR(*top_ptr) && SvUV(*top_ptr) != '!')
-                        || (   IS_OPERAND(*top_ptr)
-                            && (   top_index - fence < 1
-                                || ! (stacked_ptr = av_fetch(stack,
-                                                             top_index - 1,
-                                                             FALSE))
-                                || ! IS_OPERATOR(*stacked_ptr))))
+                    if ( ! (top_ptr = av_fetch(stack, top_index, FALSE))
+                        || (! IS_OPERAND(*top_ptr) && SvUV(*top_ptr) != '!')
+                        || top_index - fence < 1
+                        || ! (stacked_ptr = av_fetch(stack,
+                                                     top_index - 1,
+                                                     FALSE))
+                        || IS_OPERAND(*stacked_ptr))
                     {
                         RExC_parse++;
                         vFAIL("Unexpected '(' with no preceding operator");
@@ -13720,12 +13697,8 @@ redo_curchar:
                 /* Having gotten rid of the fence, we pop the operand at the
                  * stack top and process it as a newly encountered operand */
                 current = av_pop(stack);
-                if (IS_OPERAND(current)) {
-                    goto handle_operand;
-                }
-
-                RExC_parse++;
-                goto bad_syntax;
+                assert(IS_OPERAND(current));
+                goto handle_operand;
 
             case '&':
             case '|':
@@ -13801,23 +13774,11 @@ redo_curchar:
                 /* Here, the new operator has equal or lower precedence than
                  * what's already there.  This means the operation already
                  * there should be performed now, before the new one. */
-
                 rhs = av_pop(stack);
-                if (! IS_OPERAND(rhs)) {
-
-                    /* This can happen when a ! is not followed by an operand,
-                     * like in /(?[\t &!])/ */
-                    goto bad_syntax;
-                }
-
                 lhs = av_pop(stack);
 
-                if (! IS_OPERAND(lhs)) {
-
-                    /* This can happen when there is an empty (), like in
-                     * /(?[[0]+()+])/ */
-                    goto bad_syntax;
-                }
+                assert(IS_OPERAND(rhs));
+                assert(IS_OPERAND(lhs));
 
                 switch (stacked_operator) {
                     case '&':
@@ -13863,20 +13824,9 @@ redo_curchar:
                 av_push(stack, rhs);
                 goto redo_curchar;
 
-            case '!':   /* Highest priority, right associative */
-
-                /* If what's already at the top of the stack is another '!",
-                 * they just cancel each other out */
-                if (   (top_ptr = av_fetch(stack, top_index, FALSE))
-                    && (IS_OPERATOR(*top_ptr) && SvUV(*top_ptr) == '!'))
-                {
-                    only_to_avoid_leaks = av_pop(stack);
-                    SvREFCNT_dec(only_to_avoid_leaks);
-                }
-                else { /* Otherwise, since it's right associative, just push
-                          onto the stack */
-                    av_push(stack, newSVuv(curchar));
-                }
+            case '!':   /* Highest priority, right associative, so just push
+                           onto stack */
+                av_push(stack, newSVuv(curchar));
                 break;
 
             default:
@@ -13896,7 +13846,7 @@ redo_curchar:
                  * be an operator */
                 top_ptr = av_fetch(stack, top_index, FALSE);
                 assert(top_ptr);
-                if (IS_OPERATOR(*top_ptr)) {
+                if (! IS_OPERAND(*top_ptr)) {
 
                     /* The only permissible operator at the top of the stack is
                      * '!', which is applied immediately to this operand. */
@@ -13948,10 +13898,8 @@ redo_curchar:
     if (av_tindex(stack) < 0   /* Was empty */
         || ((final = av_pop(stack)) == NULL)
         || ! IS_OPERAND(final)
-        || SvTYPE(final) != SVt_INVLIST
         || av_tindex(stack) >= 0)  /* More left on stack */
     {
-      bad_syntax:
         SvREFCNT_dec(final);
         vFAIL("Incomplete expression within '(?[ ])'");
     }
@@ -14014,7 +13962,6 @@ redo_curchar:
     Set_Node_Length(node, RExC_parse - oregcomp_parse + 1); /* MJD */
     return node;
 }
-#undef IS_OPERATOR
 #undef IS_OPERAND
 
 STATIC void
@@ -14363,11 +14310,6 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
         }
         else if (value == '\\') {
             /* Is a backslash; get the code point of the char after it */
-
-            if (RExC_parse >= RExC_end) {
-                vFAIL("Unmatched [");
-            }
-
            if (UTF && ! UTF8_IS_INVARIANT(UCHARAT(RExC_parse))) {
                value = utf8n_to_uvchr((U8*)RExC_parse,
                                   RExC_end - RExC_parse,
index f418086..897d35b 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
 #define PREGf_USE_RE_EVAL      0x00000020 /* compiled with "use re 'eval'" */
 /* these used to be extflags, but are now intflags */
 #define PREGf_NOSCAN            0x00000040
-#define PREGf_CANY_SEEN         0x00000080
+                                /* spare */
 #define PREGf_GPOS_SEEN         0x00000100
 #define PREGf_GPOS_FLOAT        0x00000200
 
@@ -597,7 +597,6 @@ struct regnode_ssc {
 #define REG_LOOKBEHIND_SEEN                 0x00000002
 #define REG_GPOS_SEEN                       0x00000004
 /* spare */
-#define REG_CANY_SEEN                       0x00000010
 #define REG_RECURSE_SEEN                    0x00000020
 #define REG_TOP_LEVEL_BRANCHES_SEEN         0x00000040
 #define REG_VERBARG_SEEN                    0x00000080
index f79b874..ffcb53b 100644 (file)
@@ -56,7 +56,6 @@ NBOUNDA     NBOUND,     no        ; Match "" betweeen any \w\w or \W\W, where \w
 #* [Special] alternatives:
 REG_ANY     REG_ANY,    no 0 S    ; Match any one character (except newline).
 SANY        REG_ANY,    no 0 S    ; Match any one character.
-CANY        REG_ANY,    no 0 S    ; Match any one byte.
 ANYOF       ANYOF,      sv 1 S    ; Match character in (or not in) this class, single char match only
 ANYOFL      ANYOF,      sv 1 S    ; Like ANYOF, but /l is in effect
 
index 6733e3c..115c5a5 100755 (executable)
@@ -59,6 +59,8 @@ my %feature_bundle = (
                    evalbytes current_sub fc)],
     "5.21"   =>        [qw(say state switch unicode_strings unicode_eval
                    evalbytes current_sub fc)],
+    "5.23"   =>        [qw(say state switch unicode_strings unicode_eval
+                   evalbytes current_sub fc)],
 );
 
 # not actually used currently
@@ -365,7 +367,7 @@ read_only_bottom_close_and_rename($h);
 __END__
 package feature;
 
-our $VERSION = '1.40';
+our $VERSION = '1.41';
 
 FEATURES
 
@@ -720,7 +722,7 @@ bundle is automatically loaded instead.
 =cut
 
 sub import {
-    my $class = shift;
+    shift;
 
     if (!@_) {
         croak("No features specified");
@@ -730,7 +732,7 @@ sub import {
 }
 
 sub unimport {
-    my $class = shift;
+    shift;
 
     # A bare C<no feature> should reset to the default bundle
     if (!@_) {
index 48215c4..42f5b1c 100644 (file)
@@ -788,7 +788,10 @@ for my $charset (get_supported_code_pages()) {
 }
 
 my $sources_list = "lib/unicore/mktables.lst";
-my @sources = ($0, qw(lib/unicore/mktables lib/Unicode/UCD.pm));
+my @sources = ($0, qw(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.
index 3a0afaf..f22f085 100644 (file)
@@ -748,16 +748,10 @@ read_only_bottom_close_and_rename($h);
 # Prepare to write the reentr.c.
 
 my $c = open_print_header('reentr.c', <<'EOQ');
- */
-
-/*
+ *
  * "Saruman," I said, standing away from him, "only one hand at a time can
  *  wield the One, and you know that well, so do not trouble to say we!"
  *
- *     [p.260 of _The Lord of the Rings_, II/ii: "The Council of Elrond"]
- */
-
-/*
  * This file contains a collection of automatically created wrappers
  * (created by running reentr.pl) for reentrant (thread-safe) versions of
  * various library calls, such as getpwent_r.  The wrapping is done so
index 0e12d8e..9b989df 100755 (executable)
@@ -1458,7 +1458,11 @@ EOF
     } else {
         # Some of the sources for these macros come from Unicode tables
         my $sources_list = "lib/unicore/mktables.lst";
-        my @sources = ($0, qw(lib/unicore/mktables lib/Unicode/UCD.pm));
+        my @sources = ($0, qw(lib/unicore/mktables
+                              lib/Unicode/UCD.pm
+                              regen/regcharclass_multi_char_folds.pl
+                              regen/charset_translations.pl
+                             ));
         {
             # Depend on mktables’ own sources.  It’s a shorter list of files than
             # those that Unicode::UCD uses.
index 694cb03..be33087 100644 (file)
@@ -16,7 +16,7 @@
 #
 # This script is normally invoked from regen.pl.
 
-$VERSION = '1.34';
+$VERSION = '1.03';
 
 BEGIN {
     require 'regen/regen_lib.pl';
@@ -418,13 +418,6 @@ EOM
 }
 
 while (<DATA>) {
-    last if /^VERSION$/ ;
-    print $pm $_ ;
-}
-
-print $pm qq(our \$VERSION = "$::VERSION";\n);
-
-while (<DATA>) {
     last if /^KEYWORDS$/ ;
     print $pm $_ ;
 }
@@ -490,7 +483,7 @@ read_only_bottom_close_and_rename($pm);
 __END__
 package warnings;
 
-VERSION
+our $VERSION = '1.32';
 
 # Verify that we're called correctly so that warnings will work.
 # see also strict.pm.
@@ -1148,10 +1141,8 @@ this snippet of code:
     package MyMod::Abc;
 
     sub open {
-        if (warnings::enabled("deprecated")) {
-            warnings::warn("deprecated",
-                           "open is deprecated, use new instead");
-        }
+        warnings::warnif("deprecated",
+                         "open is deprecated, use new instead");
         new(@_);
     }
 
index e38c6ca..eaa60bd 100644 (file)
--- a/regexec.c
+++ b/regexec.c
@@ -770,9 +770,7 @@ Perl_re_intuit_start(pTHX_
              * caller will have set strpos=pos()-4; we look for the substr
              * at position pos()-4+1, which lines up with the "a" */
 
-           if (prog->check_offset_min == prog->check_offset_max
-                && !(prog->intflags & PREGf_CANY_SEEN))
-            {
+           if (prog->check_offset_min == prog->check_offset_max) {
                /* Substring at constant offset from beg-of-str... */
                SSize_t slen = SvCUR(check);
                 char *s = HOP3c(strpos, prog->check_offset_min, strend);
@@ -863,17 +861,10 @@ Perl_re_intuit_start(pTHX_
                 (IV)prog->check_end_shift);
         });
         
-        if (prog->intflags & PREGf_CANY_SEEN) {
-            start_point= (U8*)(rx_origin + start_shift);
-            end_point= (U8*)(strend - end_shift);
-            if (start_point > end_point)
-                goto fail_finish;
-        } else {
-            end_point = HOP3(strend, -end_shift, strbeg);
-           start_point = HOPMAYBE3(rx_origin, start_shift, end_point);
-            if (!start_point)
-                goto fail_finish;
-       }
+        end_point = HOP3(strend, -end_shift, strbeg);
+        start_point = HOPMAYBE3(rx_origin, start_shift, end_point);
+        if (!start_point)
+            goto fail_finish;
 
 
         /* If the regex is absolutely anchored to either the start of the
@@ -1841,14 +1832,6 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
             REXEC_FBC_CLASS_SCAN(REGINCLASS(prog, c, (U8*)s));
         }
         break;
-    case CANY:
-        REXEC_FBC_SCAN(
-            if (tmp && (reginfo->intuit || regtry(reginfo, &s)))
-                goto got_it;
-            else
-                tmp = doevery;
-        );
-        break;
 
     case EXACTFA_NO_TRIE:   /* This node only generated for non-utf8 patterns */
         assert(! is_utf8_pat);
@@ -2073,17 +2056,14 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
                 FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8);
                 break;
             case GCB_BOUND:
-                if (s == reginfo->strbeg) {
-                    if (reginfo->intuit || regtry(reginfo, &s))
+                if (s == reginfo->strbeg) { /* GCB always matches at begin and
+                                               end */
+                    if (to_complement ^ cBOOL(reginfo->intuit
+                                                      || regtry(reginfo, &s)))
                     {
                         goto got_it;
                     }
-
-                    /* Didn't match.  Try at the next position (if there is one) */
                     s += (utf8_target) ? UTF8SKIP(s) : 1;
-                    if (UNLIKELY(s >= reginfo->strend)) {
-                        break;
-                    }
                 }
 
                 if (utf8_target) {
@@ -2094,42 +2074,44 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
                     while (s < strend) {
                         GCB_enum after = getGCB_VAL_UTF8((U8*) s,
                                                         (U8*) reginfo->strend);
-                        if (   (to_complement ^ isGCB(before, after))
-                            && (reginfo->intuit || regtry(reginfo, &s)))
-                        {
-                            goto got_it;
+                        if (to_complement ^ isGCB(before, after)) {
+                            if (reginfo->intuit || regtry(reginfo, &s)) {
+                                goto got_it;
+                            }
+                            before = after;
                         }
-                        before = after;
                         s += UTF8SKIP(s);
                     }
                 }
                 else {  /* Not utf8.  Everything is a GCB except between CR and
                            LF */
                     while (s < strend) {
-                        if ((to_complement ^ (   UCHARAT(s - 1) != '\r'
-                                              || UCHARAT(s) != '\n'))
-                            && (reginfo->intuit || regtry(reginfo, &s)))
+                        if (to_complement ^ (UCHARAT(s - 1) != '\r'
+                                             || UCHARAT(s) != '\n'))
                         {
-                            goto got_it;
+                            if (reginfo->intuit || regtry(reginfo, &s)) {
+                                goto got_it;
+                            }
+                            s++;
                         }
-                        s++;
                     }
                 }
 
-                if ((reginfo->intuit || regtry(reginfo, &s))) {
+                if (to_complement ^ cBOOL(reginfo->intuit || regtry(reginfo, &s))) {
                     goto got_it;
                 }
                 break;
 
             case SB_BOUND:
-                if (s == reginfo->strbeg) {
-                    if (reginfo->intuit || regtry(reginfo, &s)) {
+                if (s == reginfo->strbeg) { /* SB always matches at beginning */
+                    if (to_complement
+                                ^ cBOOL(reginfo->intuit || regtry(reginfo, &s)))
+                    {
                         goto got_it;
                     }
+
+                    /* Didn't match.  Go try at the next position */
                     s += (utf8_target) ? UTF8SKIP(s) : 1;
-                    if (UNLIKELY(s >= reginfo->strend)) {
-                        break;
-                    }
                 }
 
                 if (utf8_target) {
@@ -2140,17 +2122,18 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
                     while (s < strend) {
                         SB_enum after = getSB_VAL_UTF8((U8*) s,
                                                          (U8*) reginfo->strend);
-                        if ((to_complement ^ isSB(before,
-                                                  after,
-                                                  (U8*) reginfo->strbeg,
-                                                  (U8*) s,
-                                                  (U8*) reginfo->strend,
-                                                  utf8_target))
-                            && (reginfo->intuit || regtry(reginfo, &s)))
+                        if (to_complement ^ isSB(before,
+                                                 after,
+                                                 (U8*) reginfo->strbeg,
+                                                 (U8*) s,
+                                                 (U8*) reginfo->strend,
+                                                 utf8_target))
                         {
-                            goto got_it;
+                            if (reginfo->intuit || regtry(reginfo, &s)) {
+                                goto got_it;
+                            }
+                            before = after;
                         }
-                        before = after;
                         s += UTF8SKIP(s);
                     }
                 }
@@ -2158,17 +2141,18 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
                     SB_enum before = getSB_VAL_CP((U8) *(s -1));
                     while (s < strend) {
                         SB_enum after = getSB_VAL_CP((U8) *s);
-                        if ((to_complement ^ isSB(before,
-                                                  after,
-                                                  (U8*) reginfo->strbeg,
-                                                  (U8*) s,
-                                                  (U8*) reginfo->strend,
-                                                  utf8_target))
-                            && (reginfo->intuit || regtry(reginfo, &s)))
+                        if (to_complement ^ isSB(before,
+                                                 after,
+                                                 (U8*) reginfo->strbeg,
+                                                 (U8*) s,
+                                                 (U8*) reginfo->strend,
+                                                 utf8_target))
                         {
-                            goto got_it;
+                            if (reginfo->intuit || regtry(reginfo, &s)) {
+                                goto got_it;
+                            }
+                            before = after;
                         }
-                        before = after;
                         s++;
                     }
                 }
@@ -2176,7 +2160,9 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
                 /* Here are at the final position in the target string.  The SB
                  * value is always true here, so matches, depending on other
                  * constraints */
-                if (reginfo->intuit || regtry(reginfo, &s)) {
+                if (to_complement ^ cBOOL(reginfo->intuit
+                                                      || regtry(reginfo, &s)))
+                {
                     goto got_it;
                 }
 
@@ -2184,13 +2170,12 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
 
             case WB_BOUND:
                 if (s == reginfo->strbeg) {
-                    if (reginfo->intuit || regtry(reginfo, &s)) {
+                    if (to_complement ^ cBOOL(reginfo->intuit
+                                              || regtry(reginfo, &s)))
+                    {
                         goto got_it;
                     }
                     s += (utf8_target) ? UTF8SKIP(s) : 1;
-                    if (UNLIKELY(s >= reginfo->strend)) {
-                        break;
-                    }
                 }
 
                 if (utf8_target) {
@@ -2208,19 +2193,20 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
                     while (s < strend) {
                         WB_enum after = getWB_VAL_UTF8((U8*) s,
                                                         (U8*) reginfo->strend);
-                        if ((to_complement ^ isWB(previous,
-                                                  before,
-                                                  after,
-                                                  (U8*) reginfo->strbeg,
-                                                  (U8*) s,
-                                                  (U8*) reginfo->strend,
-                                                  utf8_target))
-                            && (reginfo->intuit || regtry(reginfo, &s)))
+                        if (to_complement ^ isWB(previous,
+                                                 before,
+                                                 after,
+                                                 (U8*) reginfo->strbeg,
+                                                 (U8*) s,
+                                                 (U8*) reginfo->strend,
+                                                 utf8_target))
                         {
-                            goto got_it;
+                            if (reginfo->intuit || regtry(reginfo, &s)) {
+                                goto got_it;
+                            }
+                            previous = before;
+                            before = after;
                         }
-                        previous = before;
-                        before = after;
                         s += UTF8SKIP(s);
                     }
                 }
@@ -2229,24 +2215,27 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
                     WB_enum before = getWB_VAL_CP((U8) *(s -1));
                     while (s < strend) {
                         WB_enum after = getWB_VAL_CP((U8) *s);
-                        if ((to_complement ^ isWB(previous,
-                                                  before,
-                                                  after,
-                                                  (U8*) reginfo->strbeg,
-                                                  (U8*) s,
-                                                  (U8*) reginfo->strend,
-                                                  utf8_target))
-                            && (reginfo->intuit || regtry(reginfo, &s)))
+                        if (to_complement ^ isWB(previous,
+                                                 before,
+                                                 after,
+                                                 (U8*) reginfo->strbeg,
+                                                 (U8*) s,
+                                                 (U8*) reginfo->strend,
+                                                 utf8_target))
                         {
-                            goto got_it;
+                            if (reginfo->intuit || regtry(reginfo, &s)) {
+                                goto got_it;
+                            }
+                            previous = before;
+                            before = after;
                         }
-                        previous = before;
-                        before = after;
                         s++;
                     }
                 }
 
-                if (reginfo->intuit || regtry(reginfo, &s)) {
+                if (to_complement ^ cBOOL(reginfo->intuit
+                                          || regtry(reginfo, &s)))
+                {
                     goto got_it;
                 }
 
@@ -3260,7 +3249,7 @@ Perl_regexec_flags(pTHX_ REGEXP * const rx, char *stringarg, char *strend,
        if (minlen) {
            const OPCODE op = OP(progi->regstclass);
            /* don't bother with what can't match */
-           if (PL_regkind[op] != EXACT && op != CANY && PL_regkind[op] != TRIE)
+           if (PL_regkind[op] != EXACT && PL_regkind[op] != TRIE)
                strend = HOPc(strend, -(minlen - 1));
        }
        DEBUG_EXECUTE_r({
@@ -3816,7 +3805,7 @@ S_dump_exec_pos(pTHX_ const char *locinput,
     if (pref0_len > pref_len)
        pref0_len = pref_len;
     {
-       const int is_uni = (utf8_target && OP(scan) != CANY) ? 1 : 0;
+       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);
@@ -4342,10 +4331,11 @@ S_isSB(pTHX_ SB_enum before,
         return FALSE;
     }
 
-    /* SB7.  Upper ATerm  ×  Upper */
+    /* SB7.  (Upper | Lower) ATerm  ×  Upper */
     if (before == SB_ATerm && after == SB_Upper) {
         temp_pos = lpos;
-        if (SB_Upper == backup_one_SB(strbeg, &temp_pos, utf8_target)) {
+        backup = backup_one_SB(strbeg, &temp_pos, utf8_target);
+        if (backup == SB_Upper || backup == SB_Lower) {
             return FALSE;
         }
     }
@@ -4744,24 +4734,10 @@ S_backup_one_WB(pTHX_ WB_enum * previous, const U8 * const strbeg, U8 ** curpos,
         * to look it up */
     if (*previous != WB_UNKNOWN) {
         wb = *previous;
+        *previous = WB_UNKNOWN;
+        /* XXX Note that doesn't change curpos, and maybe should */
 
-        /* But we need to move backwards by one */
-        if (utf8_target) {
-            *curpos = reghopmaybe3(*curpos, -1, strbeg);
-            if (! *curpos) {
-                *previous = WB_EDGE;
-                *curpos = (U8 *) strbeg;
-            }
-            else {
-                *previous = WB_UNKNOWN;
-            }
-        }
-        else {
-            (*curpos)--;
-            *previous = (*curpos <= strbeg) ? WB_EDGE : WB_UNKNOWN;
-        }
-
-        /* And we always back up over these two types */
+        /* But we always back up over these two types */
         if (wb != WB_Extend && wb != WB_Format) {
             return wb;
         }
@@ -4993,12 +4969,6 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
                sayNO;
             goto increment_locinput;
 
-       case CANY: /*  \C  */
-           if (NEXTCHR_IS_EOS)
-               sayNO;
-           locinput++;
-           break;
-
        case REG_ANY: /*  /./  */
            if ((NEXTCHR_IS_EOS) || nextchr == '\n')
                sayNO;
@@ -5625,10 +5595,8 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
        case BOUNDU:  /*  /\b/u  */
 
           boundu:
-            if (UNLIKELY(reginfo->strbeg >= reginfo->strend)) {
-                match = FALSE;
-            }
-            else if (utf8_target) {
+           if (utf8_target) {
+
               bound_utf8:
                 switch((bound_type) FLAGS(scan)) {
                     case TRADITIONAL_BOUND:
@@ -8114,16 +8082,6 @@ S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p,
        else
            scan = loceol;
        break;
-    case CANY:  /* Move <scan> forward <max> bytes, unless goes off end */
-        if (utf8_target && loceol - scan > max) {
-
-            /* <loceol> hadn't been adjusted in the UTF-8 case */
-            scan +=  max;
-        }
-        else {
-            scan = loceol;
-        }
-       break;
     case EXACTL:
         _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
         if (utf8_target && UTF8_IS_ABOVE_LATIN1(*scan)) {
@@ -8779,10 +8737,6 @@ S_reghop3(U8 *s, SSize_t off, const U8* lim)
             if (UTF8_IS_CONTINUED(*s)) {
                 while (s > lim && UTF8_IS_CONTINUATION(*s))
                     s--;
-                if (! UTF8_IS_START(*s)) {
-                    dTHX;
-                    Perl_croak(aTHX_ "Malformed UTF-8 character (fatal)");
-                }
            }
             /* XXX could check well-formedness here */
        }
@@ -8807,10 +8761,6 @@ S_reghop4(U8 *s, SSize_t off, const U8* llim, const U8* rlim)
             if (UTF8_IS_CONTINUED(*s)) {
                 while (s > llim && UTF8_IS_CONTINUATION(*s))
                     s--;
-                if (! UTF8_IS_START(*s)) {
-                    dTHX;
-                    Perl_croak(aTHX_ "Malformed UTF-8 character (fatal)");
-                }
             }
             /* XXX could check well-formedness here */
         }
@@ -8840,10 +8790,6 @@ S_reghopmaybe3(U8* s, SSize_t off, const U8* lim)
             if (UTF8_IS_CONTINUED(*s)) {
                 while (s > lim && UTF8_IS_CONTINUATION(*s))
                     s--;
-                if (! UTF8_IS_START(*s)) {
-                    dTHX;
-                    Perl_croak(aTHX_ "Malformed UTF-8 character (fatal)");
-                }
            }
             /* XXX could check well-formedness here */
        }
index 04eeba9..4e94213 100644 (file)
--- a/regexp.h
+++ b/regexp.h
@@ -168,7 +168,7 @@ typedef struct regexp_engine {
                         const U32 flags,
                        re_scream_pos_data *data);
     SV*     (*checkstr) (pTHX_ REGEXP * const rx);
-    void    (*free) (pTHX_ REGEXP * const rx);
+    void    (*rxfree) (pTHX_ REGEXP * const rx);
     void    (*numbered_buff_FETCH) (pTHX_ REGEXP * const rx, const I32 paren,
                                     SV * const sv);
     void    (*numbered_buff_STORE) (pTHX_ REGEXP * const rx, const I32 paren,
index 3c9b991..db32920 100644 (file)
@@ -6,8 +6,8 @@
 
 /* Regops and State definitions */
 
-#define REGNODE_MAX            93
-#define REGMATCH_STATE_MAX     133
+#define REGNODE_MAX            92
+#define REGMATCH_STATE_MAX     132
 
 #define        END                     0       /* 0000 End of program. */
 #define        SUCCEED                 1       /* 0x01 Return from a subroutine, basically. */
 #define        NBOUNDA                 15      /* 0x0f Match "" betweeen any \w\w or \W\W, where \w is [_a-zA-Z0-9] */
 #define        REG_ANY                 16      /* 0x10 Match any one character (except newline). */
 #define        SANY                    17      /* 0x11 Match any one character. */
-#define        CANY                    18      /* 0x12 Match any one byte. */
-#define        ANYOF                   19      /* 0x13 Match character in (or not in) this class, single char match only */
-#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. */
-#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        GOSTART                 77      /* 0x4d recurse to start of pattern */
-#define        NGROUPP                 78      /* 0x4e Whether the group matched. */
-#define        INSUBP                  79      /* 0x4f Whether we are in a specific recurse. */
-#define        DEFINEP                 80      /* 0x50 Never execute directly. */
-#define        ENDLIKE                 81      /* 0x51 Used only for the type field of verbs */
-#define        OPFAIL                  82      /* 0x52 Same as (?!) */
-#define        ACCEPT                  83      /* 0x53 Accepts the current matched string. */
-#define        VERB                    84      /* 0x54 Used only for the type field of verbs */
-#define        PRUNE                   85      /* 0x55 Pattern fails at this startpoint if no-backtracking through this */
-#define        MARKPOINT               86      /* 0x56 Push the current location for rollback by cut. */
-#define        SKIP                    87      /* 0x57 On failure skip forward (to the mark) before retrying */
-#define        COMMIT                  88      /* 0x58 Pattern fails outright if backtracking through this */
-#define        CUTGROUP                89      /* 0x59 On failure go to the next alternation in the group */
-#define        KEEPS                   90      /* 0x5a $& begins here. */
-#define        LNBREAK                 91      /* 0x5b generic newline pattern */
-#define        OPTIMIZED               92      /* 0x5c Placeholder for dump. */
-#define        PSEUDO                  93      /* 0x5d Pseudo opcode for internal use. */
+#define        ANYOF                   18      /* 0x12 Match character in (or not in) this class, single char match only */
+#define        ANYOFL                  19      /* 0x13 Like ANYOF, but /l is in effect */
+#define        POSIXD                  20      /* 0x14 Some [[:class:]] under /d; the FLAGS field gives which one */
+#define        POSIXL                  21      /* 0x15 Some [[:class:]] under /l; the FLAGS field gives which one */
+#define        POSIXU                  22      /* 0x16 Some [[:class:]] under /u; the FLAGS field gives which one */
+#define        POSIXA                  23      /* 0x17 Some [[:class:]] under /a; the FLAGS field gives which one */
+#define        NPOSIXD                 24      /* 0x18 complement of POSIXD, [[:^class:]] */
+#define        NPOSIXL                 25      /* 0x19 complement of POSIXL, [[:^class:]] */
+#define        NPOSIXU                 26      /* 0x1a complement of POSIXU, [[:^class:]] */
+#define        NPOSIXA                 27      /* 0x1b complement of POSIXA, [[:^class:]] */
+#define        CLUMP                   28      /* 0x1c Match any extended grapheme cluster sequence */
+#define        BRANCH                  29      /* 0x1d Match this alternative, or the next... */
+#define        EXACT                   30      /* 0x1e Match this string (preceded by length). */
+#define        EXACTL                  31      /* 0x1f Like EXACT, but /l is in effect. */
+#define        EXACTF                  32      /* 0x20 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
+#define        EXACTFL                 33      /* 0x21 Match this string (not guaranteed to be folded) using /il rules (w/len). */
+#define        EXACTFU                 34      /* 0x22 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                 35      /* 0x23 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
+#define        EXACTFU_SS              36      /* 0x24 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               37      /* 0x25 Rare cirucmstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255. */
+#define        EXACTFA_NO_TRIE         38      /* 0x26 Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len). */
+#define        NOTHING                 39      /* 0x27 Match empty string. */
+#define        TAIL                    40      /* 0x28 Match empty string. Can jump here from outside. */
+#define        STAR                    41      /* 0x29 Match this (simple) thing 0 or more times. */
+#define        PLUS                    42      /* 0x2a Match this (simple) thing 1 or more times. */
+#define        CURLY                   43      /* 0x2b Match this simple thing {n,m} times. */
+#define        CURLYN                  44      /* 0x2c Capture next-after-this simple thing */
+#define        CURLYM                  45      /* 0x2d Capture this medium-complex thing {n,m} times. */
+#define        CURLYX                  46      /* 0x2e Match this complex thing {n,m} times. */
+#define        WHILEM                  47      /* 0x2f Do curly processing and see if rest matches. */
+#define        OPEN                    48      /* 0x30 Mark this point in input as start of #n. */
+#define        CLOSE                   49      /* 0x31 Analogous to OPEN. */
+#define        REF                     50      /* 0x32 Match some already matched string */
+#define        REFF                    51      /* 0x33 Match already matched string, folded using native charset rules for non-utf8 */
+#define        REFFL                   52      /* 0x34 Match already matched string, folded in loc. */
+#define        REFFU                   53      /* 0x35 Match already matched string, folded using unicode rules for non-utf8 */
+#define        REFFA                   54      /* 0x36 Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
+#define        NREF                    55      /* 0x37 Match some already matched string */
+#define        NREFF                   56      /* 0x38 Match already matched string, folded using native charset rules for non-utf8 */
+#define        NREFFL                  57      /* 0x39 Match already matched string, folded in loc. */
+#define        NREFFU                  58      /* 0x3a Match already matched string, folded using unicode rules for non-utf8 */
+#define        NREFFA                  59      /* 0x3b Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
+#define        LONGJMP                 60      /* 0x3c Jump far away. */
+#define        BRANCHJ                 61      /* 0x3d BRANCH with long offset. */
+#define        IFMATCH                 62      /* 0x3e Succeeds if the following matches. */
+#define        UNLESSM                 63      /* 0x3f Fails if the following matches. */
+#define        SUSPEND                 64      /* 0x40 "Independent" sub-RE. */
+#define        IFTHEN                  65      /* 0x41 Switch, should be preceded by switcher. */
+#define        GROUPP                  66      /* 0x42 Whether the group matched. */
+#define        EVAL                    67      /* 0x43 Execute some Perl code. */
+#define        MINMOD                  68      /* 0x44 Next operator is not greedy. */
+#define        LOGICAL                 69      /* 0x45 Next opcode should set the flag only. */
+#define        RENUM                   70      /* 0x46 Group with independently numbered parens. */
+#define        TRIE                    71      /* 0x47 Match many EXACT(F[ALU]?)? at once. flags==type */
+#define        TRIEC                   72      /* 0x48 Same as TRIE, but with embedded charclass data */
+#define        AHOCORASICK             73      /* 0x49 Aho Corasick stclass. flags==type */
+#define        AHOCORASICKC            74      /* 0x4a Same as AHOCORASICK, but with embedded charclass data */
+#define        GOSUB                   75      /* 0x4b recurse to paren arg1 at (signed) ofs arg2 */
+#define        GOSTART                 76      /* 0x4c recurse to start of pattern */
+#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 (?!) */
+#define        ACCEPT                  82      /* 0x52 Accepts the current matched string. */
+#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. */
        /* ------------ States ------------- */
 #define        TRIE_next               (REGNODE_MAX + 1)       /* state for TRIE */
 #define        TRIE_next_fail          (REGNODE_MAX + 2)       /* state for TRIE */
@@ -171,7 +170,6 @@ EXTCONST U8 PL_regkind[] = {
        NBOUND,         /* NBOUNDA                */
        REG_ANY,        /* REG_ANY                */
        REG_ANY,        /* SANY                   */
-       REG_ANY,        /* CANY                   */
        ANYOF,          /* ANYOF                  */
        ANYOF,          /* ANYOFL                 */
        POSIXD,         /* POSIXD                 */
@@ -313,7 +311,6 @@ static const U8 regarglen[] = {
        0,                                      /* NBOUNDA      */
        0,                                      /* REG_ANY      */
        0,                                      /* SANY         */
-       0,                                      /* CANY         */
        EXTRA_SIZE(struct regnode_1),           /* ANYOF        */
        EXTRA_SIZE(struct regnode_1),           /* ANYOFL       */
        0,                                      /* POSIXD       */
@@ -412,7 +409,6 @@ static const char reg_off_by_arg[] = {
        0,      /* NBOUNDA      */
        0,      /* REG_ANY      */
        0,      /* SANY         */
-       0,      /* CANY         */
        0,      /* ANYOF        */
        0,      /* ANYOFL       */
        0,      /* POSIXD       */
@@ -516,82 +512,81 @@ EXTCONST char * const PL_reg_name[] = {
        "NBOUNDA",                      /* 0x0f */
        "REG_ANY",                      /* 0x10 */
        "SANY",                         /* 0x11 */
-       "CANY",                         /* 0x12 */
-       "ANYOF",                        /* 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 */
-       "GOSTART",                      /* 0x4d */
-       "NGROUPP",                      /* 0x4e */
-       "INSUBP",                       /* 0x4f */
-       "DEFINEP",                      /* 0x50 */
-       "ENDLIKE",                      /* 0x51 */
-       "OPFAIL",                       /* 0x52 */
-       "ACCEPT",                       /* 0x53 */
-       "VERB",                         /* 0x54 */
-       "PRUNE",                        /* 0x55 */
-       "MARKPOINT",                    /* 0x56 */
-       "SKIP",                         /* 0x57 */
-       "COMMIT",                       /* 0x58 */
-       "CUTGROUP",                     /* 0x59 */
-       "KEEPS",                        /* 0x5a */
-       "LNBREAK",                      /* 0x5b */
-       "OPTIMIZED",                    /* 0x5c */
-       "PSEUDO",                       /* 0x5d */
+       "ANYOF",                        /* 0x12 */
+       "ANYOFL",                       /* 0x13 */
+       "POSIXD",                       /* 0x14 */
+       "POSIXL",                       /* 0x15 */
+       "POSIXU",                       /* 0x16 */
+       "POSIXA",                       /* 0x17 */
+       "NPOSIXD",                      /* 0x18 */
+       "NPOSIXL",                      /* 0x19 */
+       "NPOSIXU",                      /* 0x1a */
+       "NPOSIXA",                      /* 0x1b */
+       "CLUMP",                        /* 0x1c */
+       "BRANCH",                       /* 0x1d */
+       "EXACT",                        /* 0x1e */
+       "EXACTL",                       /* 0x1f */
+       "EXACTF",                       /* 0x20 */
+       "EXACTFL",                      /* 0x21 */
+       "EXACTFU",                      /* 0x22 */
+       "EXACTFA",                      /* 0x23 */
+       "EXACTFU_SS",                   /* 0x24 */
+       "EXACTFLU8",                    /* 0x25 */
+       "EXACTFA_NO_TRIE",              /* 0x26 */
+       "NOTHING",                      /* 0x27 */
+       "TAIL",                         /* 0x28 */
+       "STAR",                         /* 0x29 */
+       "PLUS",                         /* 0x2a */
+       "CURLY",                        /* 0x2b */
+       "CURLYN",                       /* 0x2c */
+       "CURLYM",                       /* 0x2d */
+       "CURLYX",                       /* 0x2e */
+       "WHILEM",                       /* 0x2f */
+       "OPEN",                         /* 0x30 */
+       "CLOSE",                        /* 0x31 */
+       "REF",                          /* 0x32 */
+       "REFF",                         /* 0x33 */
+       "REFFL",                        /* 0x34 */
+       "REFFU",                        /* 0x35 */
+       "REFFA",                        /* 0x36 */
+       "NREF",                         /* 0x37 */
+       "NREFF",                        /* 0x38 */
+       "NREFFL",                       /* 0x39 */
+       "NREFFU",                       /* 0x3a */
+       "NREFFA",                       /* 0x3b */
+       "LONGJMP",                      /* 0x3c */
+       "BRANCHJ",                      /* 0x3d */
+       "IFMATCH",                      /* 0x3e */
+       "UNLESSM",                      /* 0x3f */
+       "SUSPEND",                      /* 0x40 */
+       "IFTHEN",                       /* 0x41 */
+       "GROUPP",                       /* 0x42 */
+       "EVAL",                         /* 0x43 */
+       "MINMOD",                       /* 0x44 */
+       "LOGICAL",                      /* 0x45 */
+       "RENUM",                        /* 0x46 */
+       "TRIE",                         /* 0x47 */
+       "TRIEC",                        /* 0x48 */
+       "AHOCORASICK",                  /* 0x49 */
+       "AHOCORASICKC",                 /* 0x4a */
+       "GOSUB",                        /* 0x4b */
+       "GOSTART",                      /* 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 */
        /* ------------ States ------------- */
        "TRIE_next",                    /* REGNODE_MAX +0x01 */
        "TRIE_next_fail",               /* REGNODE_MAX +0x02 */
@@ -695,7 +690,6 @@ EXTCONST char * const PL_reg_intflags_name[] = {
        "CUTGROUP_SEEN",              /* 0x00000010 - PREGf_CUTGROUP_SEEN */
        "USE_RE_EVAL",                /* 0x00000020 - PREGf_USE_RE_EVAL -  compiled with "use re 'eval'"  */
        "NOSCAN",                     /* 0x00000040 - PREGf_NOSCAN */
-       "CANY_SEEN",                  /* 0x00000080 - PREGf_CANY_SEEN */
        "GPOS_SEEN",                  /* 0x00000100 - PREGf_GPOS_SEEN */
        "GPOS_FLOAT",                 /* 0x00000200 - PREGf_GPOS_FLOAT */
        "ANCH_MBOL",                  /* 0x00000400 - PREGf_ANCH_MBOL */
@@ -705,7 +699,7 @@ EXTCONST char * const PL_reg_intflags_name[] = {
 #endif /* DOINIT */
 
 #ifdef DEBUGGING
-#  define REG_INTFLAGS_NAME_SIZE 13
+#  define REG_INTFLAGS_NAME_SIZE 12
 #endif
 
 /* The following have no fixed length. U8 so we can do strchr() on it. */
@@ -726,7 +720,7 @@ EXTCONST U8 PL_varies[] __attribute__deprecated__ = {
 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, 0x30, 0x00, 0xFE, 0xFC, 0x2F, 0x03, 0x00, 0x00, 0x00
 };
 #endif /* DOINIT */
 
@@ -738,8 +732,8 @@ EXTCONST U8 PL_varies_bitmask[] = {
 EXTCONST U8 PL_simple[] __attribute__deprecated__;
 #else
 EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
-    REG_ANY, SANY, CANY, ANYOF, ANYOFL, POSIXD, POSIXL, POSIXU, POSIXA,
-    NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA,
+    REG_ANY, SANY, ANYOF, ANYOFL, POSIXD, POSIXL, POSIXU, POSIXA, NPOSIXD,
+    NPOSIXL, NPOSIXU, NPOSIXA,
     0
 };
 #endif /* DOINIT */
@@ -748,7 +742,7 @@ EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
 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, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 };
 #endif /* DOINIT */
 
diff --git a/sv.c b/sv.c
index 263d27b..0990be2 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -3974,15 +3974,9 @@ S_glob_assign_glob(pTHX_ SV *const dstr, SV *const sstr, const int dtype)
         SvREFCNT_inc_simple_void_NN(sv_2mortal(dstr));
     }
 
-    /* freeing dstr's GP might free sstr (e.g. *x = $x),
-     * so temporarily protect it */
-    ENTER;
-    SAVEFREESV(SvREFCNT_inc_simple_NN(sstr));
     gp_free(MUTABLE_GV(dstr));
     GvINTRO_off(dstr);         /* one-shot flag */
     GvGP_set(dstr, gp_ref(GvGP(sstr)));
-    LEAVE;
-
     if (SvTAINTED(sstr))
        SvTAINT(dstr);
     if (GvIMPORTED(dstr) != GVf_IMPORTED
@@ -10872,7 +10866,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
  * The non-double-double-long-double overshoots since all bits of NV
  * are not mantissa bits, there are also exponent bits. */
 #ifdef LONGDOUBLE_DOUBLEDOUBLE
-#  define VHEX_SIZE (3+DOUBLEDOUBLE_MAXBITS/4)
+#  define VHEX_SIZE (1+DOUBLEDOUBLE_MAXBITS/4)
 #else
 #  define VHEX_SIZE (1+(NVSIZE * 8)/4)
 #endif
@@ -10969,7 +10963,7 @@ S_hextract(pTHX_ const NV nv, int* exponent, U8* vhex, U8* vend)
 
     /* HEXTRACTSIZE is the maximum number of xdigits. */
 #if defined(USE_LONG_DOUBLE) && defined(LONGDOUBLE_DOUBLEDOUBLE)
-#  define HEXTRACTSIZE (2+DOUBLEDOUBLE_MAXBITS/4)
+#  define HEXTRACTSIZE (DOUBLEDOUBLE_MAXBITS/4)
 #else
 #  define HEXTRACTSIZE 2 * NVSIZE
 #endif
@@ -10977,10 +10971,8 @@ S_hextract(pTHX_ const NV nv, int* exponent, U8* vhex, U8* vend)
     const U8* vmaxend = vhex + HEXTRACTSIZE;
     PERL_UNUSED_VAR(ix); /* might happen */
     (void)Perl_frexp(PERL_ABS(nv), exponent);
-    if (vend && (vend <= vhex || vend > vmaxend)) {
-        /* diag_listed_as: Hexadecimal float: internal error (%s) */
-        Perl_croak(aTHX_ "Hexadecimal float: internal error (entry)");
-    }
+    if (vend && (vend <= vhex || vend > vmaxend))
+        Perl_croak(aTHX_ "Hexadecimal float: internal error");
     {
         /* First check if using long doubles. */
 #if defined(USE_LONG_DOUBLE) && (NVSIZE > DOUBLESIZE)
@@ -11186,10 +11178,8 @@ S_hextract(pTHX_ const NV nv, int* exponent, U8* vhex, U8* vend)
          * which is convenient since the HEXTRACTSIZE is tricky
          * for double-double. */
         ixmin < 0 || ixmax >= NVSIZE ||
-        (vend && v != vend)) {
-        /* diag_listed_as: Hexadecimal float: internal error (%s) */
-        Perl_croak(aTHX_ "Hexadecimal float: internal error (overflow)");
-    }
+        (vend && v != vend))
+        Perl_croak(aTHX_ "Hexadecimal float: internal error");
     return v;
 }
 
@@ -11532,12 +11522,9 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
       tryasterisk:
        if (*q == '*') {
            q++;
-           if ( (ewix = expect_number(&q)) ) {
-               if (*q++ == '$')
-                    no_redundant_warning = TRUE;
-                else
+           if ( (ewix = expect_number(&q)) )
+               if (*q++ != '$')
                    goto unknown;
-            }
            asterisk = TRUE;
        }
        if (*q == 'v') {
@@ -12298,7 +12285,6 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
                 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 */
                 const bool lower = (c == 'a');
                 /* At output the values of vhex (up to vend) will
                  * be mapped through the xdig to get the actual
@@ -12306,7 +12292,6 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
                 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 */
 
                 /* XXX: denormals, NaN, Inf.
                  *
@@ -12331,9 +12316,7 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
 #  endif
 #endif
 
-                if (fv < 0
-                    || Perl_signbit(nv)
-                  )
+                if (fv < 0)
                     *p++ = '-';
                 else if (plus)
                     *p++ = plus;
@@ -12355,6 +12338,8 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
                 }
 
                 if (vfnz) {
+                    U8* vlnz = NULL; /* The last non-zero. */
+
                     /* Find the last non-zero xdigit. */
                     for (v = vend - 1; v >= vhex; v--) {
                         if (*v) {
@@ -12414,24 +12399,9 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
                     v = vhex;
                     *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) {
+                    /* The radix is always output after the first
+                     * non-zero xdigit, or if alt.  */
+                    if (vfnz < vlnz || alt) {
 #ifndef USE_LOCALE_NUMERIC
                         *p++ = '.';
 #else
@@ -12447,17 +12417,17 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
                         }
                         RESTORE_LC_NUMERIC();
 #endif
-                }
+                    }
 
-                if (vlnz) {
                     while (v <= vlnz)
                         *p++ = xdig[*v++];
-                }
 
-                if (zerotail > 0) {
-                  while (zerotail--) {
+                    while (zerotail--)
+                        *p++ = '0';
+                }
+                else {
                     *p++ = '0';
-                  }
+                    exponent = 0;
                 }
 
                 elen = p - PL_efloatbuf;
@@ -12568,7 +12538,7 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
                     elen = quadmath_snprintf(PL_efloatbuf, PL_efloatsize,
                                              qfmt, nv);
                     if ((IV)elen == -1)
-                        Perl_croak_nocontext("panic: quadmath_snprintf failed, format \"%s\"", qfmt);
+                        Perl_croak_nocontext("panic: quadmath_snprintf failed, format \"%s|'", qfmt);
                     if (qfmt != ptr)
                         Safefree(qfmt);
                 }
@@ -14477,6 +14447,9 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
 #  ifdef DEBUG_LEAKING_SCALARS
     PL_sv_serial = (((UV)my_perl >> 2) & 0xfff) * 1000000;
 #  endif
+#  ifdef PERL_TRACE_OPS
+    Zero(PL_op_exec_cnt, OP_max+2, UV);
+#  endif
 #else  /* !DEBUGGING */
     Zero(my_perl, 1, PerlInterpreter);
 #endif /* DEBUGGING */
@@ -16227,10 +16200,10 @@ Print appropriate "Use of uninitialized variable" warning.
 void
 Perl_report_uninit(pTHX_ const SV *uninit_sv)
 {
-    if (PL_op) {
-       SV* varname = NULL;
-       const char *desc;
+    const char *desc = NULL;
+    SV* varname = NULL;
 
+    if (PL_op) {
        desc = PL_op->op_type == OP_STRINGIFY && PL_op->op_folded
                ? "join or string"
                : OP_DESC(PL_op);
@@ -16239,21 +16212,26 @@ Perl_report_uninit(pTHX_ const SV *uninit_sv)
            if (varname)
                sv_insert(varname, 0, 0, " ", 1);
        }
-        /* PL_warn_uninit_sv is constant */
-        GCC_DIAG_IGNORE(-Wformat-nonliteral);
-       /* diag_listed_as: Use of uninitialized value%s */
-       Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit_sv,
-               SVfARG(varname ? varname : &PL_sv_no),
-               " in ", desc);
-        GCC_DIAG_RESTORE;
-    }
-    else {
-        /* PL_warn_uninit is constant */
-        GCC_DIAG_IGNORE(-Wformat-nonliteral);
-       Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit,
-                   "", "", "");
-        GCC_DIAG_RESTORE;
     }
+    else if (PL_curstackinfo->si_type == PERLSI_SORT
+             &&  CxMULTICALL(&cxstack[cxstack_ix]))
+    {
+        /* we've reached the end of a sort block or sub,
+         * and the uninit value is probably what that code returned */
+        desc = "sort";
+    }
+
+    /* PL_warn_uninit_sv is constant */
+    GCC_DIAG_IGNORE(-Wformat-nonliteral);
+    if (desc)
+        /* diag_listed_as: Use of uninitialized value%s */
+        Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit_sv,
+                SVfARG(varname ? varname : &PL_sv_no),
+                " in ", desc);
+    else
+        Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit,
+                "", "", "");
+    GCC_DIAG_RESTORE;
 }
 
 /*
diff --git a/sv.h b/sv.h
index 335b874..d0d8b65 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -365,6 +365,7 @@ perform the upgrade if necessary.  See C<svtype>.
 #define SVp_NOK                0x00002000  /* has valid non-public numeric value */
 #define SVp_POK                0x00004000  /* has valid non-public pointer value */
 #define SVp_SCREAM     0x00008000  /* method name is DOES */
+                                    /* eval cx text is ref counted */
 #define SVphv_CLONEABLE        SVp_SCREAM  /* PVHV (stashes) clone its objects */
 #define SVpgv_GP       SVp_SCREAM  /* GV has a valid GP */
 #define SVprv_PCS_IMPORTED  SVp_SCREAM  /* RV is a proxy for a constant
@@ -831,7 +832,7 @@ Set the current length of the string which is in the SV.  See C<SvCUR>
 and C<SvIV_set>.
 
 =for apidoc Am|void|SvLEN_set|SV* sv|STRLEN len
-Set the size of the string buffer for the SV. See C</SvLEN>.
+Set the actual length of the string which is in the SV.  See C<SvIV_set>.
 
 =cut
 */
index a114f06..a5aa477 100644 (file)
@@ -558,7 +558,10 @@ db_version_patch='0'
 direntrytype='struct dirent'
 dlext='dll'
 dlsrc='dl_symbian.xs'
+doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
 doublekind='4'
+doublemantbits='52'
+doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'
 doublesize='8'
 drand01="((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))"
 drand48_r_proto='0'
@@ -730,7 +733,10 @@ libc='stdlib'
 libm_lib_version='0'
 libperl='libperl.a'
 localtime_r_proto='0'
+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'
@@ -757,6 +763,7 @@ nv_preserves_uv_bits='0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
index a76a755..da5332c 100644 (file)
@@ -142,11 +142,7 @@ pid_t wait(int *status);
 #  define PERL_UNSET_VARS(v) symbian_unset_vars()
 #endif /* #ifdef PERL_GLOBAL_STRUCT_PRIVATE */
 
-#undef PERL_EXPORT_C
-#define PERL_EXPORT_C EXPORT_C /* for perlio.h */
 #define PERL_CALLCONV EXPORT_C /* for proto.h */
-#undef PERL_XS_EXPORT_C
-#define PERL_XS_EXPORT_C EXPORT_C
 
 #ifndef PERL_CORE
 #define PERL_CORE /* for WINS builds under VC */
index 7eb910b..8862337 100644 (file)
@@ -1,6 +1,6 @@
 #!./perl
 
-print "1..104\n";
+print "1..103\n";
 
 $x = 'x';
 
@@ -517,9 +517,3 @@ eval q|s##[}#e|;
  eval '0; qq{@{sub{]]}}}}}';
  print "ok $test - 124385\n"; $test++;
 }
-
-{
- # Used to crash [perl #125350]
- eval ('qq{@{[0}*sub{]]}}}=sub{0' . "\c[");
- print "ok $test - 125350\n"; $test++;
-}
index ca15232..1a81cdf 100644 (file)
@@ -102,10 +102,10 @@ ok(close($in), 'read/die: close status');
 # consistently failing. At exactly 0x100000 it started passing
 # again. Now we're asking the kernel what the pipe buffer is, and if
 # that fails, hoping this number is bigger than any pipe buffer.
-my $surely_this_arbitrary_number_is_fine = eval {
+my $surely_this_arbitrary_number_is_fine = (eval {
     use Fcntl qw(F_GETPIPE_SZ);
-    fcntl($out, F_GETPIPE_SZ, 0) + 1;
-} || 0x100000;
+    fcntl($out, F_GETPIPE_SZ, 0);
+} || 0xfffff) + 1;
 
 # close during print
 
index d8fc4b2..8d0f4b2 100644 (file)
@@ -28,10 +28,8 @@ for my $perlio ('perlio', 'stdio') {
 SKIP:
     for my $test_in ("test\n", "test") {
                skip("Guaranteed newline at EOF on VMS", 4) if $^O eq 'VMS' && $test_in eq 'test';
-                # perl #71504 added skip in openbsd+threads+stdio;
-                # then commit 23705063 made -lpthread the default.
-                skip("[perl #71504] OpenBSD test failures in errno.t with ithreads and perlio]; [perl #126306: openbsd t/io/errno.t tests fail randomly]", 8)
-                    if $^O eq 'openbsd' && $perlio eq 'stdio';
+                skip("[perl #71504] OpenBSD test failures in errno.t with ithreads and perlio", 8)
+                    if $^O eq 'openbsd' && $Config{useithreads} && $perlio eq 'stdio';
                my $test_in_esc = $test_in;
                $test_in_esc =~ s/\n/\\n/g;
                for my $rs_code ('', '$/=undef', '$/=\2', '$/=\1024') {
index 3817bdd..cffef14 100644 (file)
@@ -10,7 +10,7 @@ $|  = 1;
 use warnings;
 use Config;
 
-plan tests => 153;
+plan tests => 156;
 
 my $Perl = which_perl();
 
@@ -476,6 +476,14 @@ pass("no crash when open autovivifies glob in freed package");
     is((stat $temp)[9], $final_mtime, "nothing changes its mtime");
 }
 
+# [perl #125115] Dup to closed filehandle creates file named GLOB(0x...)
+{
+    ok(open(my $fh, "<", "TEST"), "open a handle");
+    ok(close $fh, "and close it again");
+    ok(!open(my $fh2,  ">&", $fh), "should fail to dup the closed handle");
+    # clean up if we failed
+    unlink "$fh";
+}
 
 package OverloadTest;
 use overload '""' => sub { ${$_[0]} };
index 2e970a7..53ae296 100644 (file)
@@ -10,8 +10,6 @@ use strict;
 use warnings;
 
 skip_all('no SysV semaphores on this platform') if !$Config{d_sem};
-skip_all('SysV semaphore structures not detected')
-    if !$Config{d_semctl_semid_ds} && !$Config{d_semctl_semun};
 
 my @warnings;
 {
index 4a1bc16..dad356a 100644 (file)
@@ -24,16 +24,6 @@ sub translator {
     if ( $str eq 'TOO-LONG-STR') {
        return 'A' x 256;
     }
-    if ($str eq 'MALFORMED') {
-        $str = "\xDF\xDFabc";
-        utf8::upgrade($str);
-         
-        no warnings 'deprecated';
-
-        # Create a malformed in first and second characters.
-        $str =~ s/^\C/A/;
-        $str =~ s/^(\C\C)\C/$1A/;
-    }
     return $str;
 }
 
diff --git a/t/lib/croak/pp_sys b/t/lib/croak/pp_sys
deleted file mode 100644 (file)
index 739b7e9..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-__END__
-# pp_sys.c
-# NAME pipe() croaks on bad left side [perl #126480]
-# SKIP ? use Config; !$Config{d_pipe} && "No pipe() available"
-my $fh;
-pipe($$5, $fh)
-EXPECT
-Bad symbol for filehandle at - line 3.
-########
-# NAME pipe() croaks on bad right side [perl #126480]
-# SKIP ? use Config; !$Config{d_pipe} && "No pipe() available"
-my $fh;
-pipe($fh, $$5)
-EXPECT
-Bad symbol for filehandle at - line 2.
-########
index 97dbea6..a061ac8 100644 (file)
@@ -37,24 +37,6 @@ syntax error at - line 1, near "0$#"
 Missing right curly or square bracket at - line 1, at end of line
 Execution of - aborted due to compilation errors.
 ########
-# NAME (Missing operator before @foo) [perl #123737]
-0@foo
-EXPECT
-Array found where operator expected at - line 1, near "0@foo"
-       (Missing operator before @foo?)
-syntax error at - line 1, near "0@foo
-"
-Execution of - aborted due to compilation errors.
-########
-# NAME (Missing operator before @{) [perl #123737]
-0@{
-EXPECT
-Array found where operator expected at - line 1, near "0@{"
-       (Missing operator before @{?)
-syntax error at - line 1, near "0@"
-Missing right curly or square bracket at - line 1, at end of line
-Execution of - aborted due to compilation errors.
-########
 # NAME Unterminated here-doc in string eval
 eval "<<foo"; die $@
 EXPECT
@@ -252,8 +234,3 @@ Constant(q) unknown at - line 12, near ""a""
 <<"foo
 EXPECT
 Unterminated delimiter for here document at - line 1.
-########
-# NAME BEGIN <> [perl #125341]
-BEGIN <>
-EXPECT
-Illegal declaration of subroutine BEGIN at - line 1.
index bad22c6..095adee 100644 (file)
@@ -458,13 +458,3 @@ use strict 'subs';
 EXPECT
 Bareword "FOO" not allowed while "strict subs" in use at - line 3.
 Execution of - aborted due to compilation errors.
-########
-# [perl #126981] Strict subs vs. multideref
-sub CONST () { 'some_key' }
-my $h;
-my $v1 = $h->{+CONST_TYPO};
-use strict 'subs';
-my $v2 = $h->{+CONST_TYPO};
-EXPECT
-Bareword "CONST_TYPO" not allowed while "strict subs" in use at - line 6.
-Execution of - aborted due to compilation errors.
index 87f3fd0..40c649f 100644 (file)
@@ -548,3 +548,21 @@ syntax error at - line 4, near "1 {"
 "my" variable $x masks earlier declaration in same statement at - line 6.
 syntax error at - line 7, near "}"
 Execution of - aborted due to compilation errors.
+########
+
+# fatal warnings in DESTROY should be made non-fatal [perl #123398]
+# This test will blow up your memory with SEGV without the patch
+package Foo;
+use strict; use utf8; use warnings FATAL => 'all';
+sub new {
+    return bless{ 'field' => undef }, 'Foo';
+}
+sub DESTROY {
+    my $self = shift;
+    $self->{'field'}->missing_method;
+}
+package main;
+my $foo = new Foo;
+undef($foo);
+EXPECT
+       (in cleanup) Can't call method "missing_method" on an undefined value at - line 11.
index d99e155..b9943a0 100644 (file)
@@ -36,10 +36,3 @@ $a = qr/[\c,]/;
 EXPECT
 "\c," is more clearly written simply as "l" at - line 9.
 "\c," is more clearly written simply as "l" at - line 10.
-########
-# NAME [perl #126141]
-# OPTION fatal
-eval {/$_/}, print "$_ ==> ", $@ || "OK!\n" for "]]]]]]]]][\\", "]]]]][\\"
-EXPECT
-]]]]]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]]]]]][\ <-- HERE / at - line 2.
-]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]][\ <-- HERE / at - line 2.
index 147254e..750880e 100644 (file)
@@ -212,4 +212,3 @@ Use of \b{} or \B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at -
 Use of \b{} or \B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 16.
 Use of \b{} or \B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 17.
 Use of \b{} or \B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 17.
-Use of \b{} or \B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 17.
index 541e08f..bf0396f 100644 (file)
@@ -11,9 +11,6 @@
 # Functions whose names begin with underscore are internal helper functions
 # for this file, and are not to be used by outside callers.
 
-eval { require POSIX; import POSIX 'locale_h'; };
-my $has_posix_locales = defined &POSIX::LC_CTYPE;
-
 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
@@ -115,13 +112,12 @@ sub locales_enabled(;$) {
     # 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
 
-    use Config;
+    use Config;;
 
     return 0 unless    $Config{d_setlocale}
                         # I (khw) cargo-culted the '?' in the pattern on the
                         # next line.
-                    && $Config{ccflags} !~ /\bD?NO_LOCALE\b/
-                    && $has_posix_locales;
+                    && $Config{ccflags} !~ /\bD?NO_LOCALE\b/;
 
     # Done with the global possibilities.  Now check if any passed in category
     # is disabled.
@@ -176,7 +172,10 @@ sub find_locales ($;$) {  # Returns an array of all the locales we found on the
 
     # Done this way in case this is 'required' in the caller before seeing if
     # this is miniperl.
-    return unless $has_posix_locales;
+    eval { require POSIX; import POSIX 'locale_h'; };
+    unless (defined &POSIX::LC_CTYPE) {
+      return;
+    }
 
     _trylocale("C", $categories, \@Locale, $only_plays_well);
     _trylocale("POSIX", $categories, \@Locale, $only_plays_well);
@@ -297,7 +296,8 @@ sub is_locale_utf8 ($) { # Return a boolean as to if core Perl thinks the input
     # On z/OS, even locales marked as UTF-8 aren't.
     return 0 if ord "A" != 65;
 
-    return 0 if ! $has_posix_locales;
+    eval { require POSIX; import POSIX 'locale_h'; };
+    return 0 if ! defined &POSIX::LC_CTYPE;
     return 0 if ! locales_enabled('LC_CTYPE');
 
     my $locale = shift;
@@ -347,7 +347,8 @@ sub find_utf8_ctype_locale (;$) { # Return the name of a locale that core Perl
     my $locales_ref = shift;
 
     if (! defined $locales_ref) {
-        return if ! $has_posix_locales;
+        eval { require POSIX; import POSIX 'locale_h'; };
+        return if ! defined &POSIX::LC_CTYPE;
 
         my @locales = find_locales(&POSIX::LC_CTYPE(),
                                    1 # Reject iffy locales.
index 219db03..16e1fce 100644 (file)
@@ -428,23 +428,4 @@ package _123817 {
     eval 'return my $x : m';
 }
 
-# [perl #126257]
-# attributed lex var as function arg caused assertion failure
-
-package P126257 {
-    sub MODIFY_SCALAR_ATTRIBUTES {}
-    sub MODIFY_ARRAY_ATTRIBUTES  {}
-    sub MODIFY_HASH_ATTRIBUTES   {}
-    sub MODIFY_CODE_ATTRIBUTES   {}
-    sub foo {}
-    eval { foo(my $x : bar); };
-    ::is $@, "", "RT 126257 scalar";
-    eval { foo(my @x : bar); };
-    ::is $@, "", "RT 126257 array";
-    eval { foo(my %x : bar); };
-    ::is $@, "", "RT 126257 hash";
-    eval { foo(sub : bar {}); };
-    ::is $@, "", "RT 126257 sub";
-}
-
 done_testing();
index 09f2be9..8acd3b2 100644 (file)
@@ -15,7 +15,7 @@ BEGIN {
 # 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 => 194 + (10*13*2) + 5;
+plan tests => 192 + (10*13*2) + 5;
 
 # numerics
 ok ((0xdead & 0xbeef) == 0x9ead);
@@ -430,40 +430,6 @@ SKIP: {
     is($b, chr(0x1FE) x 0x0FF . chr(0x101) x 2);
 }
 
-# update to pp_complement() via Coverity
-SKIP: {
-  # UTF-EBCDIC is limited to 0x7fffffff and can't encode ~0.
-  skip "Complements exceed maximum representable on EBCDIC ", 2 if $::IS_EBCDIC;
-
-  my $str = "\x{10000}\x{800}";
-  # U+10000 is four bytes in UTF-8/UTF-EBCDIC.
-  # U+0800 is three bytes in UTF-8/UTF-EBCDIC.
-
-  no warnings "utf8";
-  {
-    use bytes;
-    no warnings 'deprecated';
-    $str =~ s/\C\C\z//;
-  }
-
-  # it's really bogus that (~~malformed) is \0.
-  my $ref = "\x{10000}\0";
-  is(~~$str, $ref);
-
-  # same test, but this time with a longer replacement string that
-  # exercises a different branch in pp_subsr()
-
-  $str = "\x{10000}\x{800}";
-  {
-    use bytes;
-    no warnings 'deprecated';
-    $str =~ s/\C\C\z/\0\0\0/;
-  }
-
-  # it's also bogus that (~~malformed) is \0\0\0\0.
-  my $ref = "\x{10000}\0\0\0\0";
-  is(~~$str, $ref, "use bytes with long replacement");
-}
 
 # New string- and number-specific bitwise ops
 {
index 813b0ed..84159fe 100644 (file)
@@ -10,10 +10,11 @@ BEGIN {
     # possibilities into @INC.
     unshift @INC, qw(t . lib ../lib);
     require "./test.pl";
-    plan(tests => 48);
+    plan(tests => 42);
 }
 
 use Config;
+use Errno qw(ENOENT);
 
 my $IsVMS   = $^O eq 'VMS';
 
@@ -150,29 +151,10 @@ sub check_env {
 
         my $warning = '';
         local $SIG{__WARN__} = sub { $warning .= join '', @_ };
-
-
-        # Check the deprecated chdir(undef) feature.
-#line 64
-        ok( chdir(undef),           "chdir(undef) w/ only \$ENV{$key} set" );
-        is( abs_path, $ENV{$key},   '  abs_path() agrees' );
-        is( $warning,  <<WARNING,   '  got uninit & deprecation warning' );
-Use of uninitialized value in chdir at $0 line 64.
-Use of chdir('') or chdir(undef) as chdir() is deprecated at $0 line 64.
-WARNING
-
-        chdir($Cwd);
-
-        # Ditto chdir('').
-        $warning = '';
-#line 76
-        ok( chdir(''),              "chdir('') w/ only \$ENV{$key} set" );
-        is( abs_path, $ENV{$key},   '  abs_path() agrees' );
-        is( $warning,  <<WARNING,   '  got deprecation warning' );
-Use of chdir('') or chdir(undef) as chdir() is deprecated at $0 line 76.
-WARNING
-
-        chdir($Cwd);
+        $! = 0;
+        ok(!chdir(''), "chdir('') no longer implied chdir()");
+        is($!+0, ENOENT, 'check $! set appropriately');
+        is($warning, '', 'should no longer warn about deprecation');
     }
 }
 
index 2906499..0c8b778 100644 (file)
@@ -646,14 +646,10 @@ delete $::{"_117941::"};
 _117941();
 pass("eval in freed package does not crash");
 
-# RT #127786
-# this used to give an assertion failure
+# eval is supposed normally to clear $@ on success
 
 {
-    package DB {
-        sub f127786 { eval q/\$s/ }
-    }
-    my $s;
-    sub { $s; DB::f127786}->();
-    pass("RT #127786");
+    $@ = 1;
+    eval q{$@ = 2};
+    ok(!$@, 'eval clearing $@');
 }
index 2c9cc64..e695923 100644 (file)
--- a/t/op/gv.t
+++ b/t/op/gv.t
@@ -12,7 +12,7 @@ BEGIN {
 
 use warnings;
 
-plan(tests => 276 );
+plan( tests => 273 );
 
 # type coercion on assignment
 $foo = 'foo';
@@ -1132,24 +1132,6 @@ pass "No crash due to CvGV pointing to glob copy in the stash";
     is $z, 3, 'list assignment after aliasing [perl #89646]';
 }
 
-# RT #125840: make sure *x = $x doesn't do bad things by freeing $x before
-# it's assigned.
-
-{
-    $a_125840 = 1;
-    $b_125840 = 2;
-    $a_125840 = *b_125840;
-    *a_125840 = $a_125840;
-    is($a_125840, 2, 'RT #125840: *a = $a');
-
-    $c_125840 = 1;
-    $d_125840 = 2;
-    *d_125840 = $d_125840 = *c_125840;
-    is($d_125840, 1, 'RT #125840: *d=$d=*c');
-    $c_125840 = $d_125840;
-    is($c_125840, 1, 'RT #125840: $c=$d');
-}
-
 
 __END__
 Perl
index 8fe0c0f..a239e92 100644 (file)
@@ -7,7 +7,7 @@ BEGIN {
 }
 
 use strict;
-plan(tests => 41);
+plan(tests => 39);
 
 
 # heredoc without newline (#65838)
@@ -89,21 +89,4 @@ HEREDOC
         {},
         "long terminator fails correctly"
     );
-
-    # this would read freed memory
-    fresh_perl_like(
-        qq(0<<<<""0\n\n),
-        # valgrind and asan reports an error between these two lines
-        qr/^Number found where operator expected at - line 1, near "<<""0"\s+\(Missing operator/,
-        {},
-        "don't use an invalid oldoldbufptr"
-    );
-
-    # [perl #125540] this asserted or crashed
-    fresh_perl_like(
-       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"
-    );
 }
index 4b2a96d..30aaf11 100644 (file)
@@ -10,7 +10,7 @@ use strict;
 
 use Config;
 
-plan(tests => 105);
+plan(tests => 79);
 
 # Test hexfloat literals.
 
@@ -40,11 +40,6 @@ is(0x0.1p0, 0.0625);
 is(0x0.10p0, 0.0625);
 is(0x0.100p0, 0.0625);
 
-is(0x.1p0, 0.0625);
-is(0x1.1p0, 1.0625);
-is(0x1.11p0, 1.06640625);
-is(0x1.111p0, 1.066650390625);
-
 # Positive exponents.
 is(0x1p2, 4);
 is(0x1p+2, 4);
@@ -112,15 +107,6 @@ is(0xa_b.c_dp+1_2, 703696);
 # different from 3e4 cf 30e3 cf 30000.  The shifting of the hexdigits
 # makes it look stranger, though: 0xap1 == 0x5p2.
 
-# [perl #127183], try some non-canonical forms.
-SKIP: {
-    skip("nv_preserves_uv_bits is $Config{nv_preserves_uv_bits} not 53", 3)
-        unless ($Config{nv_preserves_uv_bits} == 53);
-    is(0x0.b17217f7d1cf78p0, 0x1.62e42fefa39efp-1);
-    is(0x0.58b90bfbe8e7bcp1, 0x1.62e42fefa39efp-1);
-    is(0x0.2c5c85fdf473dep2, 0x1.62e42fefa39efp-1);
-}
-
 # Needs to use within() instead of is() because of long doubles.
 within(0x1.99999999999ap-4, 0.1, 1e-9);
 within(0x3.333333333333p-5, 0.1, 1e-9);
@@ -147,17 +133,11 @@ sub get_warn() {
     eval '@a = 0x3..5';
     is("@a", "3 4 5");
 
-    undef $a;
     eval '$a = eval "0x.3"';
     is($a, '03');
 
-    undef $a;
     eval '$a = eval "0xc.3"';
     is($a, '123');
-
-    undef $a;
-    eval '$a = eval "0x.p3"';
-    is($a, undef);
 }
 
 # Test warnings.
@@ -189,57 +169,9 @@ SKIP:
 
         eval '0x1.fffffffffffffp+1024';
         like(get_warn(), qr/^Hexadecimal float: exponent overflow/);
-
-        undef $a;
-        eval '$a = 0x111.0000000000000p+0'; # 12 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.0000000000000p+0'; # 13 zeros.
-        like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
-        is($a, 273);
-
-        undef $a;
-        eval '$a = 0x111.00000000000000p+0';  # 14 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 = 0xfffffffffffff.8p0';  # 53 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 = 0xf.ffffffffffffp0';  # 52 bits.
-        is(get_warn(), undef);
-        is($a, 16);
-
-        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);
     } else {
         print "# skipping warning tests\n";
-        skip "nv_preserves_uv_bits is $Config{nv_preserves_uv_bits} not 53", 26;
+        skip "nv_preserves_uv_bits is $Config{nv_preserves_uv_bits} not 53", 8;
     }
 }
 
index 9f2bdb0..ffea0ae 100644 (file)
--- a/t/op/lc.t
+++ b/t/op/lc.t
@@ -1,8 +1,6 @@
 #!./perl
 
 # This file is intentionally encoded in latin-1.
-#
-# Test uc(), lc(), fc(), ucfirst(), lcfirst(), quotemeta() etc
 
 BEGIN {
     chdir 't' if -d 't';
@@ -16,7 +14,7 @@ BEGIN {
 
 use feature qw( fc );
 
-plan tests => 139 + 4 * 256;
+plan tests => 134 + 4 * 256;
 
 is(lc(undef),     "", "lc(undef) is ''");
 is(lcfirst(undef), "", "lcfirst(undef) is ''");
@@ -319,28 +317,6 @@ $h{k} = bless[], "\x{130}bcde"; # U+0130 grows with lc()
 like lc delete $h{k}, qr "^i\x{307}bcde=array\(.*\)",
     'lc(TEMP ref) does not produce a corrupt string';
 
-# List::Util::first() etc sets $_ to an SvTEMP without raising its
-# refcount.  This was causing lc() etc to unsafely modify in-place.
-# see http://nntp.perl.org/group/perl.perl5.porters/228213
-
-SKIP: {
-    skip "no List::Util on miniperl", 5, if is_miniperl;
-    require List::Util;
-    my %hl = qw(a 1 b 2 c 3);
-    my %hu = qw(A 1 B 2 C 3);
-    my $x;
-    $x = List::Util::first(sub { uc      $_ eq 'A' }, keys %hl);
-    is($x, "a", "first { uc }");
-    $x = List::Util::first(sub { ucfirst $_ eq 'A' }, keys %hl);
-    is($x, "a", "first { ucfirst }");
-    $x = List::Util::first(sub { lc      $_ eq 'a' }, keys %hu);
-    is($x, "A", "first { lc }");
-    $x = List::Util::first(sub { lcfirst $_ eq 'a' }, keys %hu);
-    is($x, "A", "first { lcfirst }");
-    $x = List::Util::first(sub { fc      $_ eq 'a' }, keys %hu);
-    is($x, "A", "first { fc }");
-}
-
 
 my $utf8_locale = find_utf8_ctype_locale();
 
index 9fe00a4..c7056d0 100644 (file)
@@ -6,7 +6,7 @@ BEGIN {
     require "./test.pl";
 }
 
-plan( tests => 70 );
+plan( tests => 69 );
 
 @foo = (1, 2, 3, 4);
 cmp_ok($foo[0], '==', 1, 'first elem');
@@ -217,6 +217,3 @@ sub empty {}
 tie $t, "";
 () = (empty(), ($t)x10); # empty() since sub calls usually result in copies
 is(tied($t)->{fetched}, undef, 'assignment to empty list makes no copies');
-
-# this was passing a trash SV at the top of the stack to SvIV()
-ok(($0[()[()]],1), "[perl #126193] list slice with zero indexes");
index 0d7f254..1171f4a 100644 (file)
@@ -13,7 +13,7 @@ BEGIN {
 use strict;
 no warnings 'once';
 
-plan(tests => 148);
+plan(tests => 147);
 
 @A::ISA = 'B';
 @B::ISA = 'C';
@@ -657,23 +657,6 @@ SKIP: {
     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");
-}
-
 __END__
 #FF9900
 #F78C08
index f905566..1b0fd0d 100644 (file)
@@ -12,7 +12,7 @@ my $no_endianness = $] > 5.009 ? '' :
 my $no_signedness = $] > 5.009 ? '' :
   "Signed/unsigned pack modifiers not available on this perl";
 
-plan tests => 14712;
+plan tests => 14708;
 
 use strict;
 use warnings qw(FATAL all);
@@ -2020,23 +2020,3 @@ is $o::num, 1,     'pack "c" does call num overloading';
 #[perl #123874]: argument underflow leads to corrupt length
 eval q{ pack "pi/x" };
 ok(1, "argument underflow did not crash");
-
-{
-    # [perl #126325] pack [hH] with a unicode string
-    # the hex encoders would read past the end of the string, using
-    # invalid source bytes
-    my $twenty_nuls = "\0" x 20;
-    # This is the case that failed
-    is(pack("WH40", 0x100, ""), "\x{100}$twenty_nuls",
-       "check pack H zero fills (utf8 target)");
-    my $up_nul = "\0";
-
-    utf8::upgrade($up_nul);
-    # check the other combinations too
-    is(pack("WH40", 0x100, $up_nul), "\x{100}$twenty_nuls",
-       "check pack H zero fills (utf8 target/source)");
-    is(pack("H40", ""), $twenty_nuls,
-       "check pack H zero fills (utf8 none)");
-    is(pack("H40", $up_nul), $twenty_nuls,
-       "check pack H zero fills (utf8 source)");
-}
index 242fb8e..9808f7b 100644 (file)
@@ -44,9 +44,8 @@ SKIP: {
     skip('We can\'t test blocking without sigprocmask', 17)
        if is_miniperl() || !$Config{d_sigprocmask};
     skip("This doesn\'t work on $^O threaded builds RT#88814", 17)
-        if ($^O =~ /cygwin/ && $Config{useithreads});
-    skip("This doesn\'t work on $^O version $Config{osvers} RT#88814", 17)
-        if ($^O eq "openbsd" && $Config{osvers} < 5.2);
+        if ($^O =~ /cygwin/ || $^O eq "openbsd" && $Config{osvers} < 5.2)
+           && $Config{useithreads};
 
     require POSIX;
     my $pending = POSIX::SigSet->new();
index 4909474..01227e3 100644 (file)
@@ -6,7 +6,7 @@ BEGIN {
     set_up_inc('../lib');
 }
 use warnings;
-plan( tests => 183 );
+plan(tests => 190);
 
 # these shouldn't hang
 {
@@ -1018,3 +1018,29 @@ package deletions {
     @_=sort { delete $deletions::{a}; delete $deletions::{b}; 3 } 1..3;
 }
 pass "no crash when sort block deletes *a and *b";
+
+# make sure return args are always evaluated in scalar context
+
+{
+    package Ret;
+    no warnings 'void';
+    sub f0 { }
+    sub f1 { $b <=> $a, $a <=> $b }
+    sub f2 { return ($b <=> $a, $a <=> $b) }
+    sub f3 { for ($b <=> $a) { return ($b <=> $a, $a <=> $b) } }
+
+    {
+        no warnings 'uninitialized';
+        ::is (join('-', sort { () } 3,1,2,4), '3-1-2-4', "Ret: null blk");
+    }
+    ::is (join('-', sort { $b <=> $a, $a <=> $b } 3,1,2,4), '1-2-3-4', "Ret: blk");
+    ::is (join('-', sort { for($b <=> $a) { return ($b <=> $a, $a <=> $b) } }
+                            3,1,2,4), '1-2-3-4', "Ret: blk ret");
+    {
+        no warnings 'uninitialized';
+        ::is (join('-', sort f0 3,1,2,4), '3-1-2-4', "Ret: f0");
+    }
+    ::is (join('-', sort f1 3,1,2,4), '1-2-3-4', "Ret: f1");
+    ::is (join('-', sort f2 3,1,2,4), '1-2-3-4', "Ret: f2");
+    ::is (join('-', sort f3 3,1,2,4), '1-2-3-4', "Ret: f3");
+}
index e6ef617..967b5d3 100644 (file)
@@ -647,20 +647,19 @@ __END__
 >%y<        >''<          >%y INVALID REDUNDANT<
 >%z<        >''<          >%z INVALID REDUNDANT<
 >%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<
+>%*2$d<                >[12, 3]<       > 12 REDUNDANT<
 >%2$d %d<      >[12, 34]<      >34 12<
 >%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<
+>%*3$2$d %d<   >[12, 34, 3]<   >%*3$2$d 12 INVALID REDUNDANT<
 >%2$d<         >12<    >0 MISSING<
 >%0$d<         >12<    >%0$d INVALID REDUNDANT<
 >%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 REDUNDANT<
 >%*2*2$d<      >[12, 3]<       >%*2*2$d INVALID REDUNDANT<
->%*2$1d<       >[12, 3]<       >%*2$1d INVALID<
+>%*2$1d<       >[12, 3]<       >%*2$1d INVALID REDUNDANT<
 >%0v2.2d<      >''<    ><
 >%vc,%d<       >[63, 64, 65]<  >%vc,63 INVALID REDUNDANT<
 >%v%,%d<       >[63, 64, 65]<  >%v%,63 INVALID REDUNDANT<
index 8b12692..1a4dd30 100644 (file)
@@ -67,10 +67,6 @@ if ($Config{nvsize} == 8 &&
         [ '% 20.10a', '3.14',   '   0x1.91eb851eb8p+1' ],
         [ '%020.10a', '3.14',   '0x0001.91eb851eb8p+1' ],
 
-        [ '%.13a',    '1',   '0x1.0000000000000p+0' ],
-        [ '%.13a',    '-1',  '-0x1.0000000000000p+0' ],
-        [ '%.13a',    '0',   '0x0.0000000000000p+0' ],
-
         [ '%30a',  '3.14',   '          0x1.91eb851eb851fp+1' ],
         [ '%-30a', '3.14',   '0x1.91eb851eb851fp+1          ' ],
         [ '%030a',  '3.14',  '0x00000000001.91eb851eb851fp+1' ],
@@ -247,7 +243,7 @@ if ($Config{nvsize} == 8 &&
     print "# no hexfloat tests\n";
 }
 
-plan tests => 1408 + ($Q ? 0 : 12) + @hexfloat + 12;
+plan tests => 1408 + ($Q ? 0 : 12) + @hexfloat;
 
 use strict;
 use Config;
@@ -580,33 +576,19 @@ $o::count = 0;
 is $o::count,    0, 'sprintf %d string overload count is 0';
 is $o::numcount, 1, 'sprintf %d number overload count is 1';
 
-my $ppc_linux = $Config{archname} =~ /^(?:ppc|power(?:pc)?)(?:64)?-linux/;
-my $irix_ld   = $Config{archname} =~ /^IP\d+-irix-ld$/;
+my $ppc64_linux = $Config{archname} =~ /^ppc64-linux/;
 
 for my $t (@hexfloat) {
     my ($format, $arg, $expected) = @$t;
     $arg = eval $arg;
     my $result = sprintf($format, $arg);
     my $ok = $result eq $expected;
-    # For certain platforms (all of which are currently double-double,
-    # but different implementations, GNU vs vendor, two different archs
-    # (ppc and mips), and two different libm interfaces) we have some
-    # bits-in-the-last-hexdigit differences.
-    # Patch them up as TODOs instead of deadly errors.
-    if ($doubledouble && $ppc_linux && $arg =~ /^2.71828/) {
-        # gets  '0x1.5bf0a8b1457695355fb8ac404ecp+1'
-        # wants '0x1.5bf0a8b1457695355fb8ac404e8p+1'
+    if ($doubledouble && $ppc64_linux && $arg =~ /^2.71828/) {
+        # ppc64-linux has buggy exp(1).
         local $::TODO = "$Config{archname} exp(1)";
         ok($ok, "'$format' '$arg' -> '$result' cf '$expected'");
         next;
     }
-    if ($doubledouble && $irix_ld && $arg =~ /^1.41421/) {
-        # gets  '0x1.6a09e667f3bcc908b2fb1366eacp+0'
-        # wants '0x1.6a09e667f3bcc908b2fb1366ea8p+0'
-        local $::TODO = "$Config{archname} sqrt(2)";
-        ok($ok, "'$format' '$arg' -> '$result' cf '$expected'");
-        next;
-    }
     unless ($ok) {
         # It seems that there can be difference in the last bits:
         # [perl #122578]
@@ -666,71 +648,3 @@ for my $t (@hexfloat) {
     }
     ok($ok, "'$format' '$arg' -> '$result' cf '$expected'");
 }
-
-# double-double long double %a special testing.
-SKIP: {
-    skip("uselongdouble=" . ($Config{uselongdouble} ? 'define' : 'undef')
-         . " longdblkind=$Config{longdblkind} os=$^O", 6)
-        unless ($Config{uselongdouble} &&
-                ($Config{longdblkind} == 5 ||
-                 $Config{longdblkind} == 6)
-                # TODO: gating on 'linux' here is only due to lack of
-                # testing in other big-endian platforms (e.g. AIX or IRIX),
-                # with more evidence this subtest could be either relaxed
-                # or removed.
-                && $^O eq 'linux'
-                );
-    # [rt.perl.org 125633]
-    like(sprintf("%La\n", (2**1020) + (2**-1072)),
-         qr/^0x1.0{522}1p\+1020$/);
-    like(sprintf("%La\n", (2**1021) + (2**-1072)),
-         qr/^0x1.0{523}8p\+1021$/);
-    like(sprintf("%La\n", (2**1022) + (2**-1072)),
-         qr/^0x1.0{523}4p\+1022$/);
-    like(sprintf("%La\n", (2**1023) + (2**-1072)),
-         qr/^0x1.0{523}2p\+1023$/);
-    like(sprintf("%La\n", (2**1023) + (2**-1073)),
-         qr/^0x1.0{523}1p\+1023$/);
-    like(sprintf("%La\n", (2**1023) + (2**-1074)),
-         qr/^0x1.0{524}8p\+1023$/);
-}
-
-SKIP: {
-    skip("negative zero not available\n", 3)
-        unless sprintf('%+f', -0.0) =~ /^-0/;
-    is(sprintf("%a", -0.0), "-0x0p+0", "negative zero");
-    is(sprintf("%+a", -0.0), "-0x0p+0", "negative zero");
-    is(sprintf("%.13a", -0.0), "-0x0.0000000000000p+0", "negative zero");
-}
-
-SKIP: {
-    # [perl #127183] Non-canonical hexadecimal floats are parsed prematurely
-
-    skip("nv_preserves_uv_bits is $Config{nv_preserves_uv_bits}, not 53", 3)
-        unless $Config{nv_preserves_uv_bits} == 53;
-
-    {
-        # The 0x0.b17217f7d1cf78p0 is the original LHS value
-        # from [perl #127183], its bits are 0x162e42fefa39ef << 3,
-        # resulting in a non-canonical form of hexfp, where the most
-        # significant bit is zero, instead of one.
-        is(sprintf("%a", 0x0.b17217f7d1cf78p0 - 0x1.62e42fefa39efp-1),
-           "0x0p+0",
-           "non-canonical form [perl #127183]");
-    }
-
-    {
-        no warnings 'overflow';  # Not the point here.
-
-        # The 0x058b90bfbe8e7bc is 0x162e42fefa39ef << 2,
-        # the 0x02c5c85fdf473de is 0x162e42fefa39ef << 1,
-        # see above.
-        is(sprintf("%a", 0x0.58b90bfbe8e7bcp1 - 0x1.62e42fefa39efp-1),
-           "0x0p+0",
-           "non-canonical form");
-
-        is(sprintf("%a", 0x0.2c5c85fdf473dep2 - 0x1.62e42fefa39efp-1),
-           "0x0p+0",
-           "non-canonical form");
-    }
-}
index cf70d73..d9b7b3c 100644 (file)
@@ -6,7 +6,7 @@ BEGIN {
     set_up_inc('../lib');
 }
 
-plan(tests => 41);
+plan(tests => 55);
 
 sub empty_sub {}
 
@@ -246,13 +246,6 @@ predeclared(); # set $x to 42
 $main::x = $main::x = "You should not see this.";
 inside_predeclared(); # run test
 
-# RT #126845: this used to fail an assertion in Perl_newATTRSUB_x()
-eval 'sub rt126845_1 (); sub rt126845_1 () :lvalue';
-pass("RT #126845: stub with prototype, then with attribute");
-
-eval 'sub rt126845_2 (); sub rt126845_2 () :lvalue {}';
-pass("RT #126845: stub with prototype, then definition with attribute");
-
 # RT #124156 death during unwinding causes crash
 # the tie allows us to trigger another die while cleaning up the stack
 # from an earlier die.
@@ -302,3 +295,39 @@ pass("RT #126845: stub with prototype, then definition with attribute");
     ::is($@, "outer\n", "RT124156 depth");
     ::is($destroyed, 1, "RT124156 freed cv");
 }
+
+
+# check that return pops extraneous stuff from the stack
+
+sub check_ret {
+    # the extra scopes push contexts and extra SVs on the stack
+    {
+        my @a = map $_ + 20, @_;
+        for ('x') {
+            return if defined $_[0] && $_[0] < 0;
+        }
+        for ('y') {
+            check_ret(1, do { (2,3,4, return @a ? @a[0..$#a] : ()) }, 4.5);
+        }
+    }
+}
+
+is(scalar check_ret(),          undef, "check_ret() scalar");
+is(scalar check_ret(5),         25,    "check_ret(5) scalar");
+is(scalar check_ret(5,6),       26,    "check_ret(5,6) scalar");
+is(scalar check_ret(5,6,7),     27,    "check_ret(5,6,7) scalar");
+is(scalar check_ret(5,6,7,8),   28,    "check_ret(5,6,7,8) scalar");
+is(scalar check_ret(5,6,7,8,9), 29,    "check_ret(5,6,7,8,9) scalar");
+
+is(scalar check_ret(-1),        undef, "check_ret(-1) scalar");
+is(scalar check_ret(-1,5),      undef, "check_ret(-1,5) scalar");
+
+is(join('-', 10, check_ret()),          "10",                "check_ret() list");
+is(join('-', 10, check_ret(5)),         "10-25",             "check_ret(5) list");
+is(join('-', 10, check_ret(5,6)),       "10-25-26",          "check_ret(5,6) list");
+is(join('-', 10, check_ret(5,6,7)),     "10-25-26-27",       "check_ret(5,6,7) list");
+is(join('-', 10, check_ret(5,6,7,8)),   "10-25-26-27-28",    "check_ret(5,6,7,8) list");
+is(join('-', 10, check_ret(5,6,7,8,9)), "10-25-26-27-28-29", "check_ret(5,6,7,8,9) list");
+
+is(join('-', 10, check_ret(-1)),        "10",  "check_ret(-1) list");
+is(join('-', 10, check_ret(-1,5)),      "10",  "check_ret(-1,5) list");
index 6f01f82..41fef0c 100644 (file)
@@ -250,18 +250,12 @@ for ([chdir=>''],[chmod=>'0,'],[chown=>'0,0,'],[utime=>'0,0,'],
     check_count "$op $args\\\$tied_glob$postargs";
 }
 
-my $can_config = eval { require Config; 1 };
-SKIP:
-{
-    skip "No Config", 4 unless $can_config;
-    skip "No crypt()", 4 unless $Config::Config{d_crypt};
-    $dummy  =   crypt $var,0; check_count 'crypt $tied, ...';
-    $dummy  =   crypt 0,$var; check_count 'crypt ..., $tied';
-    $var = substr(chr 256,0,0);
-    $dummy  =   crypt $var,0; check_count 'crypt $tied_utf8, ...';
-    $var = substr(chr 256,0,0);
-    $dummy  =   crypt 0,$var; check_count 'crypt ..., $tied_utf8';
-}
+$dummy  =   crypt $var,0; check_count 'crypt $tied, ...';
+$dummy  =   crypt 0,$var; check_count 'crypt ..., $tied';
+$var = substr(chr 256,0,0);
+$dummy  =   crypt $var,0; check_count 'crypt $tied_utf8, ...';
+$var = substr(chr 256,0,0);
+$dummy  =   crypt 0,$var; check_count 'crypt ..., $tied_utf8';
 
 SKIP:
 {
index d3b8b9c..f5ce339 100644 (file)
@@ -12,7 +12,7 @@ plan tests => 72;
 # burning tons of CPU for dates far in the future.
 # watchdog() makes sure that the test script eventually exits if
 # the tests are triggering the failing behavior
-watchdog(25);
+watchdog(15);
 
 ($beguser,$begsys) = times;
 
@@ -21,9 +21,9 @@ $beg = time;
 while (($now = time) == $beg) { sleep 1 }
 
 ok($now > $beg && $now - $beg < 10,             'very basic time test');
-my $x = "aaaa";
+
 for ($i = 0; $i < 1_000_000; $i++) {
-    for my $j (1..1000) { ++$x; }; # burn some user cycles
+    for my $j (1..100) {}; # burn some user cycles
     ($nowuser, $nowsys) = times;
     $i = 2_000_000 if $nowuser > $beguser && ( $nowsys >= $begsys ||
                                             (!$nowsys && !$begsys));
index cee286a..9e0bd1c 100644 (file)
-Archive::Tar cpan/Archive-Tar/bin/ptar 5e9f3c6f565114193d98847ed8569cd0010c229c
-Archive::Tar cpan/Archive-Tar/bin/ptardiff 5a9f4c01a0390bf98da7e63f1c0bbf5bc74d12c7
-Archive::Tar cpan/Archive-Tar/bin/ptargrep eb74056c434acf314ac5a122e33bdd2ef99e6edb
-Archive::Tar cpan/Archive-Tar/lib/Archive/Tar.pm b7e13134a5bcabe8c33fb0729d2f2f80e924059a
-Archive::Tar cpan/Archive-Tar/lib/Archive/Tar/Constant.pm 18af3e90665fcf2ab40c5b02c10ba0ea3ac34d0e
-Archive::Tar cpan/Archive-Tar/lib/Archive/Tar/File.pm c0b849aa3d164305d7cb084ba3adf8d505971d6b
-CPAN cpan/CPAN/lib/App/Cpan.pm b2a9928c41083c82e884f6dc6d4b7043a2b0e351
-CPAN cpan/CPAN/lib/CPAN.pm 27f0f5c41a81aba89dfc895e7671719716522544
-CPAN cpan/CPAN/scripts/cpan c43050c8c63153a205e4385e118e906d1ecadf06
-Digest cpan/Digest/Digest.pm 43f7f544cb11842b2f55c73e28930da50774e081
-Digest::SHA cpan/Digest-SHA/lib/Digest/SHA.pm 5841fcf70f7290e07befdd16f05093664c618a96
-Digest::SHA cpan/Digest-SHA/shasum f92faa37afc098e2a825e4ecda1097890492d957
-Encode cpan/Encode/bin/enc2xs 832a56f55ffc100e8beacfb0f0362f00d09a5056
-Encode cpan/Encode/bin/encguess f1e7a130995c4bad53bb6d3034dae625cfe61e32
-Encode cpan/Encode/bin/piconv 80ea7f9afff580e41c4b29f5ab214ed378274b49
-Encode cpan/Encode/bin/ucmlint 495862125269a60536b78fd0a7910d024c4d21fe
-Encode cpan/Encode/bin/unidump 715f47c2fcc661268f3c6cd3de0d27c72b745cd2
-Encode cpan/Encode/Encode.pm fc8f84c4344320d6712f3740d72eb05bf5d6abf7
-ExtUtils::Command cpan/ExtUtils-Command/lib/ExtUtils/Command.pm 245dd8fbe6e6a58fb02b6007b49ec7dc944d9fc9
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/bin/instmodsh 5bc04a0173b8b787f465271b6186220326ae8eef
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 6298f9b41b29e13010b185f64fa952570637fbb4
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm 6e16329fb4d4c2f8db4afef4d8e79c1c1c918128
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm fc0483c5c7b92a8e0f63eb1f762172cddce5b948
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 8d1b35fcd7d3b4f0552ffb151baf75ccb181267b
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm 676b10e16b2dc68ba21312ed8aa4d409e86005a6
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 7f4dfd0fe884bd42412bcf04ca80ef97b39c1d54
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm bef099988b15fb0b2a1f5ac48c01af1f7f36d329
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 8168e18f0e3ce3ece4bb7e7c72d57ec07c67c402
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 7115e97a53559cb3ec061dd6f7f344e522724c4a
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm f8db8d4245bf0684b8210c811f50d7cfb1a27d78
 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod 757bffb47857521311f8f3bde43ebe165f8d5191
 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm 82be06851deb84c6419ad003ce9b6d1957f395f3
 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod b01a546e52a908ce4ccd0b1a36fe81de52ab0691
 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm 91a7b2a36210cebd57ff89d202af3d2b7bce430c
 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm d4e7d722b4544be28da838912a7cc714528bc05f
 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/vpp.pm 7297903505ab551731692ec79cdc0f5396e12479
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 0e39b9ae0582cc333d8cfbe4256e3f3f1ae342b5
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm 81ebde56af5860edc646518fb64e5c427754ac4f
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm fb83ad4184016de85de92e8a428ec2e48b8fbc18
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm 6917a5d775e4e6f348abebe59ac4362e75885c51
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 843e15e58fe1a1bd7f6054dc8a8e839aaa03003b
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm 4cadf37f823fef47a4862c44a3d34aa38315600b
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm ee5298707a26912989934f1d44bf25460394ef60
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm e247f2f2ba5d6283418ec6125d64a7a2b477ae43
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm 1522f54c02b0f03a10ea837dc950b1adef83aecc
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 7d8c5389bc876d068efa0839ca5c1429a6d75166
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm c92f49161433b47e1bde182382f295d17469e298
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm a35e3b45759c40152eb49381ce559f8841670824
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm e071e7343ccfcefceb08edfc7adeb376750c641c
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm a28e086bbbb493569fe8eabc1ceb8ad439b255cf
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 3738ade1474915ee758d11756a86c82fa27b38b3
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 1eb8c77a788ad3c00064420361ab9234654b9525
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm 512ee5ce6c3c5733a2abb4ddf7ce18b704615d10
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm 69b72d04420c669a8924c5cba866db43466713c3
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm 53d22b9ee5292d4530d247251389aae92ba0a105
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm 34b76c6387d2f3f3a01dcbff605a781ba3d0d193
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm a2a37bdf9269c6fa66e031e2e6ed8d7a300e3f45
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 58872d66a72515f7d5be02417dfd2b28005fd61a
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 6f90d94ad3e7aa0045a3b1a10a1bb18391f89f57
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm cab2b3ce08b71a4ce89aa630f236eb08b852439d
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm 61fced0faf518bf87c265fcb51ed330ba354623f
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm ae0ef51a7b6dd0b05aa61c779df7167dda5f5119
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm 9bff0fc8801d93578a5ac35d39f06cdc0e2af1ef
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 0544301f7121ff02fd3a11b73ca2fab22e1176d4
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm 433135eecb85b4b1d90d3027432f329436c78447
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm 1fbb5605bfb47feee4083feba8aa85e659628f70
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm 5b66d1f485a6034d96fc24ba1665b1bad9e447f1
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 8cef99a9bd370ecfd07ddb0efbdcbb4101255e45
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 939572fde3d59ba77c2e677fe2df2bed4bed5898
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 09c2049bfd25b735e2a5bcf56a6cff7b4827f9c8
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm d65d63f8217a55c36f62e249814988974f593c79
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm c0ae2a92a7a9f71fc5f608b4192c6255510b7ae4
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm 12df38eacceeed73cab94c423236bfaed0fbbfec
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm 22fe9596a0237252f45399a36abc83b7813bc328
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm 7fbc42ca2ebc6c677b79ae5fd5647243cf069463
 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/basic.t 6cdc7701b50e586bc9c4cfb1616de8eb0b1baf34
 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/pm_to_blib.t 71ebcee355691ce374fcad251b12d8b2412462b3
-File::Fetch cpan/File-Fetch/lib/File/Fetch.pm bd0b64a1d8ee2ffac39e017f9fa9f78f95514b4d
-HTTP::Tiny cpan/HTTP-Tiny/lib/HTTP/Tiny.pm 4cffe21a5c66dd7336f13df7d52be5120d090aa7
-IO-Compress cpan/IO-Compress/bin/zipdetails 381ba2a6ae5bd21c8d2e994316e3e13f2f0a4f41
-IO-Compress cpan/IO-Compress/lib/Compress/Zlib.pm 01f382d46c6c7551cb16b3c99f5da015c55ad747
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm c95002609634395f0fd161e8a1d25d03c0bae022
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm 0ab5d3a1a28a3801ce5eb502adc580eaeee8c60c
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm 159f157fce8d0e1ec8b1aea4bcdd16c3c0904b65
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Base.pm 83cf2ae26a6809d5d41b8617f663bef2ca882c76
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Base/Common.pm 4eed3b8d6564c0d8edf9b76dc2caef341ea834eb
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Bzip2.pm a19dc021ebf08ad179b6ae3ce51400f5267e684c
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Deflate.pm 1348a0011ca6e6ad3028026e82c036a125721280
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Gzip.pm f6389389137ac9b7db76452014519f2f34f1d87d
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm e46ad4d39bed2b7fe0723fc9acec5d1dc5e46f7f
-IO-Compress cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm 9635dc6c8465292e2d8f3ad44ea1e54a9887b925
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Zip.pm 52fab82bbf8c4a7dc75a69a34626617e52ffbb68
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm e8ef5dfe48fa2246a5ff24f0488ca18ef3f3e1a1
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm ae7aa43b8c64718335fef04437162d31210424d8
-IO-Compress cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm 9236d2fcbe050834369771825067390a8d13f63a
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm 56decd37cd235cfcd6b98fe86746f715455d54bf
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm fff717d6a8218c97db5d5c4d551a67d3cf9a752c
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm 67e33ad09662d3bbdcb8741ea00f57cdeb466cd3
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm d99c1bba995e0b91f9c59d4854abb1d4f36c1328
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm 4ea764e8f4ebdd62fe380bb0b73b084b74123b76
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Base.pm 21649fb4e5aae09e0aebc5268d4d9aaaa7c72ae6
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm adeb4419132aa6786663a51e550e58a31f11d561
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm a7e12d30abb98b99f2f0601c2b05ba54a20a1b05
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm 988b69f2f165e4b66dd03850596795683677b1b2
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm b9f6794e96bfbee0910730c1a3f1e2b2caeec487
-IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm 1bbf7d65aa5ef341c049e9bb91c37470464d0824
-IPC::Cmd cpan/IPC-Cmd/lib/IPC/Cmd.pm d76a3537902c2a3097c07e41242e2c01fa8f3288
-JSON::PP cpan/JSON-PP/bin/json_pp 22e1b3760ec2b2cfd7ff0d2165f6e88907b94c70
-JSON::PP cpan/JSON-PP/lib/JSON/PP.pm 817730a21b9be855d844e4d26023758960039e99
-Locale::Maketext::Simple cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm 57ed38905791a17c150210cd6f42ead22a7707b6
-Memoize cpan/Memoize/Memoize.pm 902092ff91cdec9c7b4bd06202eb179e1ce26ca2
-Parse::CPAN::Meta cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm ab6b77a820c2a7779b5d81c4244e15822e9e1a7b
-Parse::CPAN::Meta cpan/Parse-CPAN-Meta/t/02_api.t 43bddf467352c5bb1d017971d37e64ec90461df0
-Pod::Perldoc cpan/Pod-Perldoc/lib/Pod/Perldoc.pm 6928fb8a381cfba8204886c656844bcf1abc60f5
-Sys::Syslog cpan/Sys-Syslog/Syslog.pm 181d7541a6aa2a0a4d15f5beec32d16c17c76caf
-Test cpan/Test/lib/Test.pm 785c02014198ec3dae35e41def2cb24766fcf1cb
-Test::Harness cpan/Test-Harness/bin/prove 9b2866928cb1125de2c68f9773b25723e02c54c0
-Test::Harness cpan/Test-Harness/lib/App/Prove.pm 8b96310d4e05b6ad72c7038a91e95a3aa6c1fc39
-Test::Harness cpan/Test-Harness/lib/App/Prove/State.pm ea87e075608a009b0763217f3e564389286fcea1
-Test::Harness cpan/Test-Harness/lib/App/Prove/State/Result.pm 6e820da9eae1ee43eef01f6255e25694832969f2
-Test::Harness cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm a8b4b89cfaafb44440c6724b5b94ead829a4510a
-Test::Harness cpan/Test-Harness/lib/TAP/Base.pm b91d8cf032790f421888bcdfa91d39e64f289a26
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Base.pm 9b017d6dd8bc2c699e193e6b893ed213a855c4e0
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Color.pm 1b97212502185fd234cc909021c5d5f57a448814
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Console.pm 4410d6595d38376b9bd965fede732f3428eef705
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm 85c0336b97954f1c58fdc48862a4b1ce2a149be3
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm 8c9595e1a7e7626834032c9a5954f5c66c0f1ff6
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/File.pm 2c7abea023c4fee7017cfb599a25cc551326c8aa
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm 6f2bf6392c6e9070bd21559e92ea97ad7006c152
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Session.pm 2e4847fd9ed08b2ba5d7c5617221b07afafd9fa5
-Test::Harness cpan/Test-Harness/lib/TAP/Harness.pm 2c013331c41e76a9c8ca4f97b57bf173e66610fa
-Test::Harness cpan/Test-Harness/lib/TAP/Harness/Env.pm a06dcbcb22f1f0ae7e625082c4dfaa4e2f91f0ed
-Test::Harness cpan/Test-Harness/lib/TAP/Object.pm 6461aadd7a3addf67c1cb8e171fb4680a71d5f0f
-Test::Harness cpan/Test-Harness/lib/TAP/Parser.pm 690e60f36c9a828c97c9397c017e9bb2721a26b4
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm f4c7a240ccdfaa8a2499429a0154760731c54389
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Grammar.pm 0350988f3f5e1a20e1fdd700a8e36e4909a98d1b
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator.pm 5957df07d2c629e3ae0cce6ee189fcf2d0e16481
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm 6ca0b21d09e7e522030803e80ee2c5e43da0200a
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm 1a7a34030b039043ba68ed6118669748d3e6f9ba
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm bfbedcdbca160cc01359af14dbd07a4ec7dacbdd
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm 001fc1c577479ccf6c04ce37a6e2ca68631f3513
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm 366c0e42bad072f2d26b87d8e102ca08b2b93d46
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result.pm 16d4699601d0810d6cff9087e0675c3c772a1052
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm e3c7652819686d2d990b612812e38b9dab00a6c6
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm 96dd44af4420752be211a2b13b223a40099ef24e
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm 4263622a6ca211b94bd161ef1dbdba4a8f026d1c
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm 22ba31346065c58aa46f362ab7b52e2de21e33bc
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm 3087c37d50a94b1a1b6504498b379bbbb83ef0a4
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm ba5ccd779dc722ba806ea36720a21c4e100c7a74
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm 6561e825d540e1aaed2633738de27aa6b8873895
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm f4ba6ffe0a2aa25eb3da94d4336a4b4f652f17f1
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm 17ff9e45e5591e50a5d2715c00d4762ffc4c71bc
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm 06100b96178d37578f0847e940b7fdf6c62a2f7e
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm a70a5bb740d6eda2fa005af66003cce9e4b4ca76
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm 552c5129e506d7d635f9a1b8b753d7ed61ec4bc7
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Source.pm 9f471c03d5d53c32dd7598428186ef8a41fe2e6a
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm 51e8103040eef96f40ef5e31d9611485b54530cb
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm 24f44ba332b73973ef84ae04a677eea43c1b1b34
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm a704768f7f7b216f54c5abf85f5849b2bc4b6173
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm c7c9caa93547245c9f891f0951c17c345d2f6c97
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm 3a2ff8b259d5eb02cec00cb78ad1cc52d57ad770
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm db4d800d8b324aa3fc2ec811339e6653973f6fda
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm ff16eb902d35a5c8cf065999fb869f50cd5b63ee
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm 992773df8e2027ebb264b9b4c8229feca069c487
-Test::Harness cpan/Test-Harness/lib/Test/Harness.pm 74b16495d3326641089b11498175cd4e9a666ce7
+Pod::Simple cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm 4108633c4f40f7f63c5a0245df2b07a4a2f22fec
+Pod::Simple cpan/Pod-Simple/lib/Pod/Simple/Search.pm 7a48823f9faec6d6bbef08060e679e46ccf60bc8
+Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util.pm 62d2a82a811b531a3fd25cb60c4c2ef943858892
+Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util/XS.pm 08abbe1a707927cee53e85ba85d6bd35c1c2ae50
+Scalar-List-Utils cpan/Scalar-List-Utils/lib/Scalar/Util.pm 7f1e6eb11105623200ef9cdcb881545ccb769ded
+Scalar-List-Utils cpan/Scalar-List-Utils/lib/Sub/Util.pm d87811528ae3587f04e2f09894b8c88471754386
+Scalar-List-Utils cpan/Scalar-List-Utils/ListUtil.xs ed25abc419771d6f3f12323f1f0a372f043d51b2
 Text::ParseWords cpan/Text-ParseWords/t/ParseWords.t 9bae51c9b944cd5c0bbabe9d397e573976a2be8e
 Win32API::File cpan/Win32API-File/buffers.h 02d230ac9ac7091365128161a0ed671898baefae
 Win32API::File cpan/Win32API-File/cFile.h fca7e383e76979c3ac3adf12d11d1bcd2618e489
@@ -150,20 +49,7 @@ Win32API::File cpan/Win32API-File/Makefile.PL 605d0aee31aebe84a99408f9ab5f644db5
 Win32API::File cpan/Win32API-File/t/file.t 124e64aa77e755235eb297644a87fac5388d3d78
 Win32API::File cpan/Win32API-File/t/tie.t 712ea7edd0cc805ce1c0b8172c01b03dd19b583d
 Win32API::File cpan/Win32API-File/typemap 24bff088babeadac0873e8df390d1666d9d9db4a
-libnet cpan/libnet/lib/Net/Cmd.pm 4a9f6e4501549a2d7a04fbf5f9e27ab0c00976f2
-libnet cpan/libnet/lib/Net/Config.pm dfa96dcd5a459f9f39e5ca513cefc82b8178520f
-libnet cpan/libnet/lib/Net/Domain.pm 090c8c06e210102dcf25e6820c6b43b5464ec49a
-libnet cpan/libnet/lib/Net/FTP.pm d2ba0c0acbb12274bdbdcc9a2f796dfdefffee3a
-libnet cpan/libnet/lib/Net/FTP/A.pm 5ab6b4c5842496fb1c20e2669149d38b77f956b9
-libnet cpan/libnet/lib/Net/FTP/dataconn.pm 51d87f91be37eff42450e783aa59e7253f5d6757
-libnet cpan/libnet/lib/Net/FTP/E.pm 58e16ebdce1299cfbc571eedcc5b8f39de28995d
-libnet cpan/libnet/lib/Net/FTP/I.pm 2be52cbb7621be0cb3b05c3c5e40cb674dbde379
-libnet cpan/libnet/lib/Net/FTP/L.pm 0d74596453fa3cdcffc793ce3b39144dc33138a3
-libnet cpan/libnet/lib/Net/Netrc.pm 4f633af3bcbb8fe3d66bc048c5399e15a6ae9339
-libnet cpan/libnet/lib/Net/NNTP.pm 8f1e0cdb2746b88245394fc4301b36be162cd8ff
-libnet cpan/libnet/lib/Net/POP3.pm dfd924fac6041c163f93e1b0006370eb55894f19
-libnet cpan/libnet/lib/Net/SMTP.pm 5dbb1d3bc93f00f130c7f62b15b9fa48c4fa99fd
-libnet cpan/libnet/lib/Net/Time.pm ddc742bc1d386ab6778090afb374d21bdc664d40
+autodie cpan/autodie/t/mkdir.t 9e70d2282a3cc7d76a78bf8144fccba20fb37dac
 podlators cpan/podlators/scripts/pod2man.PL f81acf53f3ff46cdcc5ebdd661c5d13eb35d20d6
 podlators cpan/podlators/scripts/pod2text.PL b4693fcfe4a0a1b38a215cfb8985a65d5d025d69
 version cpan/version/lib/version.pm d0923b895d57f1d669ae36fcf85c87b16db341d1
index cf0b19b..98c2c58 100644 (file)
@@ -108,7 +108,6 @@ Lingua::KO::Romanize::Hangul
 Lingua::ZH::Romanize::Pinyin
 List::Gather
 local::lib
-Log::Agent
 Log::Message
 Log::Message::Config
 Log::Message::Handlers
@@ -320,7 +319,7 @@ pod/perltru64.pod   Verbatim line length including indents exceeds 79 by    5
 pod/perlwin32.pod      Verbatim line length including indents exceeds 79 by    12
 porting/epigraphs.pod  Verbatim line length including indents exceeds 79 by    16
 porting/expand-macro.pl        Verbatim line length including indents exceeds 79 by    2
-porting/release_managers_guide.pod     Verbatim line length including indents exceeds 79 by    1
+porting/release_managers_guide.pod     Verbatim line length including indents exceeds 79 by    7
 porting/todo.pod       Verbatim line length including indents exceeds 79 by    7
 utils/c2ph     Verbatim line length including indents exceeds 79 by    44
 utils/encguess Apparent broken link    1
index 3377b19..64f6487 100644 (file)
@@ -23,7 +23,7 @@ BEGIN {
     skip_all_without_unicode_tables();
 }
 
-plan tests => 775;  # Update this when adding/deleting tests.
+plan tests => 774;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
@@ -1675,22 +1675,6 @@ EOP
                 "test that we handle things like m/\\888888888/ without infinite loops" );
         }
 
-        {   # Test that we handle some malformed UTF-8 without looping [perl
-            # #123562]
-
-            my $code='
-                BEGIN{require q(test.pl);}
-                use Encode qw(_utf8_on);
-                my $malformed = "a\x80\n";
-                _utf8_on($malformed);
-                watchdog(3);
-                $malformed =~ /(\n\r|\r)$/;
-                print q(No infinite loop here!);
-            ';
-            fresh_perl_like($code, qr/Malformed UTF-8 character/, {},
-                "test that we handle some UTF-8 malformations without looping" );
-        }
-
        {
                # [perl #123843] hits SEGV trying to compile this pattern
                my $match;
index 891bb66..230fd89 100644 (file)
@@ -28,57 +28,6 @@ run_tests() unless caller;
 sub run_tests {
 
     {
-        no warnings 'deprecated';
-
-        my $message = '\C matches octet';
-        $_ = "a\x{100}b";
-        ok(/(.)(\C)(\C)(.)/, $message);
-        is($1, "a", $message);
-        if ($::IS_ASCII) {     # ASCII (or equivalent), should be UTF-8
-            is($2, "\xC4", $message);
-            is($3, "\x80", $message);
-        }
-        elsif ($::IS_EBCDIC) { # EBCDIC (or equivalent), should be UTF-EBCDIC
-            is($2, "\x8C", $message);
-            is($3, "\x41", $message);
-        }
-        else {
-            SKIP: {
-                ok 0, "Unexpected platform", "ord ('A') =" . ord 'A';
-                skip "Unexpected platform";
-            }
-        }
-        is($4, "b", $message);
-    }
-
-    {
-        no warnings 'deprecated';
-
-        my $message = '\C matches octet';
-        $_ = "\x{100}";
-        ok(/(\C)/g, $message);
-        if ($::IS_ASCII) {
-            is($1, "\xC4", $message);
-        }
-        elsif ($::IS_EBCDIC) {
-            is($1, "\x8C", $message);
-        }
-        else {
-            ok 0, "Unexpected platform", "ord ('A') = " . ord 'A';
-        }
-        ok(/(\C)/g, $message);
-        if ($::IS_ASCII) {
-            is($1, "\x80", $message);
-        }
-        elsif ($::IS_EBCDIC) {
-            is($1, "\x41", $message);
-        }
-        else {
-            ok 0, "Unexpected platform", "ord ('A') = " . ord 'A';
-        }
-    }
-
-    {
         # Japhy -- added 03/03/2001
         () = (my $str = "abc") =~ /(...)/;
         $str = "def";
@@ -284,24 +233,6 @@ sub run_tests {
     }
 
     {
-        no warnings 'deprecated';
-
-        my $message = '. matches \n with /s';
-        my $str1 = "foo\nbar";
-        my $str2 = "foo\n\x{100}bar";
-        my ($a, $b) = map {chr} $::IS_ASCII ? (0xc4, 0x80) : (0x8c, 0x41);
-        my @a;
-        @a = $str1 =~ /./g;   is(@a, 6, $message); is("@a", "f o o b a r", $message);
-        @a = $str1 =~ /./gs;  is(@a, 7, $message); is("@a", "f o o \n b a r", $message);
-        @a = $str1 =~ /\C/g;  is(@a, 7, $message); is("@a", "f o o \n b a r", $message);
-        @a = $str1 =~ /\C/gs; is(@a, 7, $message); is("@a", "f o o \n b a r", $message);
-        @a = $str2 =~ /./g;   is(@a, 7, $message); is("@a", "f o o \x{100} b a r", $message);
-        @a = $str2 =~ /./gs;  is(@a, 8, $message); is("@a", "f o o \n \x{100} b a r", $message);
-        @a = $str2 =~ /\C/g;  is(@a, 9, $message); is("@a", "f o o \n $a $b b a r", $message);
-        @a = $str2 =~ /\C/gs; is(@a, 9, $message); is("@a", "f o o \n $a $b b a r", $message);
-    }
-
-    {
         no warnings 'digit';
         # Check that \x## works. 5.6.1 and 5.005_03 fail some of these.
         my $x;
@@ -492,11 +423,6 @@ sub run_tests {
                                          =~ /^(\X)!/ &&
                $1 eq "\N{LATIN CAPITAL LETTER E}\N{COMBINING GRAVE ACCENT}", $message);
 
-        no warnings 'deprecated';
-
-        $message = '\C and \X';
-        like("!abc!", qr/a\Cc/, $message);
-        like("!abc!", qr/a\Xc/, $message);
     }
 
     {
@@ -552,13 +478,6 @@ sub run_tests {
             $& eq "Francais", $message);
         ok("Fran\N{LATIN SMALL LETTER C WITH CEDILLA}ais" =~ /Fran.ais/ &&
             $& eq "Fran\N{LATIN SMALL LETTER C WITH CEDILLA}ais", $message);
-        {
-            no warnings 'deprecated';
-            ok("Fran\N{LATIN SMALL LETTER C}ais" =~ /Fran\Cais/ &&
-                $& eq "Francais", $message);
-            # COMBINING CEDILLA is two bytes when encoded
-            like("Franc\N{COMBINING CEDILLA}ais", qr/Franc\C\Cais/, $message);
-        }
         ok("Fran\N{LATIN SMALL LETTER C}ais" =~ /Fran\Xais/ &&
             $& eq "Francais", $message);
         ok("Fran\N{LATIN SMALL LETTER C WITH CEDILLA}ais" =~ /Fran\Xais/  &&
@@ -1114,8 +1033,6 @@ sub run_tests {
         # differently
         undef $w;
         eval q [ok "\N{TOO-LONG-STR}" =~ /^\N{TOO-LONG-STR}$/, 'Verify that what once was too long a string works'];
-        eval 'q(syntax error) =~ /\N{MALFORMED}/';
-        ok $@ && $@ =~ /Malformed/, 'Verify that malformed utf8 gives an error';
         eval 'q() =~ /\N{4F}/';
         ok $@ && $@ =~ /Invalid character/, 'Verify that leading digit in name gives error';
         eval 'q() =~ /\N{COM,MA}/';
index ed8fafc..f35e72c 100644 (file)
@@ -20,7 +20,7 @@ use warnings;
 use 5.010;
 use Config;
 
-plan tests => 2532;  # Update this when adding/deleting tests.
+plan tests => 2500;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
@@ -89,13 +89,6 @@ sub run_tests {
     }
 
     {
-        no warnings 'deprecated';
-        my $message = '\C and É; Bug 20001230.002';
-        ok("École" =~ /^\C\C(.)/ && $1 eq 'c', $message);
-        like("École", qr/^\C\C(c)/, $message);
-    }
-
-    {
         # The original bug report had 'no utf8' here but that was irrelevant.
 
         my $message = "Don't dump core; Bug 20010306.008";
@@ -233,59 +226,6 @@ sub run_tests {
     }
 
     {
-        our $a = "x\x{100}";
-        chop $a;    # Leaves the UTF-8 flag
-        $a .= "y";  # 1 byte before 'y'.
-
-        no warnings 'deprecated';
-
-        like($a, qr/^\C/,        'match one \C on 1-byte UTF-8; Bug 15763');
-        like($a, qr/^\C{1}/,     'match \C{1}; Bug 15763');
-
-        like($a, qr/^\Cy/,       'match \Cy; Bug 15763');
-        like($a, qr/^\C{1}y/,    'match \C{1}y; Bug 15763');
-
-        unlike($a, qr/^\C\Cy/,     q {don't match two \Cy; Bug 15763});
-        unlike($a, qr/^\C{2}y/,    q {don't match \C{2}y; Bug 15763});
-
-        $a = "\x{100}y"; # 2 bytes before "y"
-
-        like($a, qr/^\C/,        'match one \C on 2-byte UTF-8; Bug 15763');
-        like($a, qr/^\C{1}/,     'match \C{1}; Bug 15763');
-        like($a, qr/^\C\C/,      'match two \C; Bug 15763');
-        like($a, qr/^\C{2}/,     'match \C{2}; Bug 15763');
-
-        like($a, qr/^\C\C\C/,    'match three \C on 2-byte UTF-8 and a byte; Bug 15763');
-        like($a, qr/^\C{3}/,     'match \C{3}; Bug 15763');
-
-        like($a, qr/^\C\Cy/,     'match two \C; Bug 15763');
-        like($a, qr/^\C{2}y/,    'match \C{2}; Bug 15763');
-
-        unlike($a, qr/^\C\C\Cy/,   q {don't match three \Cy; Bug 15763});
-        unlike($a, qr/^\C{2}\Cy/,  q {don't match \C{2}\Cy; Bug 15763});
-        unlike($a, qr/^\C{3}y/,    q {don't match \C{3}y; Bug 15763});
-
-        $a = "\x{1000}y"; # 3 bytes before "y"
-
-        like($a, qr/^\C/,        'match one \C on three-byte UTF-8; Bug 15763');
-        like($a, qr/^\C{1}/,     'match \C{1}; Bug 15763');
-        like($a, qr/^\C\C/,      'match two \C; Bug 15763');
-        like($a, qr/^\C{2}/,     'match \C{2}; Bug 15763');
-        like($a, qr/^\C\C\C/,    'match three \C; Bug 15763');
-        like($a, qr/^\C{3}/,     'match \C{3}; Bug 15763');
-
-        like($a, qr/^\C\C\C\C/,  'match four \C on three-byte UTF-8 and a byte; Bug 15763');
-        like($a, qr/^\C{4}/,     'match \C{4}; Bug 15763');
-
-        like($a, qr/^\C\C\Cy/,   'match three \Cy; Bug 15763');
-        like($a, qr/^\C{3}y/,    'match \C{3}y; Bug 15763');
-
-        unlike($a, qr/^\C\C\C\Cy/, q {don't match four \Cy; Bug 15763});
-        unlike($a, qr/^\C{4}y/,    q {don't match \C{4}y; Bug 15763});
-    }
-
-    
-    {
         my $message = 'UTF-8 matching; Bug 15397';
         like("\x{100}", qr/\x{100}/, $message);
         like("\x{100}", qr/(\x{100})/, $message);
@@ -1173,13 +1113,6 @@ EOP
        # in the report above that only happened in a thread.
        my $s = "\x{1ff}" . "f" x 32;
        ok($s =~ /\x{1ff}[[:alpha:]]+/gca, "POSIXA pointer wrap");
-
-       # this one segfaulted under the conditions above
-       # of course, CANY is evil, maybe it should crash
-        {
-            no warnings 'deprecated';
-            ok($s =~ /.\C+/, "CANY pointer wrap");
-        }
     }
 } # End of sub run_tests
 
index 85ce7f4..a5f0527 100644 (file)
@@ -134,14 +134,7 @@ a[^]b]c    adc     y       $&      adc
 \By\b  xy      y       -       -
 \by\B  yz      y       -       -
 \By\B  xyz     y       -       -
-\b             n       -       -
-\b{gcb}                n       -       -
-\b{sb}         n       -       -
-\b{wb}         n       -       -
 \B             y       -       -
-\B{gcb}                y       -       -
-\B{sb}         y       -       -
-\B{wb}         y       -       -
 \w     a       y       -       -
 \w     -       n       -       -
 \W     a       n       -       -
@@ -1613,8 +1606,6 @@ a(.)\4294967298   ab\o{42}94967298        ya      $1      b       \d not converted to native; \o{} is
 ^m?(\d)(.*)\1$ 5b5     y       $1      5
 ^m?(\d)(.*)\1$ aba     n       -       -
 
-^_?[^\W_0-9]\w\z       \xAA\x{100}     y       $&      \xAA\x{100}             [perl #127537]
-
 # 17F is 'Long s';  This makes sure the a's in /aa can be separate
 /s/ai  \x{17F} y       $&      \x{17F}
 /s/aia \x{17F} n       -       -
@@ -1934,13 +1925,5 @@ A+(*PRUNE)BC(?{})        AAABC   y       $&      AAABC
 /w\zxy?\z/i    \x{100}a\x{80}a n       -       -
 /w\z\R\z/i     \x{100}a\x{80}a n       -       -
 
-/(a+){1}+a/    aaa     n       -       -               # [perl #125825]
-
-(?i    -       c       -       Sequence (?... not terminated
-(?a-x  -       c       -       Sequence (?... not terminated
-.{1}?? -       c       -       Nested quantifiers
-.{1}?+ -       c       -       Nested quantifiers
-(?:.||)(?|)000000000@  000000000@      y       $&      000000000@              #  [perl #126405]
-
 # Keep these lines at the end of the file
 # vim: softtabstop=0 noexpandtab
index e9509ce..452d982 100644 (file)
@@ -219,8 +219,6 @@ my @death =
  '/(?[ \x{} ])/' => 'Number with no digits {#} m/(?[ \x{}{#} ])/',
  '/(?[ \cK + ) ])/' => 'Unexpected \')\' {#} m/(?[ \cK + ){#} ])/',
  '/(?[ \cK + ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ \cK + {#}])/',
- '/(?[ ( ) ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ ( ) {#}])/',
- '/(?[[0]+()+])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[[0]+()+{#}])/',
  '/(?[ \p{foo} ])/' => 'Property \'foo\' is unknown {#} m/(?[ \p{foo}{#} ])/',
  '/(?[ \p{ foo = bar } ])/' => 'Property \'foo = bar\' is unknown {#} m/(?[ \p{ foo = bar }{#} ])/',
  '/(?[ \8 ])/' => 'Unrecognized escape \8 in character class {#} m/(?[ \8{#} ])/',
@@ -260,8 +258,6 @@ my @death =
  '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)/',
- '/(?[\ &!])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[\ &!{#}])/',    # [perl #126180]
- '/(?[!()])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[!(){#}])/',      # [perl #126404]
 );
 
 # These are messages that are warnings when not strict; death under 'use re
@@ -509,6 +505,7 @@ my @warning = (
                     'Useless (?c) - use /gc modifier {#} m/(?ogc{#})\x{100}/',
                   ],
     '/a{1,1}?\x{100}/' => 'Useless use of greediness modifier \'?\' {#} m/a{1,1}?{#}\x{100}/',
+    '/b{3}  +\x{100}/x' => 'Useless use of greediness modifier \'+\' {#} m/b{3}  +{#}\x{100}/',
     "/(?[ [ % - % ] ])/" => "",
     "/(?[ [ : - \\x$colon_hex ] ])\\x{100}/" => "\": - \\x$colon_hex \" is more clearly written simply as \":\" {#} m/(?[ [ : - \\x$colon_hex {#}] ])\\x{100}/",
     "/(?[ [ \\x$colon_hex - : ] ])\\x{100}/" => "\"\\x$colon_hex\ - : \" is more clearly written simply as \":\" {#} m/(?[ [ \\x$colon_hex - : {#}] ])\\x{100}/",
index 1848cac..48a4f00 100644 (file)
@@ -96,40 +96,6 @@ like("k", $still_fold, "/i on interpolated (?[ ]) is retained in outer without /
 eval 'my $x = qr/(?[ [a] ])/; qr/(?[ $x ])/';
 is($@, "", 'qr/(?[ [a] ])/ can be interpolated');
 
-like("B", qr/(?[ [B] | ! ( [^B] ) ])/, "[perl #125892]");
-
-# RT #126181: \cX behaves strangely inside (?[])
-{
-       no warnings qw(syntax regexp);
-
-       eval { $_ = '/(?[(\c]) /'; qr/$_/ };
-       like($@, qr/^Syntax error/, '/(?[(\c]) / should not panic');
-       eval { $_ = '(?[\c#]' . "\n])"; qr/$_/ };
-       like($@, qr/^Syntax error/, '/(?[(\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');
-       eval { $_ = '(?[\c[]](])'; qr/$_/ };
-       like($@, qr/^Syntax error/, '/(?[\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');
-       like("\c]", qr/(?[\c]])/, '\c] should match itself');
-}
-
-# RT #126481 !! with syntax error panics
-{
-    fresh_perl_like('no warnings "experimental::regex_sets"; qr/(?[ ! ! (\w])/',
-                    qr/^Unmatched \(/, {},
-                    'qr/(?[ ! ! (\w])/ doesnt panic');
-    # The following didn't panic before, but easy to add this here with a
-    # paren between the !!
-    fresh_perl_like('no warnings "experimental::regex_sets";qr/(?[ ! ( ! (\w)])/',
-                    qr/^Unmatched \(/, {},
-                    'qr/qr/(?[ ! ( ! (\w)])/');
-}
-
 done_testing();
 
 1;
index 4c661a9..6963c42 100644 (file)
@@ -8,7 +8,7 @@ BEGIN {
     require './charset_tools.pl';
 }
 
-plan( tests => 268 );
+plan( tests => 261 );
 
 $_ = 'david';
 $a = s/david/rules/r;
@@ -1034,25 +1034,6 @@ SKIP: {
     is("$division$division$division" =~ s/\B/!/ugr, "!$division!$division!$division!", '\\B matches Latin1 before string, mid, and end, /u');
     is("\x{2028}\x{2028}\x{2028}" =~ s/\B/!/ugr, "!\x{2028}!\x{2028}!\x{2028}!", '\\B matches above-Latin1 before string, mid, and end, /u');
 
-    fresh_perl_like( '$_=""; /\b{gcb}/;  s///g', qr/^$/, {},
-        '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{gcb}'
-    );
-    fresh_perl_like( '$_=""; /\B{gcb}/;  s///g', qr/^$/, {},
-        '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{gcb}'
-    );
-    fresh_perl_like( '$_=""; /\b{wb}/;  s///g', qr/^$/, {},
-        '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{wb}'
-    );
-    fresh_perl_like( '$_=""; /\B{wb}/;  s///g', qr/^$/, {},
-        '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{wb}'
-    );
-    fresh_perl_like( '$_=""; /\b{sb}/;  s///g', qr/^$/, {},
-        '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{sb}'
-    );
-    fresh_perl_like( '$_=""; /\B{sb}/;  s///g', qr/^$/, {},
-        '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{sb}'
-    );
-
 SKIP: {
     eval { require POSIX; POSIX->import("locale_h"); };
     if ($@ || !eval { &POSIX::LC_ALL; 1 }) {
@@ -1080,8 +1061,3 @@ SKIP: {
     $s1 =~ s/.?/$s1++/ge;
     is($s1, "01","RT #123954 s1");
 }
-{
-    # RT #126602 double free if the value being modified is freed in the replacement
-    fresh_perl_is('s//*_=0;s|0||;00.y0/e; print qq(ok\n)', "ok\n", { stderr => 1 },
-                  "[perl #126602] s//*_=0;s|0||/e crashes");
-}
index bd1a034..eb1202b 100644 (file)
@@ -27,6 +27,9 @@ my @locales = eval { find_locales( [ &LC_ALL, &LC_CTYPE, &LC_NUMERIC ],
                                  ) };
 skip_all("no locales available") unless @locales;
 
+# reset the locale environment
+local @ENV{'LANG', (grep /^LC_/, keys %ENV)};
+
 plan tests => &last;
 
 my $non_C_locale;
@@ -58,9 +61,6 @@ EOF
 SKIP: {
     skip("Windows stores locale defaults in the registry", 1 )
                                                             if $^O eq 'MSWin32';
-    local $ENV{LC_NUMERIC}; # So not taken as a default
-    local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
-    local $ENV{LANG};   # So not taken as a default
     fresh_perl_is("for (qw(@locales)) {\n" . <<'EOF',
         use POSIX qw(locale_h);
         use locale;
@@ -120,7 +120,6 @@ SKIP: {
     note("using the '$different' locale for LC_NUMERIC tests");
     {
        local $ENV{LC_NUMERIC} = $different;
-       local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
 
        fresh_perl_is(<<'EOF', "4.2", {},
 format STDOUT =
@@ -260,7 +259,6 @@ EOF
 
     {
        local $ENV{LC_NUMERIC} = $different;
-       local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
        fresh_perl_is(<<'EOF', "$difference "x4, {},
             use locale;
            use POSIX qw(locale_h);
@@ -272,8 +270,6 @@ EOF
 
     {
        local $ENV{LC_NUMERIC} = $different;
-       local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
-       local $ENV{LANG};   # so on Windows gets sys default locale
        fresh_perl_is(<<'EOF', "$difference "x4, {},
             use locale;
            use POSIX qw(locale_h);
@@ -348,7 +344,6 @@ EOF
 
     {
        local $ENV{LC_NUMERIC} = $different;
-       local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
        fresh_perl_is(<<"EOF",
            use POSIX qw(locale_h);
 
diff --git a/t/run/switchDx.t b/t/run/switchDx.t
deleted file mode 100644 (file)
index acb2995..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!./perl -w
-BEGIN {
-    chdir 't' if -d 't';
-    @INC = '../lib';
-    require './test.pl';
-    skip_all_if_miniperl();
-}
-
-use Config;
-
-my $perlio_log = "perlio$$.txt";
-
-skip_all "DEBUGGING build required"
-  unless $::Config{ccflags} =~ /DEBUGGING/
-         or $^O eq 'VMS' && $::Config{usedebugging_perl} eq 'Y';
-
-plan tests => 8;
-
-END {
-    unlink $perlio_log;
-}
-{
-    unlink $perlio_log;
-    local $ENV{PERLIO_DEBUG} = $perlio_log;
-    fresh_perl_is("print qq(hello\n)", "hello\n",
-                  { stderr => 1 },
-                  "No perlio debug file without -Di...");
-    ok(!-e $perlio_log, "...no perlio.txt found");
-    fresh_perl_is("print qq(hello\n)", "\nEXECUTING...\n\nhello\n",
-                  { stderr => 1, switches => [ "-Di" ] },
-                  "Perlio debug file with both -Di and PERLIO_DEBUG...");
-    ok(-e $perlio_log, "... perlio debugging file found with -Di and PERLIO_DEBUG");
-
-    unlink $perlio_log;
-    fresh_perl_like("print qq(hello\n)", qr/define raw/,
-                  { stderr => 1, switches => [ "-TDi" ] },
-                  "Perlio debug output to stderr with -TDi (with PERLIO_DEBUG)...");
-    ok(!-e $perlio_log, "...no perlio debugging file found");
-}
-
-{
-    local $ENV{PERLIO_DEBUG};
-    fresh_perl_like("print qq(hello)", qr/define raw/,
-                    { stderr => 1, switches => [ '-Di' ] },
-                   "-Di defaults to stderr");
-    fresh_perl_like("print qq(hello)", qr/define raw/,
-                    { stderr => 1, switches => [ '-TDi' ] },
-                   "Perlio debug output to STDERR with -TDi (no PERLIO_DEBUG)");
-}
-
diff --git a/t/win32/crypt.t b/t/win32/crypt.t
deleted file mode 100644 (file)
index f0e89ab..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#!./perl
-
-BEGIN {
-    chdir 't' if -d 't';
-    @INC = '../lib';
-    require "./test.pl";
-    eval 'use Errno';
-    die $@ if $@ and !is_miniperl();
-}
-
-my @bad_salts =
-   (
-    [ '',   'zero-length' ],
-    [ 'a',  'length 1' ],
-    [ '!a', 'bad first character' ],
-    [ 'a!', 'bad second character' ],
-    [ '@a', 'fencepost before A' ],
-    [ '[a', 'fencepost after Z' ],
-    [ '`a', 'fencepost before a' ],
-    [ '{a', 'fencepost after z' ],
-    [ '-a', 'fencepost before .' ],
-    [ ':a', 'fencepost after 9' ],
-   );
-
-my @good_salts = qw(aa zz AA ZZ .. 99);
-
-plan tests => 2 * @bad_salts + 1 + @good_salts;
-
-for my $bad_salt (@bad_salts) {
-    my ($salt, $what) = @$bad_salt;
-    $! = 0;
-    is(crypt("abc", $salt), undef, "bad salt ($what)");
-    is(0+$!, &Errno::EINVAL, "check errno ($what)");
-}
-
-is(crypt("abcdef", "ab"), "abDMWw5NL.afs", "sanity check result");
-
-# just to check we're not rejecting any good salts
-for my $good_salt (@good_salts) {
-    isnt(crypt("abcdef", $good_salt), undef, "good salt $good_salt");
-}
diff --git a/toke.c b/toke.c
index 8dfc128..4962521 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -1690,7 +1690,7 @@ S_incline(pTHX_ const char *s)
     }
     else {
        t = s;
-       while (*t && !isSPACE(*t))
+       while (!isSPACE(*t))
            t++;
        e = t;
     }
@@ -6149,18 +6149,11 @@ Perl_yylex(pTHX)
        TOKEN('$');
 
     case '@':
-        if (PL_expect == XPOSTDEREF)
-            POSTDEREF('@');
+       if (PL_expect == XOPERATOR)
+           no_op("Array", s);
+       else if (PL_expect == XPOSTDEREF) POSTDEREF('@');
        PL_tokenbuf[0] = '@';
        s = scan_ident(s, PL_tokenbuf + 1, sizeof PL_tokenbuf - 1, FALSE);
-       if (PL_expect == XOPERATOR) {
-            d = s;
-            if (PL_bufptr > s) {
-                d = PL_bufptr-1;
-                PL_bufptr = PL_oldbufptr;
-            }
-           no_op("Array", d);
-        }
        pl_yylval.ival = 0;
        if (!PL_tokenbuf[1]) {
            PREREF('@');
@@ -6320,13 +6313,7 @@ Perl_yylex(pTHX)
 
     case '`':
        s = scan_str(s,FALSE,FALSE,FALSE,NULL);
-       DEBUG_T( {
-            if (s)
-                printbuf("### Saw backtick string before %s\n", s);
-            else
-               PerlIO_printf(Perl_debug_log,
-                            "### Saw unterminated backtick string\n");
-        } );
+       DEBUG_T( { printbuf("### Saw backtick string before %s\n", s); } );
        if (PL_expect == XOPERATOR)
            no_op("Backticks",s);
        if (!s)
@@ -8042,13 +8029,7 @@ Perl_yylex(pTHX)
 
                if (*s == ':' && s[1] != ':')
                    PL_expect = attrful;
-               else if ((*s != '{' && *s != '(') && key != KEY_format) {
-                    assert(key == KEY_sub || key == KEY_AUTOLOAD ||
-                           key == KEY_DESTROY || key == KEY_BEGIN ||
-                           key == KEY_UNITCHECK || key == KEY_CHECK ||
-                           key == KEY_INIT || key == KEY_END ||
-                           key == KEY_my || key == KEY_state ||
-                           key == KEY_our);
+               else if ((*s != '{' && *s != '(') && key == KEY_sub) {
                    if (!have_name)
                        Perl_croak(aTHX_ "Illegal declaration of anonymous subroutine");
                    else if (*s != ';' && *s != '}')
@@ -9330,10 +9311,9 @@ S_scan_heredoc(pTHX_ char *s)
                goto streaming;
            }
          }
-       else {  /* eval or we've already hit EOF */
+       else {  /* eval */
            s = (char*)memchr((void*)s, '\n', PL_bufend - s);
-           if (!s)
-                goto interminable;
+           assert(s);
        }
        linestr = shared->ls_linestr;
        bufend = SvEND(linestr);
@@ -9387,14 +9367,12 @@ S_scan_heredoc(pTHX_ char *s)
     else
     {
       SV *linestr_save;
-      char *oldbufptr_save;
      streaming:
       sv_setpvs(tmpstr,"");   /* avoid "uninitialized" warning */
       term = PL_tokenbuf[1];
       len--;
       linestr_save = PL_linestr; /* must restore this afterwards */
       d = s;                    /* and this */
-      oldbufptr_save = PL_oldbufptr;
       PL_linestr = newSVpvs("");
       PL_bufend = SvPVX(PL_linestr);
       while (1) {
@@ -9411,7 +9389,6 @@ S_scan_heredoc(pTHX_ char *s)
               restore PL_linestr. */
            SvREFCNT_dec_NN(PL_linestr);
            PL_linestr = linestr_save;
-            PL_oldbufptr = oldbufptr_save;
            goto interminable;
        }
        CopLINE_set(PL_curcop, origline);
@@ -9446,7 +9423,6 @@ S_scan_heredoc(pTHX_ char *s)
            PL_linestr = linestr_save;
            PL_linestart = SvPVX(linestr_save);
            PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
-            PL_oldbufptr = oldbufptr_save;
            s = d;
            break;
        }
@@ -10047,7 +10023,6 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp)
      * multiple fp operations. */
     bool hexfp = FALSE;
     int total_bits = 0;
-    int significant_bits = 0;
 #if NVSIZE == 8 && defined(HAS_QUAD) && defined(Uquad_t)
 #  define HEXFP_UQUAD
     Uquad_t hexfp_uquad = 0;
@@ -10058,7 +10033,6 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp)
 #endif
     NV hexfp_mult = 1.0;
     UV high_non_zero = 0; /* highest digit */
-    int non_zero_integer_digits = 0;
 
     PERL_ARGS_ASSERT_SCAN_NUM;
 
@@ -10211,9 +10185,6 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp)
                     if (high_non_zero == 0 && b > 0)
                         high_non_zero = b;
 
-                    if (high_non_zero)
-                        non_zero_integer_digits++;
-
                     /* this could be hexfp, but peek ahead
                      * to avoid matching ".." */
                     if (UNLIKELY(HEXFP_PEEK(s))) {
@@ -10240,103 +10211,43 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp)
                  * detection will shortly be more thorough with the
                  * underbar checks. */
                 const char* h = s;
-                significant_bits = non_zero_integer_digits * shift;
 #ifdef HEXFP_UQUAD
                 hexfp_uquad = u;
 #else /* HEXFP_NV */
                 hexfp_nv = u;
 #endif
-                /* Ignore the leading zero bits of
-                 * the high (first) non-zero digit. */
-                if (high_non_zero) {
-                    if (high_non_zero < 0x8)
-                        significant_bits--;
-                    if (high_non_zero < 0x4)
-                        significant_bits--;
-                    if (high_non_zero < 0x2)
-                        significant_bits--;
-                }
-
                 if (*h == '.') {
 #ifdef HEXFP_NV
-                    NV nv_mult = 1.0;
+                    NV mult = 1 / 16.0;
 #endif
-                    bool accumulate = TRUE;
-                    for (h++; (isXDIGIT(*h) || *h == '_'); h++) {
+                    h++;
+                    while (isXDIGIT(*h) || *h == '_') {
                         if (isXDIGIT(*h)) {
                             U8 b = XDIGIT_VALUE(*h);
-                            significant_bits += shift;
+                            total_bits += shift;
 #ifdef HEXFP_UQUAD
-                            if (accumulate) {
-                                if (significant_bits < NV_MANT_DIG) {
-                                    /* We are in the long "run" of xdigits,
-                                     * accumulate the full four bits. */
-                                    hexfp_uquad <<= shift;
-                                    hexfp_uquad |= b;
-                                    hexfp_frac_bits += shift;
-                                } else {
-                                    /* We are at a hexdigit either at,
-                                     * or straddling, the edge of mantissa.
-                                     * We will try grabbing as many as
-                                     * possible bits. */
-                                    int tail =
-                                      significant_bits - NV_MANT_DIG;
-                                    if (tail <= 0)
-                                       tail += shift;
-                                    hexfp_uquad <<= tail;
-                                    hexfp_uquad |= b >> (shift - tail);
-                                    hexfp_frac_bits += tail;
-
-                                    /* Ignore the trailing zero bits
-                                     * of the last non-zero xdigit.
-                                     *
-                                     * The assumption here is that if
-                                     * one has input of e.g. the xdigit
-                                     * eight (0x8), there is only one
-                                     * bit being input, not the full
-                                     * four bits.  Conversely, if one
-                                     * specifies a zero xdigit, the
-                                     * assumption is that one really
-                                     * wants all those bits to be zero. */
-                                    if (b) {
-                                        if ((b & 0x1) == 0x0) {
-                                            significant_bits--;
-                                            if ((b & 0x2) == 0x0) {
-                                                significant_bits--;
-                                                if ((b & 0x4) == 0x0) {
-                                                    significant_bits--;
-                                                }
-                                            }
-                                        }
-                                    }
-
-                                    accumulate = FALSE;
-                                }
-                            } else {
-                                /* Keep skipping the xdigits, and
-                                 * accumulating the significant bits,
-                                 * but do not shift the uquad
-                                 * (which would catastrophically drop
-                                 * high-order bits) or accumulate the
-                                 * xdigits anymore. */
-                            }
+                            hexfp_uquad <<= shift;
+                            hexfp_uquad |= b;
+                            hexfp_frac_bits += shift;
 #else /* HEXFP_NV */
-                            if (accumulate) {
-                                nv_mult /= 16.0;
-                                if (nv_mult > 0.0)
-                                    hexfp_nv += b * nv_mult;
-                                else
-                                    accumulate = FALSE;
-                            }
+                            hexfp_nv += b * mult;
+                            mult /= 16.0;
 #endif
                         }
-                        if (significant_bits >= NV_MANT_DIG)
-                            accumulate = FALSE;
+                        h++;
                     }
                 }
 
-                if ((total_bits > 0 || significant_bits > 0) &&
-                    isALPHA_FOLD_EQ(*h, 'p')) {
+                if (total_bits >= 4) {
+                    if (high_non_zero < 0x8)
+                        total_bits--;
+                    if (high_non_zero < 0x4)
+                        total_bits--;
+                    if (high_non_zero < 0x2)
+                        total_bits--;
+                }
+
+                if (total_bits > 0 && (isALPHA_FOLD_EQ(*h, 'p'))) {
                     bool negexp = FALSE;
                     h++;
                     if (*h == '+')
@@ -10352,21 +10263,23 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp)
                                 hexfp_exp *= 10;
                                 hexfp_exp += *h - '0';
 #ifdef NV_MIN_EXP
-                                if (negexp
-                                    && -hexfp_exp < NV_MIN_EXP - 1) {
+                                if (negexp &&
+                                    -hexfp_exp < NV_MIN_EXP - 1) {
                                     Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
                                                    "Hexadecimal float: exponent underflow");
+#endif
                                     break;
                                 }
-#endif
+                                else {
 #ifdef NV_MAX_EXP
-                                if (!negexp
-                                    && hexfp_exp > NV_MAX_EXP - 1) {
-                                    Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
+                                    if (!negexp &&
+                                        hexfp_exp > NV_MAX_EXP - 1) {
+                                        Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
                                                    "Hexadecimal float: exponent overflow");
-                                    break;
-                                }
+                                        break;
+                                    }
 #endif
+                                }
                             }
                             h++;
                         }
@@ -10576,7 +10489,7 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp)
            *d = '\0';
             if (UNLIKELY(hexfp)) {
 #  ifdef NV_MANT_DIG
-                if (significant_bits > NV_MANT_DIG)
+                if (total_bits > NV_MANT_DIG)
                     Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
                                    "Hexadecimal float: mantissa overflow");
 #  endif
index f4f57dc..ce693a0 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  *     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.22/unknown"          / **/
-/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.22/unknown"              / **/
+/*#define ARCHLIB "/usr/local/lib/perl5/5.23/unknown"          / **/
+/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.23/unknown"              / **/
 
 /* ARCHNAME:
  *     This symbol holds a string representing the architecture name.
  *     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_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN
+ *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN
  *     LONG_DOUBLE_IS_UNKNOWN_FORMAT
  *     It is only defined if the system supports long doubles.
  */
 #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_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN      5
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6
 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT                  -1
-/* Backward compat. */
-#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN      LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE
-#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
 #endif
 
 /* HAS_LONG_LONG:
  *     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.22"            /**/
-#define PRIVLIB_EXP "/usr/local/lib/perl5/5.22"                /**/
+#define PRIVLIB "/usr/local/lib/perl5/5.23"            /**/
+#define PRIVLIB_EXP "/usr/local/lib/perl5/5.23"                /**/
 
 /* CAN_PROTOTYPE:
  *     If defined, this macro indicates that the C compiler can handle
  *     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.22/unknown"         / **/
-/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.22/unknown"             / **/
+/*#define SITEARCH "/usr/local/lib/perl5/5.23/unknown"         / **/
+/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.23/unknown"             / **/
 
 /* SITELIB:
  *     This symbol contains the name of the private library for this package.
  *     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.22"            /**/
-#define SITELIB_EXP "/usr/local/lib/perl5/5.22"                /**/
+#define SITELIB "/usr/local/lib/perl5/5.23"            /**/
+#define SITELIB_EXP "/usr/local/lib/perl5/5.23"                /**/
 #define SITELIB_STEM "/usr/local/lib/perl5"            /**/
 
 /* Size_t_size:
 /*#define PERL_PRIeldbl        "lle"   / **/
 /*#define PERL_SCNfldbl        "llf"   / **/
 
+/* 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, 0x00, 0x00, 0x00, 0x00         /**/
+#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 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
+
+/* 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 NVMANTBITS 52          /**/
+
 /* NEED_VA_COPY:
  *     This symbol, if defined, indicates that the system stores
  *     the variable argument list datatype, va_list, in a format
 #endif
 
 /* Generated from:
- * 02c4c9c3e2a7fb7b5c1d2fd7e34acd5c6706d5fd7c40544a1e714355c2f2b264 config_h.SH
- * 45fb46f69ab3d7fd8ea14fc29d490d044cbdd81e8a0111bc0b37aff4321d6182 uconfig.sh
+ * c784534c0c9ca4f445c518a18404c8fd0b3be9aac3de1ee4a94453807935584c config_h.SH
+ * 0ce9d24f6ed83c533882929bc7c0138fe345656c4b7070aad99bb103dbf3790a uconfig.sh
  * ex: set ro: */
index edd4719..bd889e3 100644 (file)
@@ -6,8 +6,8 @@ afs='false'
 afsroot='/afs'
 alignbytes='4'
 aphostname='/bin/hostname'
-archlib='/usr/local/lib/perl5/5.22/unknown'
-archlibexp='/usr/local/lib/perl5/5.22/unknown'
+archlib='/usr/local/lib/perl5/5.23/unknown'
+archlibexp='/usr/local/lib/perl5/5.23/unknown'
 archname='unknown'
 asctime_r_proto='0'
 bin='/usr/local/bin'
@@ -547,7 +547,10 @@ db_version_major='0'
 db_version_minor='0'
 db_version_patch='0'
 direntrytype='struct dirent'
+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'
@@ -706,7 +709,10 @@ ivtype='long'
 ld_can_script='define'
 lib_ext='.a'
 localtime_r_proto='0'
+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'
@@ -731,6 +737,7 @@ nv_preserves_uv_bits='0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
@@ -745,8 +752,8 @@ package='perl5'
 perl_static_inline='static'
 phostname='hostname'
 pidtype=int
-privlib='/usr/local/lib/perl5/5.22'
-privlibexp='/usr/local/lib/perl5/5.22'
+privlib='/usr/local/lib/perl5/5.23'
+privlibexp='/usr/local/lib/perl5/5.23'
 procselfexe=''
 prototype='undef'
 ptrsize='4'
@@ -796,11 +803,11 @@ sig_name_init='0'
 sig_num_init='0'
 sig_size='1'
 signal_t=int
-sitearch='/usr/local/lib/perl5/5.22/unknown'
-sitearchexp='/usr/local/lib/perl5/5.22/unknown'
-sitelib='/usr/local/lib/perl5/5.22'
+sitearch='/usr/local/lib/perl5/5.23/unknown'
+sitearchexp='/usr/local/lib/perl5/5.23/unknown'
+sitelib='/usr/local/lib/perl5/5.23'
 sitelib_stem='/usr/local/lib/perl5'
-sitelibexp='/usr/local/lib/perl5/5.22'
+sitelibexp='/usr/local/lib/perl5/5.23'
 sizesize=4
 sizetype='size_t'
 socksizetype='int'
index b26f8fc..ec09c1e 100644 (file)
@@ -7,8 +7,8 @@ afsroot='/afs'
 alignbytes='8'
 ansi2knr=''
 aphostname='/bin/hostname'
-archlib='/usr/local/lib/perl5/5.22/unknown'
-archlibexp='/usr/local/lib/perl5/5.22/unknown'
+archlib='/usr/local/lib/perl5/5.23/unknown'
+archlibexp='/usr/local/lib/perl5/5.23/unknown'
 archname='unknown64'
 asctime_r_proto='0'
 bin='/usr/local/bin'
@@ -548,7 +548,10 @@ db_version_major='0'
 db_version_minor='0'
 db_version_patch='0'
 direntrytype='struct dirent'
+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="((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))"
 drand48_r_proto='0'
@@ -706,7 +709,10 @@ ivsize='8'
 ivtype='long'
 lib_ext='.a'
 localtime_r_proto='0'
+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='8'
@@ -732,6 +738,7 @@ nv_preserves_uv_bits='0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
@@ -746,8 +753,8 @@ package='perl5'
 perl_static_inline='static'
 phostname='hostname'
 pidtype=int
-privlib='/usr/local/lib/perl5/5.22'
-privlibexp='/usr/local/lib/perl5/5.22'
+privlib='/usr/local/lib/perl5/5.23'
+privlibexp='/usr/local/lib/perl5/5.23'
 procselfexe=''
 prototype='undef'
 ptrsize='8'
@@ -797,11 +804,11 @@ sig_name_init='0'
 sig_num_init='0'
 sig_size='1'
 signal_t=int
-sitearch='/usr/local/lib/perl5/5.22/unknown'
-sitearchexp='/usr/local/lib/perl5/5.22/unknown'
-sitelib='/usr/local/lib/perl5/5.22'
+sitearch='/usr/local/lib/perl5/5.23/unknown'
+sitearchexp='/usr/local/lib/perl5/5.23/unknown'
+sitelib='/usr/local/lib/perl5/5.23'
 sitelib_stem='/usr/local/lib/perl5'
-sitelibexp='/usr/local/lib/perl5/5.22'
+sitelibexp='/usr/local/lib/perl5/5.23'
 sizesize=4
 sizetype='size_t'
 socksizetype='int'
index a7ddfeb..7da4eb3 100644 (file)
 #endif /* EBCDIC POSIX-BC */
 
 /* The number of code points not matching \pC */
-#define NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C  112806
+#define NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C  120522
 
 #endif /* H_UNICODE_CONSTANTS */
 
index 4b650c5..58b010b 100644 (file)
@@ -205,7 +205,7 @@ Perl_sv_does_sv(pTHX_ SV *sv, SV *namesv, U32 flags)
        return FALSE;
     }
 
-    if (sv_isobject(sv)) {
+    if (SvROK(sv) && SvOBJECT(SvRV(sv))) {
        classname = sv_ref(NULL,SvRV(sv),TRUE);
     } else {
        classname = sv;
diff --git a/util.c b/util.c
index 457b013..990c083 100644 (file)
--- a/util.c
+++ b/util.c
@@ -2110,7 +2110,7 @@ Perl_my_setenv(pTHX_ const char *nam, const char *val)
        Configure doesn't test for that yet.  For Solaris, setenv() and unsetenv()
        were introduced in Solaris 9, so testing for HAS UNSETENV is sufficient.
     */
-#   if defined(__CYGWIN__)|| defined(__SYMBIAN32__) || defined(__riscos__) || (defined(__sun) && defined(HAS_UNSETENV)) || defined(PERL_DARWIN)
+#   if defined(__CYGWIN__)|| defined(__SYMBIAN32__) || defined(__riscos__) || (defined(__sun) && defined(HAS_UNSETENV))
 #       if defined(HAS_UNSETENV)
         if (val == NULL) {
             (void)unsetenv(nam);
@@ -4884,8 +4884,6 @@ Perl_mem_log_alloc(const UV n, const UV typesize, const char *type_name,
                   const char *filename, const int linenumber,
                   const char *funcname)
 {
-    PERL_ARGS_ASSERT_MEM_LOG_ALLOC;
-
     mem_log_common_if(MLT_ALLOC, n, typesize, type_name,
                      NULL, NULL, newalloc,
                      filename, linenumber, funcname);
@@ -4898,8 +4896,6 @@ Perl_mem_log_realloc(const UV n, const UV typesize, const char *type_name,
                     const char *filename, const int linenumber, 
                     const char *funcname)
 {
-    PERL_ARGS_ASSERT_MEM_LOG_REALLOC;
-
     mem_log_common_if(MLT_REALLOC, n, typesize, type_name,
                      NULL, oldalloc, newalloc, 
                      filename, linenumber, funcname);
@@ -4911,8 +4907,6 @@ Perl_mem_log_free(Malloc_t oldalloc,
                  const char *filename, const int linenumber, 
                  const char *funcname)
 {
-    PERL_ARGS_ASSERT_MEM_LOG_FREE;
-
     mem_log_common_if(MLT_FREE, 0, 0, "", NULL, oldalloc, NULL, 
                      filename, linenumber, funcname);
     return oldalloc;
@@ -6056,7 +6050,7 @@ static const char* atos_parse(const char* p,
     *source_name_size = source_name_end - p;
     if (grok_atoUV(source_number_start, &uv,  &source_line_end)
         && source_line_end == close_paren
-        && uv <= PERL_INT_MAX
+        && uv <= MAX_STRLEN
     ) {
         *source_line = (STRLEN)uv;
         return p;
@@ -6123,14 +6117,14 @@ static void atos_symbolize(atos_context* ctx,
             char out[1024];
             UV cnt = fread(out, 1, sizeof(out), fp);
             if (cnt < sizeof(out)) {
-                const char* p = atos_parse(out + cnt - 1, out,
+                const char* p = atos_parse(out + cnt, out,
                                            source_name_size,
                                            source_line);
                 if (p) {
                     Newx(*source_name,
-                         *source_name_size, char);
+                         *source_name_size + 1, char);
                     Copy(p, *source_name,
-                         *source_name_size,  char);
+                         *source_name_size + 1,  char);
                 }
             }
             pclose(fp);
@@ -6255,15 +6249,14 @@ Perl_get_c_backtrace(pTHX_ int depth, int skip)
         for (i = skip; i < try_depth; i++) {
             Dl_info* dl_info = &dl_infos[i];
 
-            object_name_sizes[i] = 0;
+            total_bytes += sizeof(Perl_c_backtrace_frame);
+
             source_names[i] = NULL;
             source_name_sizes[i] = 0;
             source_lines[i] = 0;
 
             /* Yes, zero from dladdr() is failure. */
             if (dladdr(raw_frames[i], dl_info)) {
-                total_bytes += sizeof(Perl_c_backtrace_frame);
-
                 object_name_sizes[i] =
                     dl_info->dli_fname ? strlen(dl_info->dli_fname) : 0;
                 symbol_name_sizes[i] =
index cef0b5c..13389ec 100644 (file)
@@ -280,7 +280,6 @@ Anyway, here it is.  Should run on perl v4 or greater.  Maybe less.
 
 $RCSID = '$Id: c2ph,v 1.7 95/10/28 10:41:47 tchrist Exp Locker: tchrist $';
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use File::Temp;
 
 ######################################################################
index 2523c0a..d082f22 100644 (file)
@@ -36,8 +36,6 @@ $Config{startperl}
 
 print OUT <<'!NO!SUBS!';
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
-
 use strict;
 
 use Config;
index 8fda87b..4cb0943 100644 (file)
@@ -35,8 +35,6 @@ $Config{startperl}
 
 print OUT <<'!NO!SUBS!';
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
-
 use warnings;
 
 =head1 NAME
index 26d2f99..59a2de8 100644 (file)
@@ -97,7 +97,6 @@ Jarkko Hietaniemi, conversion into libnetcfg for inclusion into Perl 5.8.
 
 # $Id: Configure,v 1.8 1997/03/04 09:22:32 gbarr Exp $
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use IO::File;
 use Getopt::Std;
index ae8c343..885785a 100644 (file)
@@ -57,7 +57,6 @@ print OUT <<'!NO!SUBS!';
 my @patches = Config::local_patches();
 my $patch_tags = join "", map /(\S+)/ ? "+$1 " : (), @patches;
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
 use warnings;
 use strict;
 use Config;
index cd60bd4..e201de9 100644 (file)
@@ -44,10 +44,7 @@ $Config{startperl}
 # This "$file" file was generated by "$0"
 
 require 5;
-BEGIN {
-    \$^W = 1 if \$ENV{'PERLDOCDEBUG'};
-    pop \@INC if \$INC[-1] eq '.';
-}
+BEGIN { \$^W = 1 if \$ENV{'PERLDOCDEBUG'} }
 use Pod::Perldoc;
 exit( Pod::Perldoc->run() );
 
index e522913..c2f0a11 100644 (file)
@@ -39,8 +39,6 @@ print OUT "\n# perlivp $^V\n";
 
 print OUT <<'!NO!SUBS!';
 
-BEGIN { pop @INC if $INC[-1] eq '.' }
-
 sub usage {
     warn "@_\n" if @_;
     print << "    EOUSAGE";
index bbcdad6..9c70b61 100644 (file)
@@ -38,12 +38,6 @@ $Config{startperl}
        if \$running_under_some_shell;
 !GROK!THIS!
 
-print OUT <<'!NO!SUBS!';
-
-BEGIN { pop @INC if $INC[-1] eq '.' }
-
-!NO!SUBS!
-
 while (<IN>) {
     print OUT unless /^package diagnostics/;
 }
index b8fea83..0e3e9b6 100644 (file)
@@ -307,7 +307,7 @@ utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5)
 extra.pods : miniperl
        @ @extra_pods.com
 
-PERLDELTA_CURRENT = [.pod]perl5223delta.pod
+PERLDELTA_CURRENT = [.pod]perl5230delta.pod
 
 $(PERLDELTA_CURRENT) : [.pod]perldelta.pod
        Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT)
index b6c6d12..953d8b8 100644 (file)
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -1337,9 +1337,7 @@ prime_env_iter(void)
     if (!str$case_blind_compare(env_tables[i],&crtlenv)) {
       char *start;
       int j;
-      /* Start at the end, so if there is a duplicate we keep the first one. */
-      for (j = 0; environ[j]; j++);
-      for (j--; j >= 0; j--) {
+      for (j = 0; environ[j]; j++) { 
         if (!(start = strchr(environ[j],'='))) {
           if (ckWARN(WARN_INTERNAL)) 
             Perl_warner(aTHX_ packWARN(WARN_INTERNAL),"Ill-formed CRTL environ value \"%s\"\n",environ[j]);
diff --git a/win32/GNUmakefile b/win32/GNUmakefile
new file mode 100644 (file)
index 0000000..27229a8
--- /dev/null
@@ -0,0 +1,1380 @@
+#
+# Makefile to build perl on Windows using GNU make + gcc + MinGW.
+#
+# This is set up to build a perl.exe that runs off a shared library
+# (perl523.dll).  Also makes individual DLLs for the XS extensions.
+#
+# The easiest way to customize the build process is to use parameters like this:
+#
+# c:\dev\perlsrc\win32> gmake INST_TOP=c:\sw\perl CCHOME=c:\sw\mingw USE_64_BIT_INT=define
+
+
+##
+## Make sure you read README.win32 *before* you mess with anything here!
+##
+
+#
+# We set this to point to cmd.exe in case GNU Make finds sh.exe in the path.
+# Comment this line out if necessary
+#
+SHELL := cmd.exe
+
+# define whether you want to use native gcc compiler or cross-compiler
+# possible values: gcc
+#                  i686-w64-mingw32-gcc
+#                  x86_64-w64-mingw32-gcc
+GCCBIN := gcc
+
+ifeq ($(GCCBIN),x86_64-w64-mingw32-gcc)
+GCCCROSS := x86_64-w64-mingw32
+endif
+ifeq ($(GCCBIN),i686-w64-mingw32-gcc)
+GCCCROSS := i686-w64-mingw32
+endif
+
+GCCTARGET := $(shell $(GCCBIN) -dumpmachine)
+GCCVER1   := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') do echo %%i)
+GCCVER2   := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') do echo %%j)
+GCCVER3   := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') do echo %%k)
+
+ifeq ($(GCCTARGET),x86_64-w64-mingw32)
+WIN64 := define
+ARCHITECTURE := x64
+endif
+ifeq ($(GCCTARGET),i686-w64-mingw32)
+WIN64 := undef
+ARCHITECTURE := x86
+endif
+
+##
+## Build configuration.  Edit the values below to suit your needs.
+##
+
+#
+# Set these to wherever you want "gmake install" to put your
+# newly built perl.
+#
+INST_DRV := c:
+INST_TOP := $(INST_DRV)\perl
+
+#
+# Comment this out if you DON'T want your perl installation to be versioned.
+# This means that the new installation will overwrite any files from the
+# old installation at the same INST_TOP location.  Leaving it enabled is
+# the safest route, as perl adds the extra version directory to all the
+# locations it installs files to.  If you disable it, an alternative
+# versioned installation can be obtained by setting INST_TOP above to a
+# path that includes an arbitrary version string.
+#
+#INST_VER      := \5.23.0
+
+#
+# Comment this out if you DON'T want your perl installation to have
+# architecture specific components.  This means that architecture-
+# specific files will be installed along with the architecture-neutral
+# files.  Leaving it enabled is safer and more flexible, in case you
+# want to build multiple flavors of perl and install them together in
+# the same location.  Commenting it out gives you a simpler
+# installation that is easier to understand for beginners.
+#
+#INST_ARCH     := \$(ARCHNAME)
+
+#
+# Uncomment this if you want perl to run
+#      $Config{sitelibexp}\sitecustomize.pl
+# before anything else.  This script can then be set up, for example,
+# to add additional entries to @INC.
+#
+#USE_SITECUST  := define
+
+#
+# uncomment to enable multiple interpreters.  This is needed for fork()
+# emulation and for thread support, and is auto-enabled by USE_IMP_SYS
+# and USE_ITHREADS below.
+#
+USE_MULTI      := define
+
+#
+# Interpreter cloning/threads; now reasonably complete.
+# This should be enabled to get the fork() emulation.  This needs (and
+# will auto-enable) USE_MULTI above.
+#
+USE_ITHREADS   := define
+
+#
+# uncomment to enable the implicit "host" layer for all system calls
+# made by perl.  This is also needed to get fork().  This needs (and
+# will auto-enable) USE_MULTI above.
+#
+USE_IMP_SYS    := define
+
+#
+# Comment out next assign to disable perl's I/O subsystem and use compiler's
+# stdio for IO - depending on your compiler vendor and run time library you may
+# then get a number of fails from make test i.e. bugs - complain to them not us ;-).
+# You will also be unable to take full advantage of perl5.8's support for multiple
+# encodings and may see lower IO performance. You have been warned.
+#
+USE_PERLIO     := define
+
+#
+# Comment this out if you don't want to enable large file support for
+# some reason.  Should normally only be changed to maintain compatibility
+# with an older release of perl.
+#
+USE_LARGE_FILES        := define
+
+#
+# Uncomment this if you're building a 32-bit perl and want 64-bit integers.
+# (If you're building a 64-bit perl then you will have 64-bit integers whether
+# or not this is uncommented.)
+# Note: This option is not supported in 32-bit MSVC60 builds.
+#
+#USE_64_BIT_INT        := define
+
+#
+# Uncomment this if you want to support the use of long doubles.
+#
+#USE_LONG_DOUBLE :=define
+
+#
+# uncomment next line if you want debug version of perl (big,slow)
+# If not enabled, we automatically try to use maximum optimization
+# with all compilers that are known to have a working optimizer.
+#
+#CFG           := Debug
+
+#
+# uncomment to enable linking with setargv.obj under the Visual C
+# compiler. Setting this options enables perl to expand wildcards in
+# arguments, but it may be harder to use alternate methods like
+# File::DosGlob that are more powerful.  This option is supported only with
+# Visual C.
+#
+#USE_SETARGV   := define
+
+#
+# set this if you wish to use perl's malloc
+# WARNING: Turning this on/off WILL break binary compatibility with extensions
+# you may have compiled with/without it.  Be prepared to recompile all
+# extensions if you change the default.  Currently, this cannot be enabled
+# if you ask for USE_IMP_SYS above.
+#
+#PERL_MALLOC   := define
+
+#
+# set this to enable debugging mstats
+# This must be enabled to use the Devel::Peek::mstat() function.  This cannot
+# be enabled without PERL_MALLOC as well.
+#
+#DEBUG_MSTATS  := define
+
+#
+# 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 perl523s.lib will also be created.
+# Ordinary perl.exe is not affected by this option.
+#
+#BUILD_STATIC  := define
+
+#
+# in addition to BUILD_STATIC the option ALL_STATIC makes *every*
+# 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
+#
+#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)
+#
+CCHOME         := C:\MinGW
+
+#
+# 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
+
+#
+# Additional compiler flags can be specified here.
+#
+BUILDOPT       := $(BUILDOPTEXTRA)
+
+#
+# This should normally be disabled.  Enabling it will disable the File::Glob
+# implementation of CORE::glob.
+#
+#BUILDOPT      += -DPERL_EXTERNAL_GLOB
+
+#
+# Perl needs to read scripts in text mode so that the DATA filehandle
+# works correctly with seek() and tell(), or around auto-flushes of
+# all filehandles (e.g. by system(), backticks, fork(), etc).
+#
+# The current version on the ByteLoader module on CPAN however only
+# works if scripts are read in binary mode.  But before you disable text
+# mode script reading (and break some DATA filehandle functionality)
+# please check first if an updated ByteLoader isn't available on CPAN.
+#
+BUILDOPT       += -DPERL_TEXTMODE_SCRIPTS
+
+#
+# specify semicolon-separated list of extra directories that modules will
+# look for libraries (spaces in path names need not be quoted)
+#
+EXTRALIBDIRS   :=
+
+#
+# set this to your email address (perl will guess a value from
+# from your loginname and your hostname, which may not be right)
+#
+#EMAIL         :=
+
+##
+## Build configuration ends.
+##
+
+##################### CHANGE THESE ONLY IF YOU MUST #####################
+
+PERL_MALLOC    ?= undef
+DEBUG_MSTATS   ?= undef
+
+USE_SITECUST   ?= undef
+USE_MULTI      ?= undef
+USE_ITHREADS   ?= undef
+USE_IMP_SYS    ?= undef
+USE_PERLIO     ?= undef
+USE_LARGE_FILES        ?= undef
+USE_64_BIT_INT ?= undef
+USE_LONG_DOUBLE        ?= undef
+
+ifeq ($(USE_IMP_SYS),define)
+PERL_MALLOC    = undef
+endif
+
+ifeq ($(PERL_MALLOC),undef)
+DEBUG_MSTATS   = undef
+endif
+
+ifeq ($(DEBUG_MSTATS),define)
+BUILDOPT       += -DPERL_DEBUGGING_MSTATS
+endif
+
+ifeq ("$(USE_IMP_SYS) $(USE_MULTI)","define undef")
+USE_MULTI      = define
+endif
+
+ifeq ("$(USE_ITHREADS) $(USE_MULTI)","define undef")
+USE_MULTI      = define
+endif
+
+ifeq ($(USE_SITECUST),define)
+BUILDOPT       += -DUSE_SITECUSTOMIZE
+endif
+
+ifneq ($(USE_MULTI),undef)
+BUILDOPT       += -DPERL_IMPLICIT_CONTEXT
+endif
+
+ifneq ($(USE_IMP_SYS),undef)
+BUILDOPT       += -DPERL_IMPLICIT_SYS
+endif
+
+ifeq ($(WIN64),define)
+USE_64_BIT_INT = define
+endif
+
+ifeq ($(USE_MULTI),define)
+ARCHNAME       = MSWin32-$(ARCHITECTURE)-multi
+else
+ifeq ($(USE_PERLIO),define)
+ARCHNAME       = MSWin32-$(ARCHITECTURE)-perlio
+else
+ARCHNAME       = MSWin32-$(ARCHITECTURE)
+endif
+endif
+
+ifeq ($(USE_PERLIO),define)
+BUILDOPT       += -DUSE_PERLIO
+endif
+
+ifeq ($(USE_ITHREADS),define)
+ARCHNAME       := $(ARCHNAME)-thread
+endif
+
+ifneq ($(WIN64),define)
+ifeq ($(USE_64_BIT_INT),define)
+ARCHNAME       := $(ARCHNAME)-64int
+endif
+endif
+
+ifeq ($(USE_LONG_DOUBLE),define)
+ARCHNAME       := $(ARCHNAME)-ld
+endif
+
+ARCHDIR                = ..\lib\$(ARCHNAME)
+COREDIR                = ..\lib\CORE
+AUTODIR                = ..\lib\auto
+LIBDIR         = ..\lib
+EXTDIR         = ..\ext
+DISTDIR                = ..\dist
+CPANDIR                = ..\cpan
+PODDIR         = ..\pod
+HTMLDIR                = .\html
+
+#
+INST_SCRIPT    = $(INST_TOP)$(INST_VER)\bin
+INST_BIN       = $(INST_SCRIPT)$(INST_ARCH)
+INST_LIB       = $(INST_TOP)$(INST_VER)\lib
+INST_ARCHLIB   = $(INST_LIB)$(INST_ARCH)
+INST_COREDIR   = $(INST_ARCHLIB)\CORE
+INST_HTML      = $(INST_TOP)$(INST_VER)\html
+
+#
+# Programs to compile, build .lib files and link
+#
+
+MINIBUILDOPT    :=
+
+CC             = $(ARCHPREFIX)gcc
+LINK32         = $(ARCHPREFIX)g++
+LIB32          = $(ARCHPREFIX)ar rc
+IMPLIB         = $(ARCHPREFIX)dlltool
+RSC            = $(ARCHPREFIX)windres
+
+ifeq ($(USE_LONG_DOUBLE),define)
+BUILDOPT        += -D__USE_MINGW_ANSI_STDIO
+MINIBUILDOPT    += -D__USE_MINGW_ANSI_STDIO
+endif
+
+# If you are using GCC, 4.3 or later by default we add the -fwrapv option.
+# See https://rt.perl.org/Ticket/Display.html?id=121505
+#
+GCCWRAPV := $(shell if "$(GCCVER1)"=="4" (if "$(GCCVER2)" geq "3" echo define) else if "$(GCCVER1)" geq "5" (echo define))
+
+ifeq ($(GCCWRAPV),define)
+BUILDOPT        += -fwrapv
+MINIBUILDOPT    += -fwrapv
+endif
+
+i = .i
+o = .o
+a = .a
+
+#
+# Options
+#
+
+INCLUDES       = -I.\include -I. -I.. -I$(COREDIR)
+DEFINES                = -DWIN32
+ifeq ($(WIN64),define)
+DEFINES                += -DWIN64 -DCONSERVATIVE
+endif
+LOCDEFS                = -DPERLDLL -DPERL_CORE
+SUBSYS         = console
+CXX_FLAG       = -xc++
+LIBC           =
+LIBFILES       = $(LIBC) \
+                 -lmoldname -lkernel32 -luser32 -lgdi32 \
+                 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 \
+                 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr \
+                 -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
+
+ifeq ($(CFG),Debug)
+OPTIMIZE       = -g -O2 -DDEBUGGING
+LINK_DBG       = -g
+else
+OPTIMIZE       = -s -O2
+LINK_DBG       = -s
+endif
+
+EXTRACFLAGS    =
+CFLAGS         = $(EXTRACFLAGS) $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE)
+LINK_FLAGS     = $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)"
+OBJOUT_FLAG    = -o
+EXEOUT_FLAG    = -o
+LIBOUT_FLAG    =
+
+BUILDOPT       += -fno-strict-aliasing -mms-bitfields
+MINIBUILDOPT   += -fno-strict-aliasing
+CFLAGS_O       = $(CFLAGS) $(BUILDOPT)
+
+# used to allow local linking flags that are not propogated into Config.pm,
+# currently unused
+#   -- BKS, 12-12-1999
+PRIV_LINK_FLAGS        =
+BLINK_FLAGS    = $(PRIV_LINK_FLAGS) $(LINK_FLAGS)
+
+#################### do not edit below this line #######################
+############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ##############
+
+%$(o): %.c
+       $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
+
+%.i: %.c
+       $(CC) -c -I$(<D) $(CFLAGS_O) -E $< >$@
+
+%.c: %.y
+       $(NOOP)
+
+%.dll: %$(o)
+       $(LINK32) -o $@ $(BLINK_FLAGS) $< $(LIBFILES)
+       $(IMPLIB) --input-def $(*F).def --output-lib $(*F).a $@
+
+%.res: %.rc
+       $(RSC) --use-temp-file --include-dir=. --include-dir=.. -O COFF -D INCLUDE_MANIFEST -i $< -o $@
+
+#
+# various targets
+MINIPERL       = ..\miniperl.exe
+MINIDIR                = mini
+PERLEXE                = ..\perl.exe
+WPERLEXE       = ..\wperl.exe
+PERLEXESTATIC  = ..\perl-static.exe
+STATICDIR      = .\static.tmp
+GLOBEXE                = ..\perlglob.exe
+CONFIGPM       = ..\lib\Config.pm ..\lib\Config_heavy.pl
+GENUUDMAP      = ..\generate_uudmap.exe
+ifeq ($(BUILD_STATIC),define)
+PERLSTATIC     = static
+else
+ifeq ($(ALL_STATIC),define)
+PERLSTATIC     = static
+else
+PERLSTATIC     =
+endif
+endif
+
+# Unicode data files generated by mktables
+UNIDATAFILES    = ..\lib\unicore\Decomposition.pl ..\lib\unicore\TestProp.pl \
+                  ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \
+                  ..\lib\unicore\UCD.pl ..\lib\unicore\Name.pm            \
+                  ..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst
+
+# Directories of Unicode data files generated by mktables
+UNIDATADIR1    = ..\lib\unicore\To
+UNIDATADIR2    = ..\lib\unicore\lib
+
+PERLEXE_MANIFEST= .\perlexe.manifest
+PERLEXE_ICO    = .\perlexe.ico
+PERLEXE_RES    = .\perlexe.res
+PERLDLL_RES    =
+
+# Nominate a target which causes extensions to be re-built
+# This used to be $(PERLEXE), but at worst it is the .dll that they depend
+# on and really only the interface - i.e. the .def file used to export symbols
+# from the .dll
+PERLDEP = perldll.def
+
+
+PL2BAT         = bin\pl2bat.pl
+
+UTILS          =                       \
+               ..\utils\h2ph           \
+               ..\utils\splain         \
+               ..\utils\perlbug        \
+               ..\utils\pl2pm          \
+               ..\utils\c2ph           \
+               ..\utils\pstruct        \
+               ..\utils\h2xs           \
+               ..\utils\perldoc        \
+               ..\utils\perlivp        \
+               ..\utils\libnetcfg      \
+               ..\utils\enc2xs         \
+               ..\utils\piconv         \
+               ..\utils\corelist       \
+               ..\utils\cpan           \
+               ..\utils\xsubpp         \
+               ..\utils\pod2html       \
+               ..\utils\prove          \
+               ..\utils\ptar           \
+               ..\utils\ptardiff       \
+               ..\utils\ptargrep       \
+               ..\utils\zipdetails     \
+               ..\utils\shasum         \
+               ..\utils\instmodsh      \
+               ..\utils\json_pp        \
+               bin\exetype.pl          \
+               bin\runperl.pl          \
+               bin\pl2bat.pl           \
+               bin\perlglob.pl         \
+               bin\search.pl
+
+CFGSH_TMPL     = config.gc
+CFGH_TMPL      = config_H.gc
+PERLIMPLIB     = ..\libperl523$(a)
+PERLSTATICLIB  = ..\libperl523s$(a)
+INT64          = long long
+
+# makedef.pl must be updated if this changes, and this should normally
+# only change when there is an incompatible revision of the public API.
+PERLDLL                = ..\perl523.dll
+
+XCOPY          = xcopy /f /r /i /d /y
+RCOPY          = xcopy /f /r /i /e /d /y
+NOOP           = @rem
+
+MICROCORE_SRC  =               \
+               ..\av.c         \
+               ..\caretx.c     \
+               ..\deb.c        \
+               ..\doio.c       \
+               ..\doop.c       \
+               ..\dump.c       \
+               ..\globals.c    \
+               ..\gv.c         \
+               ..\mro_core.c   \
+               ..\hv.c         \
+               ..\locale.c     \
+               ..\keywords.c   \
+               ..\mathoms.c    \
+               ..\mg.c         \
+               ..\numeric.c    \
+               ..\op.c         \
+               ..\pad.c        \
+               ..\perl.c       \
+               ..\perlapi.c    \
+               ..\perly.c      \
+               ..\pp.c         \
+               ..\pp_ctl.c     \
+               ..\pp_hot.c     \
+               ..\pp_pack.c    \
+               ..\pp_sort.c    \
+               ..\pp_sys.c     \
+               ..\reentr.c     \
+               ..\regcomp.c    \
+               ..\regexec.c    \
+               ..\run.c        \
+               ..\scope.c      \
+               ..\sv.c         \
+               ..\taint.c      \
+               ..\toke.c       \
+               ..\universal.c  \
+               ..\utf8.c       \
+               ..\util.c
+
+EXTRACORE_SRC  += perllib.c
+
+ifeq ($(PERL_MALLOC),define)
+EXTRACORE_SRC  += ..\malloc.c
+endif
+
+EXTRACORE_SRC  += ..\perlio.c
+
+WIN32_SRC      =               \
+               .\win32.c       \
+               .\win32sck.c    \
+               .\win32thread.c \
+               .\fcrypt.c
+
+# We need this for miniperl build unless we override canned
+# config.h #define building mini\*
+#ifeq ($(USE_PERLIO)" == "define"
+WIN32_SRC      += .\win32io.c
+#endif
+
+CORE_NOCFG_H   =               \
+               ..\av.h         \
+               ..\cop.h        \
+               ..\cv.h         \
+               ..\dosish.h     \
+               ..\embed.h      \
+               ..\form.h       \
+               ..\gv.h         \
+               ..\handy.h      \
+               ..\hv.h         \
+               ..\hv_func.h    \
+               ..\iperlsys.h   \
+               ..\mg.h         \
+               ..\nostdio.h    \
+               ..\op.h         \
+               ..\opcode.h     \
+               ..\perl.h       \
+               ..\perlapi.h    \
+               ..\perlsdio.h   \
+               ..\perly.h      \
+               ..\pp.h         \
+               ..\proto.h      \
+               ..\regcomp.h    \
+               ..\regexp.h     \
+               ..\scope.h      \
+               ..\sv.h         \
+               ..\thread.h     \
+               ..\unixish.h    \
+               ..\utf8.h       \
+               ..\util.h       \
+               ..\warnings.h   \
+               ..\XSUB.h       \
+               ..\EXTERN.h     \
+               ..\perlvars.h   \
+               ..\intrpvar.h   \
+               .\include\dirent.h      \
+               .\include\netdb.h       \
+               .\include\sys\errno2.h  \
+               .\include\sys\socket.h  \
+               .\win32.h
+
+CORE_H         = $(CORE_NOCFG_H) .\config.h ..\git_version.h
+
+UUDMAP_H       = ..\uudmap.h
+BITCOUNT_H     = ..\bitcount.h
+MG_DATA_H      = ..\mg_data.h
+GENERATED_HEADERS = $(UUDMAP_H) $(BITCOUNT_H) $(MG_DATA_H)
+
+MICROCORE_OBJ  = $(MICROCORE_SRC:.c=.o)
+CORE_OBJ       = $(MICROCORE_OBJ) $(EXTRACORE_SRC:.c=.o)
+WIN32_OBJ      = $(WIN32_SRC:.c=.o)
+
+MINICORE_OBJ   = $(subst ..\,mini\,$(MICROCORE_OBJ))   \
+                 $(MINIDIR)\miniperlmain$(o)   \
+                 $(MINIDIR)\perlio$(o)
+MINIWIN32_OBJ  = $(subst .\,mini\,$(WIN32_OBJ))
+MINI_OBJ       = $(MINICORE_OBJ) $(MINIWIN32_OBJ)
+DLL_OBJ                = $(DYNALOADER)
+GENUUDMAP_OBJ  = $(GENUUDMAP:.exe=.o)
+
+PERLDLL_OBJ    = $(CORE_OBJ)
+PERLEXE_OBJ    = perlmain$(o)
+PERLEXEST_OBJ  = perlmainst$(o)
+
+PERLDLL_OBJ    += $(WIN32_OBJ) $(DLL_OBJ)
+
+ifneq ($(USE_SETARGV),)
+SETARGV_OBJ    = setargv$(o)
+endif
+
+ifeq ($(ALL_STATIC),define)
+# some exclusions, unfortunately, until fixed:
+#  - MakeMaker isn't capable enough for SDBM_File (small bug)
+STATIC_EXT     = * !SDBM_File
+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
+endif
+
+DYNALOADER     = ..\DynaLoader$(o)
+
+# vars must be separated by "\t+~\t+", since we're using the tempfile
+# version of config_sh.pl (we were overflowing someone's buffer by
+# trying to fit them all on the command line)
+#      -- BKS 10-17-1999
+CFG_VARS       =                                       \
+               "INST_TOP=$(INST_TOP)"                  \
+               "INST_VER=$(INST_VER)"                  \
+               "INST_ARCH=$(INST_ARCH)"                \
+               "archname=$(ARCHNAME)"                  \
+               "cc=$(CC)"                              \
+               "ld=$(LINK32)"                          \
+               "ccflags=$(EXTRACFLAGS) $(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
+               "cf_email=$(EMAIL)"                     \
+               "d_mymalloc=$(PERL_MALLOC)"             \
+               "libs=$(LIBFILES)"                      \
+               "incpath=$(CCINCDIR)"                   \
+               "libperl=$(subst ..\,,$(PERLIMPLIB))"   \
+               "libpth=$(CCLIBDIR);$(EXTRALIBDIRS)"    \
+               "libc=$(LIBC)"                          \
+               "make=$(MAKE)"                          \
+               "_o=$(o)"                               \
+               "obj_ext=$(o)"                          \
+               "_a=$(a)"                               \
+               "lib_ext=$(a)"                          \
+               "static_ext=$(STATIC_EXT)"              \
+               "usethreads=$(USE_ITHREADS)"            \
+               "useithreads=$(USE_ITHREADS)"           \
+               "usemultiplicity=$(USE_MULTI)"          \
+               "useperlio=$(USE_PERLIO)"               \
+               "use64bitint=$(USE_64_BIT_INT)"         \
+               "uselongdouble=$(USE_LONG_DOUBLE)"      \
+               "uselargefiles=$(USE_LARGE_FILES)"      \
+               "usesitecustomize=$(USE_SITECUST)"      \
+               "LINK_FLAGS=$(LINK_FLAGS)"              \
+               "optimize=$(OPTIMIZE)"                  \
+               "ARCHPREFIX=$(ARCHPREFIX)"              \
+               "WIN64=$(WIN64)"
+
+#
+# Top targets
+#
+
+.PHONY: all info
+
+all : info .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL)  \
+       $(CONFIGPM) $(UNIDATAFILES) MakePPPort                  \
+       $(PERLEXE) Extensions Extensions_nonxs $(PERLSTATIC)
+
+info :
+       @echo # GCCBIN=$(GCCBIN)
+       @echo # GCCVER=$(GCCVER1).$(GCCVER2).$(GCCVER3)
+       @echo # GCCTARGET=$(GCCTARGET)
+       @echo # GCCCROSS=$(GCCCROSS)
+       @echo # WIN64=$(WIN64)
+       @echo # ARCHITECTURE=$(ARCHITECTURE)
+       @echo # ARCHNAME=$(ARCHNAME)
+       @echo # MAKE=$(MAKE)
+ifeq ($(GCCTARGET),)
+       @echo Unable to detect gcc and/or architecture!
+       @exit 1
+endif
+
+
+regnodes : ..\regnodes.h
+
+..\regcomp$(o) : ..\regnodes.h ..\regcharclass.h
+
+..\regexec$(o) : ..\regnodes.h ..\regcharclass.h
+
+reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL)   \
+       $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE)                          \
+       Extensions_reonly
+
+static: $(PERLEXESTATIC)
+
+#----------------------------------------------------------------
+
+$(GLOBEXE) : perlglob$(o)
+       $(LINK32) $(BLINK_FLAGS) -mconsole -o $@ perlglob$(o) $(LIBFILES)
+
+perlglob$(o)  : perlglob.c
+
+config.w32 : $(CFGSH_TMPL)
+       copy $(CFGSH_TMPL) config.w32
+
+#
+# Copy the template config.h and set configurables at the end of it
+# as per the options chosen and compiler used.
+# Note: This config.h is only used to build miniperl.exe anyway, but
+# it's as well to have its options correct to be sure that it builds
+# and so that it's "-V" options are correct for use by makedef.pl. The
+# real config.h used to build perl.exe is generated from the top-level
+# config_h.SH by config_h.PL (run by miniperl.exe).
+#
+.\config.h : $(CFGH_TMPL) $(CORE_NOCFG_H)
+       -del /f config.h
+       copy $(CFGH_TMPL) config.h
+       @echo.>>$@
+       @echo #ifndef _config_h_footer_>>$@
+       @echo #define _config_h_footer_>>$@
+       @echo #undef Off_t>>$@
+       @echo #undef LSEEKSIZE>>$@
+       @echo #undef Off_t_size>>$@
+       @echo #undef PTRSIZE>>$@
+       @echo #undef SSize_t>>$@
+       @echo #undef HAS_ATOLL>>$@
+       @echo #undef HAS_STRTOLL>>$@
+       @echo #undef HAS_STRTOULL>>$@
+       @echo #undef Size_t_size>>$@
+       @echo #undef IVTYPE>>$@
+       @echo #undef UVTYPE>>$@
+       @echo #undef IVSIZE>>$@
+       @echo #undef UVSIZE>>$@
+       @echo #undef NV_PRESERVES_UV>>$@
+       @echo #undef NV_PRESERVES_UV_BITS>>$@
+       @echo #undef IVdf>>$@
+       @echo #undef UVuf>>$@
+       @echo #undef UVof>>$@
+       @echo #undef UVxf>>$@
+       @echo #undef UVXf>>$@
+       @echo #undef USE_64_BIT_INT>>$@
+       @echo #undef Gconvert>>$@
+       @echo #undef HAS_FREXPL>>$@
+       @echo #undef HAS_ISNANL>>$@
+       @echo #undef HAS_MODFL>>$@
+       @echo #undef HAS_MODFL_PROTO>>$@
+       @echo #undef HAS_SQRTL>>$@
+       @echo #undef HAS_STRTOLD>>$@
+       @echo #undef PERL_PRIfldbl>>$@
+       @echo #undef PERL_PRIgldbl>>$@
+       @echo #undef PERL_PRIeldbl>>$@
+       @echo #undef PERL_SCNfldbl>>$@
+       @echo #undef NVTYPE>>$@
+       @echo #undef NVSIZE>>$@
+       @echo #undef LONG_DOUBLESIZE>>$@
+       @echo #undef NV_OVERFLOWS_INTEGERS_AT>>$@
+       @echo #undef NVef>>$@
+       @echo #undef NVff>>$@
+       @echo #undef NVgf>>$@
+       @echo #undef USE_LONG_DOUBLE>>$@
+ifeq ($(USE_LARGE_FILES),define)
+       @echo #define Off_t $(INT64)>>$@
+       @echo #define LSEEKSIZE ^8>>$@
+       @echo #define Off_t_size ^8>>$@
+else
+       @echo #define Off_t long>>$@
+       @echo #define LSEEKSIZE ^4>>$@
+       @echo #define Off_t_size ^4>>$@
+endif
+ifeq ($(WIN64),define)
+       @echo #define PTRSIZE ^8>>$@
+       @echo #define SSize_t $(INT64)>>$@
+       @echo #define HAS_ATOLL>>$@
+       @echo #define HAS_STRTOLL>>$@
+       @echo #define HAS_STRTOULL>>$@
+       @echo #define Size_t_size ^8>>$@
+else
+       @echo #define PTRSIZE ^4>>$@
+       @echo #define SSize_t int>>$@
+       @echo #undef HAS_ATOLL>>$@
+       @echo #undef HAS_STRTOLL>>$@
+       @echo #undef HAS_STRTOULL>>$@
+       @echo #define Size_t_size ^4>>$@
+endif
+ifeq ($(USE_64_BIT_INT),define)
+       @echo #define IVTYPE $(INT64)>>$@
+       @echo #define UVTYPE unsigned $(INT64)>>$@
+       @echo #define IVSIZE ^8>>$@
+       @echo #define UVSIZE ^8>>$@
+ifeq ($(USE_LONG_DOUBLE),define)
+       @echo #define NV_PRESERVES_UV>>$@
+       @echo #define NV_PRESERVES_UV_BITS 64>>$@
+else
+       @echo #undef NV_PRESERVES_UV>>$@
+       @echo #define NV_PRESERVES_UV_BITS 53>>$@
+endif
+       @echo #define IVdf "I64d">>$@
+       @echo #define UVuf "I64u">>$@
+       @echo #define UVof "I64o">>$@
+       @echo #define UVxf "I64x">>$@
+       @echo #define UVXf "I64X">>$@
+       @echo #define USE_64_BIT_INT>>$@
+else
+       @echo #define IVTYPE long>>$@
+       @echo #define UVTYPE unsigned long>>$@
+       @echo #define IVSIZE ^4>>$@
+       @echo #define UVSIZE ^4>>$@
+       @echo #define NV_PRESERVES_UV>>$@
+       @echo #define NV_PRESERVES_UV_BITS 32>>$@
+       @echo #define IVdf "ld">>$@
+       @echo #define UVuf "lu">>$@
+       @echo #define UVof "lo">>$@
+       @echo #define UVxf "lx">>$@
+       @echo #define UVXf "lX">>$@
+       @echo #undef USE_64_BIT_INT>>$@
+endif
+ifeq ($(USE_LONG_DOUBLE),define)
+       @echo #define Gconvert(x,n,t,b) sprintf((b),"%%.*""Lg",(n),(x))>>$@
+       @echo #define HAS_FREXPL>>$@
+       @echo #define HAS_ISNANL>>$@
+       @echo #define HAS_MODFL>>$@
+       @echo #define HAS_MODFL_PROTO>>$@
+       @echo #define HAS_SQRTL>>$@
+       @echo #define HAS_STRTOLD>>$@
+       @echo #define PERL_PRIfldbl "Lf">>$@
+       @echo #define PERL_PRIgldbl "Lg">>$@
+       @echo #define PERL_PRIeldbl "Le">>$@
+       @echo #define PERL_SCNfldbl "Lf">>$@
+       @echo #define NVTYPE long double>>$@
+ifeq ($(WIN64),define)
+       @echo #define NVSIZE ^16>>$@
+       @echo #define LONG_DOUBLESIZE ^16>>$@
+else
+       @echo #define NVSIZE ^12>>$@
+       @echo #define LONG_DOUBLESIZE ^12>>$@
+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 NVef "Le">>$@
+       @echo #define NVff "Lf">>$@
+       @echo #define NVgf "Lg">>$@
+       @echo #define USE_LONG_DOUBLE>>$@
+else
+       @echo #define Gconvert(x,n,t,b) sprintf((b),"%%.*g",(n),(x))>>$@
+       @echo #undef HAS_FREXPL>>$@
+       @echo #undef HAS_ISNANL>>$@
+       @echo #undef HAS_MODFL>>$@
+       @echo #undef HAS_MODFL_PROTO>>$@
+       @echo #undef HAS_SQRTL>>$@
+       @echo #undef HAS_STRTOLD>>$@
+       @echo #undef PERL_PRIfldbl>>$@
+       @echo #undef PERL_PRIgldbl>>$@
+       @echo #undef PERL_PRIeldbl>>$@
+       @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">>$@
+       @echo #define NVgf "g">>$@
+       @echo #undef USE_LONG_DOUBLE>>$@
+endif
+       @echo #endif>>$@
+
+..\git_version.h : $(MINIPERL) ..\make_patchnum.pl
+       cd .. && miniperl -Ilib make_patchnum.pl
+
+# make sure that we recompile perl.c if the git version changes
+..\perl$(o) : ..\git_version.h
+
+..\config.sh : config.w32 $(MINIPERL) config_sh.PL FindExt.pm
+       $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS) config.w32 > ..\config.sh
+
+# This target is for when changes to the main config.sh happen.
+# Edit config.gc, then make perl using GCC in a minimal configuration (i.e.
+# with MULTI, ITHREADS, IMP_SYS, LARGE_FILES and PERLIO off), then make
+# this target to regenerate config_H.gc.
+regen_config_h:
+       $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS)) $(CFGSH_TMPL) > ..\config.sh
+       $(MINIPERL) -I..\lib ..\configpm --chdir=..
+       -del /f $(CFGH_TMPL)
+       -$(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)"
+       rename config.h $(CFGH_TMPL)
+
+$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL
+       $(MINIPERL) -I..\lib ..\configpm --chdir=..
+       if exist lib\* $(RCOPY) "lib\*.*" ..\lib\$(NULL)
+       $(XCOPY) "..\*.h" $(COREDIR)\$(NULL)
+       $(XCOPY) "*.h" $(COREDIR)\$(NULL)
+       $(RCOPY) include $(COREDIR)\$(NULL)
+       $(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)" \
+           || $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MAKEFILE)
+
+# See the comment in Makefile.SH explaining this seemingly cranky ordering
+$(MINIPERL) : ..\lib\buildcustomize.pl
+
+..\lib\buildcustomize.pl : $(MINIDIR) $(MINI_OBJ) $(CRTIPMLIBS) ..\write_buildcustomize.pl
+       $(LINK32) -mconsole -o $(MINIPERL) $(BLINK_FLAGS) $(MINI_OBJ) $(LIBFILES)
+       $(MINIPERL) -I..\lib -f ..\write_buildcustomize.pl ..
+
+$(MINIDIR) :
+       if not exist "$(MINIDIR)" mkdir "$(MINIDIR)"
+
+$(MINICORE_OBJ) : $(CORE_NOCFG_H)
+       $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ ..\$(*F).c
+
+$(MINIWIN32_OBJ) : $(CORE_NOCFG_H)
+       $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(*F).c
+
+# -DPERL_IMPLICIT_SYS needs C++ for perllib.c
+# rules wrapped in .IFs break Win9X build (we end up with unbalanced []s unless
+# unless the .IF is true), so instead we use a else with the default.
+# This is the only file that depends on perlhost.h, vmem.h, and vdir.h
+
+perllib$(o)    : perllib.c .\perlhost.h .\vdir.h .\vmem.h
+ifeq ($(USE_IMP_SYS),define)
+       $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c
+else
+       $(CC) -c -I. $(CFLAGS_O) $(OBJOUT_FLAG)$@ perllib.c
+endif
+
+# 1. we don't want to rebuild miniperl.exe when config.h changes
+# 2. we don't want to rebuild miniperl.exe with non-default config.h
+# 3. we can't have miniperl.exe depend on git_version.h, as miniperl creates it
+$(MINI_OBJ)    : $(CORE_NOCFG_H)
+
+$(WIN32_OBJ)   : $(CORE_H)
+
+$(CORE_OBJ)    : $(CORE_H)
+
+$(DLL_OBJ)     : $(CORE_H)
+
+perldll.def : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibst_h.pl
+       $(MINIPERL) -I..\lib create_perllibst_h.pl
+       $(MINIPERL) -I..\lib -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) \
+       $(BUILDOPT) CCTYPE=GCC TARG_DIR=..\ > perldll.def
+
+$(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
+       $(LINK32) -mdll -o $@ -Wl,--base-file -Wl,perl.base $(BLINK_FLAGS) \
+          $(PERLDLL_OBJ) $(shell type Extensions_static) $(LIBFILES)
+       $(IMPLIB) --output-lib $(PERLIMPLIB) \
+               --dllname $(PERLDLL) \
+               --def perldll.def \
+               --base-file perl.base \
+               --output-exp perl.exp
+       $(LINK32) -mdll -o $@ $(BLINK_FLAGS) \
+           $(PERLDLL_OBJ) $(shell type Extensions_static) $(LIBFILES) perl.exp
+       $(XCOPY) $(PERLIMPLIB) $(COREDIR)
+
+$(PERLSTATICLIB): $(PERLDLL_OBJ) Extensions_static
+       $(LIB32) $(LIB_FLAGS) $@ $(PERLDLL_OBJ)
+       if exist $(STATICDIR) rmdir /s /q $(STATICDIR)
+       for %%i in ($(shell type Extensions_static)) do \
+               @mkdir $(STATICDIR) && cd $(STATICDIR) && \
+               $(ARCHPREFIX)ar x ..\%%i && \
+               $(ARCHPREFIX)ar q ..\$@ *$(o) && \
+               cd .. && rmdir /s /q $(STATICDIR)
+       $(XCOPY) $(PERLSTATICLIB) $(COREDIR)
+
+$(PERLEXE_RES): perlexe.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO)
+
+$(MINIDIR)\globals$(o) : $(GENERATED_HEADERS)
+
+$(UUDMAP_H) $(MG_DATA_H) : $(BITCOUNT_H)
+
+$(BITCOUNT_H) : $(GENUUDMAP)
+       $(GENUUDMAP) $(GENERATED_HEADERS)
+
+$(GENUUDMAP_OBJ) : ..\mg_raw.h
+
+$(GENUUDMAP) : $(GENUUDMAP_OBJ)
+       $(LINK32) -o $@ $(BLINK_FLAGS) $(GENUUDMAP_OBJ) $(LIBFILES)
+
+perlmain.c : runperl.c
+       copy runperl.c perlmain.c
+
+perlmain$(o) : perlmain.c
+       $(CC) $(subst -DPERLDLL,-UPERLDLL,$(CFLAGS_O)) $(OBJOUT_FLAG)$@ -c perlmain.c
+
+perlmainst.c : runperl.c
+       copy runperl.c perlmainst.c
+
+perlmainst$(o) : perlmainst.c
+       $(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c
+
+$(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
+       $(LINK32) -mconsole -o $@ $(BLINK_FLAGS)  \
+           $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES)
+       copy $(PERLEXE) $(WPERLEXE)
+       $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS
+
+$(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
+       $(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \
+           $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES)
+
+MakePPPort: $(MINIPERL) $(CONFIGPM) Extensions_nonxs
+       $(MINIPERL) -I..\lib ..\mkppport
+
+#-------------------------------------------------------------------------------
+# There's no direct way to mark a dependency on
+# DynaLoader.pm, so this will have to do
+Extensions : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
+       $(XCOPY) "..\*.h" $(COREDIR)\$(NULL)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic
+
+Extensions_reonly : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
+       $(XCOPY) "..\*.h" $(COREDIR)\$(NULL)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
+
+Extensions_static : ..\make_ext.pl ..\lib\buildcustomize.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
+       $(XCOPY) "..\*.h" $(COREDIR)\$(NULL)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static
+       $(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static
+
+Extensions_nonxs : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) ..\pod\perlfunc.pod
+       $(XCOPY) "..\*.h" $(COREDIR)\$(NULL)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs
+
+$(DYNALOADER) : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
+       $(XCOPY) "..\*.h" $(COREDIR)\$(NULL)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader
+
+Extensions_clean :
+       -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=clean
+
+Extensions_realclean :
+       -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean
+
+#-------------------------------------------------------------------------------
+
+doc: $(PERLEXE) ..\pod\perltoc.pod
+       $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
+           --podpath=pod:lib:utils --htmlroot="file://$(subst :,|,$(INST_HTML))"\
+           --recurse
+
+..\utils\Makefile: $(CONFIGPM) ..\utils\Makefile.PL
+       $(MINIPERL) -I..\lib ..\utils\Makefile.PL ..
+
+# Note that this next section is parsed (and regenerated) by pod/buildtoc
+# so please check that script before making structural changes here
+utils: $(PERLEXE) ..\utils\Makefile
+       cd ..\utils && $(MAKE) PERL=$(MINIPERL)
+       copy ..\README.aix      ..\pod\perlaix.pod
+       copy ..\README.amiga    ..\pod\perlamiga.pod
+       copy ..\README.android  ..\pod\perlandroid.pod
+       copy ..\README.bs2000   ..\pod\perlbs2000.pod
+       copy ..\README.ce       ..\pod\perlce.pod
+       copy ..\README.cn       ..\pod\perlcn.pod
+       copy ..\README.cygwin   ..\pod\perlcygwin.pod
+       copy ..\README.dos      ..\pod\perldos.pod
+       copy ..\README.freebsd  ..\pod\perlfreebsd.pod
+       copy ..\README.haiku    ..\pod\perlhaiku.pod
+       copy ..\README.hpux     ..\pod\perlhpux.pod
+       copy ..\README.hurd     ..\pod\perlhurd.pod
+       copy ..\README.irix     ..\pod\perlirix.pod
+       copy ..\README.jp       ..\pod\perljp.pod
+       copy ..\README.ko       ..\pod\perlko.pod
+       copy ..\README.linux    ..\pod\perllinux.pod
+       copy ..\README.macos    ..\pod\perlmacos.pod
+       copy ..\README.macosx   ..\pod\perlmacosx.pod
+       copy ..\README.netware  ..\pod\perlnetware.pod
+       copy ..\README.openbsd  ..\pod\perlopenbsd.pod
+       copy ..\README.os2      ..\pod\perlos2.pod
+       copy ..\README.os390    ..\pod\perlos390.pod
+       copy ..\README.os400    ..\pod\perlos400.pod
+       copy ..\README.plan9    ..\pod\perlplan9.pod
+       copy ..\README.qnx      ..\pod\perlqnx.pod
+       copy ..\README.riscos   ..\pod\perlriscos.pod
+       copy ..\README.solaris  ..\pod\perlsolaris.pod
+       copy ..\README.symbian  ..\pod\perlsymbian.pod
+       copy ..\README.synology ..\pod\perlsynology.pod
+       copy ..\README.tru64    ..\pod\perltru64.pod
+       copy ..\README.tw       ..\pod\perltw.pod
+       copy ..\README.vos      ..\pod\perlvos.pod
+       copy ..\README.win32    ..\pod\perlwin32.pod
+       copy ..\pod\perldelta.pod ..\pod\perl5230delta.pod
+       $(PERLEXE) $(PL2BAT) $(UTILS)
+       $(MINIPERL) -I..\lib ..\autodoc.pl ..
+       $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
+
+..\pod\perltoc.pod: $(PERLEXE) Extensions Extensions_nonxs
+       $(PERLEXE) -f ..\pod\buildtoc -q
+
+# Note that the pod cleanup in this next section is parsed (and regenerated
+# by pod/buildtoc so please check that script before making changes here
+
+distclean: realclean
+       -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) \
+               $(PERLIMPLIB) ..\miniperl$(a) $(PERLEXESTATIC) $(PERLSTATICLIB)
+       -del /f $(LIBDIR)\Encode.pm $(LIBDIR)\encoding.pm $(LIBDIR)\Errno.pm
+       -del /f $(LIBDIR)\Config.pod $(LIBDIR)\POSIX.pod $(LIBDIR)\threads.pm
+       -del /f $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm
+       -del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm
+       -del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm
+       -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)\Win32.pm
+       -del /f $(LIBDIR)\Win32CORE.pm
+       -del /f $(LIBDIR)\Win32API\File.pm
+       -del /f $(LIBDIR)\Win32API\File\cFile.pc
+       -del /f $(LIBDIR)\buildcustomize.pl
+       -del /f $(DISTDIR)\XSLoader\XSLoader.pm
+       -del /f *.def *.map
+       -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
+       -if exist $(LIBDIR)\autodie rmdir /s /q $(LIBDIR)\autodie
+       -if exist $(LIBDIR)\Carp rmdir /s /q $(LIBDIR)\Carp
+       -if exist $(LIBDIR)\Compress rmdir /s /q $(LIBDIR)\Compress
+       -if exist $(LIBDIR)\Config\Perl rmdir /s /q $(LIBDIR)\Config\Perl
+       -if exist $(LIBDIR)\CPAN rmdir /s /q $(LIBDIR)\CPAN
+       -if exist $(LIBDIR)\Data rmdir /s /q $(LIBDIR)\Data
+       -if exist $(LIBDIR)\Devel rmdir /s /q $(LIBDIR)\Devel
+       -if exist $(LIBDIR)\Digest rmdir /s /q $(LIBDIR)\Digest
+       -if exist $(LIBDIR)\Encode rmdir /s /q $(LIBDIR)\Encode
+       -if exist $(LIBDIR)\encoding rmdir /s /q $(LIBDIR)\encoding
+       -if exist $(LIBDIR)\Exporter rmdir /s /q $(LIBDIR)\Exporter
+       -if exist $(LIBDIR)\ExtUtils\CBuilder rmdir /s /q $(LIBDIR)\ExtUtils\CBuilder
+       -if exist $(LIBDIR)\ExtUtils\Command rmdir /s /q $(LIBDIR)\ExtUtils\Command
+       -if exist $(LIBDIR)\ExtUtils\Constant rmdir /s /q $(LIBDIR)\ExtUtils\Constant
+       -if exist $(LIBDIR)\ExtUtils\Liblist rmdir /s /q $(LIBDIR)\ExtUtils\Liblist
+       -if exist $(LIBDIR)\ExtUtils\MakeMaker rmdir /s /q $(LIBDIR)\ExtUtils\MakeMaker
+       -if exist $(LIBDIR)\ExtUtils\ParseXS rmdir /s /q $(LIBDIR)\ExtUtils\ParseXS
+       -if exist $(LIBDIR)\ExtUtils\Typemaps rmdir /s /q $(LIBDIR)\ExtUtils\Typemaps
+       -if exist $(LIBDIR)\File\Spec rmdir /s /q $(LIBDIR)\File\Spec
+       -if exist $(LIBDIR)\Filter rmdir /s /q $(LIBDIR)\Filter
+       -if exist $(LIBDIR)\Hash rmdir /s /q $(LIBDIR)\Hash
+       -if exist $(LIBDIR)\HTTP rmdir /s /q $(LIBDIR)\HTTP
+       -if exist $(LIBDIR)\I18N rmdir /s /q $(LIBDIR)\I18N
+       -if exist $(LIBDIR)\IO rmdir /s /q $(LIBDIR)\IO
+       -if exist $(LIBDIR)\IPC rmdir /s /q $(LIBDIR)\IPC
+       -if exist $(LIBDIR)\JSON rmdir /s /q $(LIBDIR)\JSON
+       -if exist $(LIBDIR)\List rmdir /s /q $(LIBDIR)\List
+       -if exist $(LIBDIR)\Locale rmdir /s /q $(LIBDIR)\Locale
+       -if exist $(LIBDIR)\Math rmdir /s /q $(LIBDIR)\Math
+       -if exist $(LIBDIR)\Memoize rmdir /s /q $(LIBDIR)\Memoize
+       -if exist $(LIBDIR)\MIME rmdir /s /q $(LIBDIR)\MIME
+       -if exist $(LIBDIR)\Module rmdir /s /q $(LIBDIR)\Module
+       -if exist $(LIBDIR)\Net\FTP rmdir /s /q $(LIBDIR)\Net\FTP
+       -if exist $(LIBDIR)\Params rmdir /s /q $(LIBDIR)\Params
+       -if exist $(LIBDIR)\Parse rmdir /s /q $(LIBDIR)\Parse
+       -if exist $(LIBDIR)\Perl rmdir /s /q $(LIBDIR)\Perl
+       -if exist $(LIBDIR)\PerlIO rmdir /s /q $(LIBDIR)\PerlIO
+       -if exist $(LIBDIR)\Pod\Perldoc rmdir /s /q $(LIBDIR)\Pod\Perldoc
+       -if exist $(LIBDIR)\Pod\Simple rmdir /s /q $(LIBDIR)\Pod\Simple
+       -if exist $(LIBDIR)\Pod\Text rmdir /s /q $(LIBDIR)\Pod\Text
+       -if exist $(LIBDIR)\Scalar rmdir /s /q $(LIBDIR)\Scalar
+       -if exist $(LIBDIR)\Search rmdir /s /q $(LIBDIR)\Search
+       -if exist $(LIBDIR)\Sub rmdir /s /q $(LIBDIR)\Sub
+       -if exist $(LIBDIR)\Sys rmdir /s /q $(LIBDIR)\Sys
+       -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)\Text rmdir /s /q $(LIBDIR)\Text
+       -if exist $(LIBDIR)\Thread rmdir /s /q $(LIBDIR)\Thread
+       -if exist $(LIBDIR)\threads rmdir /s /q $(LIBDIR)\threads
+       -if exist $(LIBDIR)\Tie\Hash rmdir /s /q $(LIBDIR)\Tie\Hash
+       -if exist $(LIBDIR)\Unicode\Collate rmdir /s /q $(LIBDIR)\Unicode\Collate
+       -if exist $(LIBDIR)\Unicode\Collate\Locale rmdir /s /q $(LIBDIR)\Unicode\Collate\Locale
+       -if exist $(LIBDIR)\version rmdir /s /q $(LIBDIR)\version
+       -if exist $(LIBDIR)\VMS rmdir /s /q $(LIBDIR)\VMS
+       -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 \
+           perl5230delta.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 \
+           perllinux.pod perlmacos.pod perlmacosx.pod perlmodlib.pod \
+           perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
+           perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
+           perlsolaris.pod perlsymbian.pod perlsynology.pod perltoc.pod \
+           perltru64.pod perltw.pod perluniprops.pod perlvos.pod \
+           perlwin32.pod
+       -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \
+           perldoc perlivp libnetcfg enc2xs piconv cpan *.bat \
+           xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep shasum corelist zipdetails
+       -del /f ..\config.sh perlmain.c dlutils.c config.h.new \
+           perlmainst.c
+       -del /f $(CONFIGPM)
+       -del /f ..\lib\Config_git.pl
+       -del /f "bin\*.bat"
+       -del /f perllibst.h
+       -del /f $(PERLEXE_RES) perl.base
+       -cd .. && del /s *$(a) *.map *.pdb *.ilk *.bs *$(o) .exists pm_to_blib ppport.h
+       -cd $(EXTDIR) && del /s *.def Makefile Makefile.old
+       -cd $(DISTDIR) && del /s *.def Makefile Makefile.old
+       -cd $(CPANDIR) && del /s *.def Makefile Makefile.old
+       -del /s ..\utils\Makefile
+       -if exist $(AUTODIR) rmdir /s /q $(AUTODIR)
+       -if exist $(COREDIR) rmdir /s /q $(COREDIR)
+       -if exist pod2htmd.tmp del pod2htmd.tmp
+       -if exist $(HTMLDIR) rmdir /s /q $(HTMLDIR)
+       -del /f ..\t\test_state
+
+install : all installbare installhtml
+
+installbare : utils ..\pod\perltoc.pod
+       $(PERLEXE) ..\installperl
+       if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\$(NULL)
+       if exist $(PERLEXESTATIC) $(XCOPY) $(PERLEXESTATIC) $(INST_BIN)\$(NULL)
+       $(XCOPY) $(GLOBEXE) $(INST_BIN)\$(NULL)
+       if exist ..\perl*.pdb $(XCOPY) ..\perl*.pdb $(INST_BIN)\$(NULL)
+       $(XCOPY) "bin\*.bat" $(INST_SCRIPT)\$(NULL)
+
+installhtml : doc
+       $(RCOPY) $(HTMLDIR)\*.* $(INST_HTML)\$(NULL)
+
+inst_lib : $(CONFIGPM)
+       $(RCOPY) ..\lib $(INST_LIB)\$(NULL)
+
+$(UNIDATAFILES) ..\pod\perluniprops.pod .UPDATEALL : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables Extensions_nonxs
+       cd ..\lib\unicore && \
+       ..\$(MINIPERL) -I.. -I..\..\dist\Cwd\lib -I..\..\dist\Cwd mktables -P ..\..\pod -maketest -makelist -p
+
+minitest : $(MINIPERL) $(GLOBEXE) $(CONFIGPM) $(UNIDATAFILES) utils
+       $(XCOPY) $(MINIPERL) ..\t\$(NULL)
+       if exist ..\t\perl.exe del /f ..\t\perl.exe
+       rename ..\t\miniperl.exe perl.exe
+       $(XCOPY) $(GLOBEXE) ..\t\$(NULL)
+       attrib -r "..\t\*.*"
+       cd ..\t && \
+       $(MINIPERL) -I..\lib harness base/*.t comp/*.t cmd/*.t io/*.t opbasic/*.t op/*.t pragma/*.t
+
+test-prep : all utils ..\pod\perltoc.pod
+       $(XCOPY) $(PERLEXE) ..\t\$(NULL)
+       $(XCOPY) $(PERLDLL) ..\t\$(NULL)
+       $(XCOPY) $(GLOBEXE) ..\t\$(NULL)
+# If building with gcc versions 4.x.x or greater, then
+# the GCC helper DLL will also need copied to the test directory.
+# The name of the dll can change, depending upon which vendor has supplied
+# your compiler, and upon the values of "x".
+# libstdc++-6.dll is copied if it exists as it, too, may then be needed.
+# Without this copying, the op/taint.t test script will fail.
+       if exist $(CCDLLDIR)\libgcc_s_seh-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_seh-1.dll ..\t\$(NULL)
+       if exist $(CCDLLDIR)\libgcc_s_sjlj-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_sjlj-1.dll ..\t\$(NULL)
+       if exist $(CCDLLDIR)\libgcc_s_dw2-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_dw2-1.dll ..\t\$(NULL)
+       if exist $(CCDLLDIR)\libstdc++-6.dll $(XCOPY) $(CCDLLDIR)\libstdc++-6.dll ..\t\$(NULL)
+       if exist $(CCDLLDIR)\libwinpthread-1.dll $(XCOPY) $(CCDLLDIR)\libwinpthread-1.dll ..\t\$(NULL)
+
+test : test-prep
+       set PERL_STATIC_EXT=$(STATIC_EXT) && \
+           cd ..\t && $(PERLEXE) -I..\lib harness $(TEST_SWITCHES) $(TEST_FILES)
+
+test_porting : test-prep
+       set PERL_STATIC_EXT=$(STATIC_EXT) && \
+           cd ..\t && $(PERLEXE) -I..\lib harness $(TEST_SWITCHES) porting\*.t ..\lib\diagnostics.t
+
+test-reonly : reonly utils
+       $(XCOPY) $(PERLEXE) ..\t\$(NULL)
+       $(XCOPY) $(PERLDLL) ..\t\$(NULL)
+       $(XCOPY) $(GLOBEXE) ..\t\$(NULL)
+       cd ..\t && \
+       $(PERLEXE) -I..\lib harness $(OPT) -re \bpat\\/ $(EXTRA) && \
+       cd ..\win32
+
+regen :
+       cd .. && regen.pl && cd win32
+
+test-notty : test-prep
+       set PERL_STATIC_EXT=$(STATIC_EXT) && \
+           set PERL_SKIP_TTY_TEST=1 && \
+           cd ..\t && $(PERLEXE) -I.\lib harness $(TEST_SWITCHES) $(TEST_FILES)
+
+_test :
+       $(XCOPY) $(PERLEXE) ..\t\$(NULL)
+       $(XCOPY) $(PERLDLL) ..\t\$(NULL)
+       $(XCOPY) $(GLOBEXE) ..\t\$(NULL)
+       set PERL_STATIC_EXT=$(STATIC_EXT) && \
+           cd ..\t && $(PERLEXE) -I..\lib harness $(TEST_SWITCHES) $(TEST_FILES)
+
+_clean :
+       -@erase miniperlmain$(o)
+       -@erase $(MINIPERL)
+       -@erase perlglob$(o)
+       -@erase perlmain$(o)
+       -@erase perlmainst$(o)
+       -@erase config.w32
+       -@erase /f config.h
+       -@erase /f ..\git_version.h
+       -@erase $(GLOBEXE)
+       -@erase $(PERLEXE)
+       -@erase $(WPERLEXE)
+       -@erase $(PERLEXESTATIC)
+       -@erase $(PERLSTATICLIB)
+       -@erase $(PERLDLL)
+       -@erase $(CORE_OBJ)
+       -@erase $(GENUUDMAP) $(GENUUDMAP_OBJ) $(GENERATED_HEADERS)
+       -if exist $(MINIDIR) rmdir /s /q $(MINIDIR)
+       -if exist $(UNIDATADIR1) rmdir /s /q $(UNIDATADIR1)
+       -if exist $(UNIDATADIR2) rmdir /s /q $(UNIDATADIR2)
+       -@erase $(UNIDATAFILES)
+       -@erase $(WIN32_OBJ)
+       -@erase $(DLL_OBJ)
+       -@erase ..\*$(o) ..\*$(a) ..\*.exp *$(o) *$(a) *.exp *.res
+       -@erase ..\t\*.exe ..\t\*.dll ..\t\*.bat
+       -@erase *.ilk
+       -@erase *.pdb
+       -@erase Extensions_static
+
+clean : Extensions_clean _clean
+
+realclean : Extensions_realclean _clean
+
+# 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.
+# If you want to report test failures, use "gmake nok" instead.
+ok: utils
+       $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)"
+
+okfile: utils
+       $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)" -F perl.ok
+
+nok: utils
+       $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)"
+
+nokfile: utils
+       $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)" -F perl.nok
index 922dc15..95028b4 100644 (file)
@@ -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
-# (perl522.dll).  Also makes individual DLLs for the XS extensions.
+# (perl523.dll).  Also makes individual DLLs for the XS extensions.
 #
 
 ##
@@ -38,7 +38,7 @@ INST_TOP      = $(INST_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER      = \5.22.3
+#INST_VER      = \5.23.0
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -185,7 +185,7 @@ CCTYPE              = MSVC60
 # 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 perl522s.lib will also be created.
+# variables below. A static library perl523s.lib will also be created.
 # Ordinary perl.exe is not affected by this option.
 #
 #BUILD_STATIC  = define
@@ -441,7 +441,6 @@ INCLUDES    = -I$(COREDIR) -I.\include -I. -I..
 #PCHFLAGS      = -Fpc:\temp\vcmoduls.pch -YX
 DEFINES                = -DWIN32 -D_CONSOLE -DNO_STRICT
 LOCDEFS                = -DPERLDLL -DPERL_CORE
-SUBSYS         = console
 CXX_FLAG       = -TP -EHsc
 
 LIBC           = msvcrt.lib
@@ -553,6 +552,24 @@ LINK_FLAGS = $(LINK_FLAGS) "/manifestdependency:type='Win32' name='Microsoft.Win
 RSC_FLAGS      = -DINCLUDE_MANIFEST
 !ENDIF
 
+# For XP support in >= 2013, 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)" == "MSVC150" || "$(CCTYPE)" == "MSVC150FREE"
+!  IF "$(WIN64)" == "define"
+LINK_FLAGS     = $(LINK_FLAGS) -subsystem:console,"5.02"
+!  ELSE
+LINK_FLAGS     = $(LINK_FLAGS) -subsystem:console,"5.01"
+!  ENDIF
+PRIV_LINK_FLAGS        =
+
+!ELSE
+PRIV_LINK_FLAGS        = -subsystem:console
+!ENDIF
+
+BLINK_FLAGS    = $(PRIV_LINK_FLAGS) $(LINK_FLAGS)
 
 #################### do not edit below this line #######################
 ############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ##############
@@ -578,8 +595,8 @@ o = .obj
        $(NOOP)
 
 $(o).dll:
-       $(LINK32) -dll -subsystem:windows -implib:$(*B).lib -def:$(*B).def \
-           -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
+       $(LINK32) -dll -implib:$(*B).lib -def:$(*B).def \
+           -out:$@ $(BLINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
        $(EMBED_DLL_MANI)
 
 .rc.res:
@@ -590,9 +607,9 @@ $(o).dll:
 
 # 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     = ..\perl522.lib
-PERLSTATICLIB  = ..\perl522s.lib
-PERLDLL                = ..\perl522.dll
+PERLIMPLIB     = ..\perl523.lib
+PERLSTATICLIB  = ..\perl523s.lib
+PERLDLL                = ..\perl523.dll
 
 MINIPERL       = ..\miniperl.exe
 MINIDIR                = .\mini
@@ -867,7 +884,7 @@ static: $(PERLEXESTATIC)
 #------------------------------------------------------------
 
 $(GLOBEXE) : perlglob$(o)
-       $(LINK32) $(LINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \
+       $(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ \
            perlglob$(o) setargv$(o)
        $(EMBED_EXE_MANI)
 
@@ -1003,8 +1020,8 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL
 $(MINIPERL) : ..\lib\buildcustomize.pl 
 
 ..\lib\buildcustomize.pl : $(MINIDIR) $(MINI_OBJ) ..\write_buildcustomize.pl
-       $(LINK32) -subsystem:console -out:$(MINIPERL) @<<
-       $(LINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(MINI_OBJ)
+       $(LINK32) -out:$(MINIPERL) @<<
+       $(BLINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(MINI_OBJ)
 <<
        $(EMBED_EXE_MANI:..\lib\buildcustomize.pl=..\miniperl.exe)
        $(MINIPERL) -I..\lib -f ..\write_buildcustomize.pl ..
@@ -1041,7 +1058,7 @@ perldll.def : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibs
 
 $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
        $(LINK32) -dll -def:perldll.def -base:0x28000000 -out:$@ @Extensions_static @<<
-               $(LINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(PERLDLL_OBJ) $(PERLDLL_RES)
+               $(BLINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(PERLDLL_OBJ) $(PERLDLL_RES)
 <<
        $(EMBED_DLL_MANI)
        $(XCOPY) $(PERLIMPLIB) $(COREDIR)
@@ -1064,8 +1081,8 @@ $(BITCOUNT_H) : $(GENUUDMAP)
 $(GENUUDMAP_OBJ) : ..\mg_raw.h
 
 $(GENUUDMAP) : $(GENUUDMAP_OBJ)
-       $(LINK32) -subsystem:console -out:$@ @<<
-               $(LINK_FLAGS) $(LIBFILES) $(GENUUDMAP_OBJ)
+       $(LINK32) -out:$@ @<<
+               $(BLINK_FLAGS) $(LIBFILES) $(GENUUDMAP_OBJ)
 <<
        $(EMBED_EXE_MANI)
 
@@ -1082,14 +1099,14 @@ perlmainst$(o) : perlmainst.c
        $(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c
 
 $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
-       $(LINK32) -subsystem:console -out:$@ $(LINK_FLAGS) \
+       $(LINK32) -out:$@ $(BLINK_FLAGS) \
            $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) $(SETARGV_OBJ)
        $(EMBED_EXE_MANI)
        copy $(PERLEXE) $(WPERLEXE)
        $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS
 
 $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
-       $(LINK32) -subsystem:console -out:$@ $(LINK_FLAGS) \
+       $(LINK32) -out:$@ $(BLINK_FLAGS) \
            $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) $(SETARGV_OBJ)
        $(EMBED_EXE_MANI)
 
@@ -1176,7 +1193,7 @@ utils: $(PERLEXE) ..\utils\Makefile
        copy ..\README.tw       ..\pod\perltw.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
-       copy ..\pod\perldelta.pod ..\pod\perl5223delta.pod
+       copy ..\pod\perldelta.pod ..\pod\perl5230delta.pod
        cd ..\win32
        $(PERLEXE) $(PL2BAT) $(UTILS)
        $(MINIPERL) -I..\lib ..\autodoc.pl ..
@@ -1272,7 +1289,7 @@ distclean: realclean
        -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 \
-           perl5223delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+           perl5230delta.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 \
index 089d5cb..67d43c9 100644 (file)
@@ -5,7 +5,7 @@
 #
 
 SRCDIR     = ..
-PV         = 522
+PV         = 523
 
 # INSTALL_ROOT specifies a path where this perl will be installed on CE device
 INSTALL_ROOT=/netzwerk/sprache/perl
index c0c7452..3c10d77 100644 (file)
@@ -599,7 +599,10 @@ db_version_patch='0'
 direntrytype='struct direct'
 dlext='dll'
 dlsrc='dl_win32.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'
@@ -819,7 +822,10 @@ lns='copy'
 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'
 longdblkind='3'
+longdblmantbits='64'
+longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f'
 longdblsize='10'
 longlongsize='8'
 longsize='4'
@@ -871,6 +877,7 @@ nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
index 758e02d..e0eb238 100644 (file)
@@ -601,7 +601,10 @@ direntrytype='struct direct'
 dlext='dll'
 dlltool='~ARCHPREFIX~dlltool'
 dlsrc='dl_win32.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'
@@ -846,7 +849,10 @@ lns='copy'
 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'
 longdblkind='3'
+longdblmantbits='64'
+longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00'
 longdblsize='12'
 longlongsize='8'
 longsize='4'
@@ -900,6 +906,7 @@ nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
index ecfe970..b4efd32 100644 (file)
@@ -600,7 +600,10 @@ db_version_patch='0'
 direntrytype='struct direct'
 dlext='dll'
 dlsrc='dl_win32.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'
@@ -845,7 +848,10 @@ lns='copy'
 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, 0xf0, 0x7f'
 longdblkind='0'
+longdblmantbits='52'
+longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'
 longdblsize='8'
 longlongsize='8'
 longsize='4'
@@ -899,6 +905,7 @@ nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
index 196f419..1766a95 100644 (file)
  */
 #define DOUBLESIZE 8           /**/
 
+/* 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             /**/
+#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 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
+
 /* EBCDIC:
  *     This symbol, if defined, indicates that this system uses
  *     EBCDIC encoding.
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
 #define PRIVLIB "\\Storage Card\\perl58m\\lib"         /**/
-#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL))     /**/
+#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL))      /**/
 
 /* PTRSIZE:
  *     This symbol contains the size of a pointer, so that the C preprocessor
  *     be tacked onto this variable to generate a list of directories to search.
  */
 #define SITELIB "\\Storage Card\\perl58m\\site\\lib"           /**/
-#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL))     /**/
+#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL))  /**/
 #define SITELIB_STEM ""                /**/
 
 /* Size_t_size:
index 796eec9..a9c6162 100644 (file)
  *     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_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN
+ *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN
  *     LONG_DOUBLE_IS_UNKNOWN_FORMAT
  *     It is only defined if the system supports long doubles.
  */
 #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_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN      5
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6
 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT                  -1
 #endif
 
  */
 #define DOUBLESIZE 8           /**/
 
+/* 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
+
 /* EBCDIC:
  *     This symbol, if defined, indicates that this system uses
  *     EBCDIC encoding.
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
 #define PRIVLIB "c:\\perl\\lib"                /**/
-#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL))     /**/
+#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL))      /**/
 
 /* CAN_PROTOTYPE:
  *     If defined, this macro indicates that the C compiler can handle
  *     be tacked onto this variable to generate a list of directories to search.
  */
 #define SITELIB "c:\\perl\\site\\lib"          /**/
-#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL))     /**/
+#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL))  /**/
 #define SITELIB_STEM ""                /**/
 
 /* Size_t_size:
index 2a839ef..e945b3f 100644 (file)
  *     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_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN
+ *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN
  *     LONG_DOUBLE_IS_UNKNOWN_FORMAT
  *     It is only defined if the system supports long doubles.
  */
 #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_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN      5
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6
 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT                  -1
 #endif
 
  */
 #define DOUBLESIZE 8           /**/
 
+/* 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
+
 /* EBCDIC:
  *     This symbol, if defined, indicates that this system uses
  *     EBCDIC encoding.
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
 #define PRIVLIB "c:\\perl\\lib"                /**/
-#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL))     /**/
+#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL))      /**/
 
 /* CAN_PROTOTYPE:
  *     If defined, this macro indicates that the C compiler can handle
  *     be tacked onto this variable to generate a list of directories to search.
  */
 #define SITELIB "c:\\perl\\site\\lib"          /**/
-#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL))     /**/
+#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL))  /**/
 #define SITELIB_STEM ""                /**/
 
 /* Size_t_size:
index 03dddb3..1280655 100644 (file)
@@ -63,7 +63,12 @@ while (<SH>)
   s#(.)/\*\*/#$1/ **/# if(/^\/\*/); #avoid "/*" inside comments
   if (/^\s*#define\s+(PRIVLIB|SITELIB|VENDORLIB)_EXP/)
    {
-     $_ = "#define ". $1 . "_EXP (win32_get_". lc($1) . "(PERL_VERSION_STRING, NULL))\t/**/\n";
+     $_ = '#define '. $1 . '_EXP ('.(
+       $1 eq 'PRIVLIB' ? 'PerlEnv_lib_path' :
+       $1 eq 'SITELIB' ? 'PerlEnv_sitelib_path' :
+       $1 eq 'VENDORLIB' ? 'PerlEnv_vendorlib_path' :
+       die "unknown *LIB_EXP define \"$1\""
+       ). "(PERL_VERSION_STRING, NULL))\t/**/\n";
    }
   # incpush() handles archlibs, so disable them
   elsif (/^\s*#define\s+(ARCHLIB|SITEARCH|VENDORARCH)_EXP/)
index 74e5f0d..98255a8 100644 (file)
@@ -198,19 +198,6 @@ else {
     $opt{uvxformat} = '"lx"';
 }
 
-unless ($opt{cc} =~ /\bcl/) {
-    if ($opt{WIN64} eq 'define') {
-        $opt{longdblsize} = 16;
-        $opt{longdblinfbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00';
-        $opt{longdblnanbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00';
-    }
-    else {
-        $opt{longdblsize} = 12;
-        $opt{longdblinfbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00';
-        $opt{longdblnanbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00';
-    }
-}
-
 # set long double options
 if ($opt{uselongdouble} eq 'define') {
     $opt{d_Gconvert} = 'sprintf((b),"%.*""Lg",(n),(x))';
@@ -227,7 +214,14 @@ if ($opt{uselongdouble} eq 'define') {
     $opt{d_PRIfldbl} = 'define';
     $opt{d_PRIgldbl} = 'define';
     $opt{d_SCNfldbl} = 'define';
-    $opt{nvsize} = $opt{longdblsize};
+    if ($opt{WIN64} eq 'define') {
+        $opt{longdblsize} = 16;
+        $opt{nvsize} = 16;
+    }
+    else {
+        $opt{longdblsize} = 12;
+        $opt{nvsize} = 12;
+    }
     $opt{nvtype} = 'long double';
     $opt{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';
     $opt{nvEUformat} = '"LE"';
@@ -236,8 +230,6 @@ if ($opt{uselongdouble} eq 'define') {
     $opt{nveformat} = '"Le"';
     $opt{nvfformat} = '"Lf"';
     $opt{nvgformat} = '"Lg"';
-    $opt{longdblkind} = 3;
-    $opt{longdblmantbits} = 64;
 }
 else {
     $opt{d_Gconvert} = 'sprintf((b),"%.*g",(n),(x))';
@@ -254,6 +246,7 @@ else {
     $opt{d_PRIfldbl} = 'undef';
     $opt{d_PRIgldbl} = 'undef';
     $opt{d_SCNfldbl} = 'undef';
+    $opt{longdblsize} = 8;
     $opt{nvsize} = 8;
     $opt{nvtype} = 'double';
     $opt{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';
index 4433e68..fd42d75 100644 (file)
@@ -1,7 +1,6 @@
 /* fcrypt.c */
 /* Copyright (C) 1993 Eric Young - see README for more details */
 #include <stdio.h>
-#include <errno.h>
 
 /* Eric Young.
  * This version of crypt has been developed from my MIT compatable
@@ -465,14 +464,6 @@ unsigned const char cov_2char[64]={
 0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A
 };
 
-/* the salt for classic DES crypt (which is all we implement here)
-   permits [./0-9A-Za-z], since '.' and '/' immediately preceed
-   '0' we don't need individual checks for '.' and '/' 
-*/
-#define good_for_salt(c) \
-    ((c) >= '.' && (c) <= '9' || (c) >= 'A' && (c) <= 'Z' ||  \
-     (c) >= 'a' && (c) <= 'z')
-
 char *
 des_fcrypt(const char *buf, const char *salt, char *buff)
        {
@@ -485,11 +476,6 @@ des_fcrypt(const char *buf, const char *salt, char *buff)
        unsigned char *b=bb;
        unsigned char c,u;
 
-        if (!good_for_salt(salt[0]) || !good_for_salt(salt[1])) {
-            errno = EINVAL;
-            return NULL;
-        }
-
        /* eay 25/08/92
         * If you call crypt("pwd","*") as often happens when you
         * have * as the pwd field in /etc/passwd, the function
index 7b97ce5..07ba8b6 100644 (file)
@@ -6,7 +6,7 @@
 #      Windows SDK 64-bit compiler and tools
 #
 # This is set up to build a perl.exe that runs off a shared library
-# (perl522.dll).  Also makes individual DLLs for the XS extensions.
+# (perl523.dll).  Also makes individual DLLs for the XS extensions.
 #
 
 ##
@@ -44,7 +44,7 @@ INST_TOP      *= $(INST_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER      *= \5.22.3
+#INST_VER      *= \5.23.0
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -205,7 +205,7 @@ CCTYPE              *= GCC
 # 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 perl522s.lib will also be created.
+# variables below. A static library perl523s.lib will also be created.
 # Ordinary perl.exe is not affected by this option.
 #
 #BUILD_STATIC  *= define
@@ -474,7 +474,6 @@ DEFINES             = -DWIN32
 DEFINES                += -DWIN64 -DCONSERVATIVE
 .ENDIF
 LOCDEFS                = -DPERLDLL -DPERL_CORE
-SUBSYS         = console
 CXX_FLAG       = -xc++
 
 # Current releases of MinGW 5.1.4 (as of 11-Aug-2009) will fail to link
@@ -560,7 +559,6 @@ INCLUDES    = -I$(COREDIR) -I.\include -I. -I..
 #PCHFLAGS      = -Fpc:\temp\vcmoduls.pch -YX
 DEFINES                = -DWIN32 -D_CONSOLE -DNO_STRICT
 LOCDEFS                = -DPERLDLL -DPERL_CORE
-SUBSYS         = console
 CXX_FLAG       = -TP -EHsc
 
 LIBC           = msvcrt.lib
@@ -673,10 +671,23 @@ RSC_FLAGS = -DINCLUDE_MANIFEST
 .ENDIF
 
 
-# used to allow local linking flags that are not propogated into Config.pm,
-# currently unused
-#   -- BKS, 12-12-1999
-PRIV_LINK_FLAGS        *=
+# For XP support in >= 2013, 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)" == "MSVC150" || "$(CCTYPE)" == "MSVC150FREE"
+.IF "$(WIN64)" == "define"
+LINK_FLAGS     += -subsystem:console,"5.02"
+.ELSE
+LINK_FLAGS     += -subsystem:console,"5.01"
+.ENDIF
+PRIV_LINK_FLAGS        =
+
+.ELIF "$(CCTYPE)" != "GCC"
+PRIV_LINK_FLAGS        = -subsystem:console
+.ENDIF
+
 BLINK_FLAGS    = $(PRIV_LINK_FLAGS) $(LINK_FLAGS)
 
 #################### do not edit below this line #######################
@@ -719,7 +730,7 @@ $(o).dll:
        $(LINK32) -o $@ $(BLINK_FLAGS) $< $(LIBFILES)
        $(IMPLIB) --input-def $(*B).def --output-lib $(*B).a $@
 .ELSE
-       $(LINK32) -dll -subsystem:windows -implib:$(*B).lib -def:$(*B).def \
+       $(LINK32) -dll -implib:$(*B).lib -def:$(*B).def \
            -out:$@ $(BLINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
        $(EMBED_DLL_MANI)
 .ENDIF
@@ -808,8 +819,8 @@ UTILS               =                       \
 
 CFGSH_TMPL     = config.gc
 CFGH_TMPL      = config_H.gc
-PERLIMPLIB     = ..\libperl522$(a)
-PERLSTATICLIB  = ..\libperl522s$(a)
+PERLIMPLIB     = ..\libperl523$(a)
+PERLSTATICLIB  = ..\libperl523s$(a)
 INT64          = long long
 
 .ELSE
@@ -822,9 +833,9 @@ INT64               = __int64
 
 # 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     *= ..\perl522$(a)
-PERLSTATICLIB  *= ..\perl522s$(a)
-PERLDLL                = ..\perl522.dll
+PERLIMPLIB     *= ..\perl523$(a)
+PERLSTATICLIB  *= ..\perl523s$(a)
+PERLDLL                = ..\perl523.dll
 
 XCOPY          = xcopy /f /r /i /d /y
 RCOPY          = xcopy /f /r /i /e /d /y
@@ -1037,8 +1048,7 @@ $(GLOBEXE) : perlglob$(o)
 .IF "$(CCTYPE)" == "GCC"
        $(LINK32) $(BLINK_FLAGS) -mconsole -o $@ perlglob$(o) $(LIBFILES)
 .ELSE
-       $(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \
-           perlglob$(o) setargv$(o)
+       $(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ perlglob$(o) setargv$(o)
        $(EMBED_EXE_MANI)
 .ENDIF
 
@@ -1250,7 +1260,7 @@ $(MINIPERL) : ..\lib\buildcustomize.pl
        $(LINK32) -v -mconsole -o $(MINIPERL) $(BLINK_FLAGS) \
            $(mktmp $(LKPRE) $(MINI_OBJ) $(LIBFILES) $(LKPOST))
 .ELSE
-       $(LINK32) -subsystem:console -out:$(MINIPERL) $(BLINK_FLAGS) \
+       $(LINK32) -out:$(MINIPERL) $(BLINK_FLAGS) \
            @$(mktmp $(DELAYLOAD) $(LIBFILES) $(MINI_OBJ))
        $(EMBED_EXE_MANI:s/$@/$(MINIPERL)/)
 .ENDIF
@@ -1348,8 +1358,7 @@ $(GENUUDMAP) : $(GENUUDMAP_OBJ)
        $(LINK32) -v -o $@ $(BLINK_FLAGS) \
            $(mktmp $(LKPRE) $(GENUUDMAP_OBJ) $(LIBFILES) $(LKPOST))
 .ELSE
-       $(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \
-           @$(mktmp $(LIBFILES) $(GENUUDMAP_OBJ))
+       $(LINK32) -out:$@ $(BLINK_FLAGS) @$(mktmp $(LIBFILES) $(GENUUDMAP_OBJ))
        $(EMBED_EXE_MANI)
 .ENDIF
 
@@ -1370,7 +1379,7 @@ $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
        $(LINK32) -mconsole -o $@ $(BLINK_FLAGS)  \
            $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES)
 .ELSE
-       $(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \
+       $(LINK32) -out:$@ $(BLINK_FLAGS) \
            $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) $(SETARGV_OBJ)
        $(EMBED_EXE_MANI)
 .ENDIF
@@ -1382,7 +1391,7 @@ $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
        $(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \
            $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES)
 .ELSE
-       $(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \
+       $(LINK32) -out:$@ $(BLINK_FLAGS) \
            $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) $(SETARGV_OBJ)
        $(EMBED_EXE_MANI)
 .ENDIF
@@ -1468,7 +1477,7 @@ utils: $(PERLEXE) ..\utils\Makefile
        copy ..\README.tw       ..\pod\perltw.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
-       copy ..\pod\perldelta.pod ..\pod\perl5223delta.pod
+       copy ..\pod\perldelta.pod ..\pod\perl5230delta.pod
        $(PERLEXE) $(PL2BAT) $(UTILS)
        $(MINIPERL) -I..\lib ..\autodoc.pl ..
        $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
@@ -1563,7 +1572,7 @@ distclean: realclean
        -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 \
-           perl5223delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+           perl5230delta.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 \
index be9a9c8..24ee19d 100644 (file)
                               processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
         </dependentAssembly>
     </dependency>
-    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
-      <application>
-        <!-- The ID below indicates application support for Windows Vista -->
-        <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
-        <!-- The ID below indicates application support for Windows 7 -->
-        <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
-        <!-- The ID below indicates application support for Windows 8 -->
-        <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
-        <!-- The ID below indicates application support for Windows 8.1 -->
-        <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
-        <!-- The ID below indicates application support for Windows 10 -->
-        <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
-      </application>
-    </compatibility>
 </assembly>
index b1c6c80..7a0c3b3 100644 (file)
@@ -26,9 +26,6 @@
 #endif
 
 START_EXTERN_C
-extern char *  g_win32_get_privlib(const char *pl, STRLEN *const len);
-extern char *  g_win32_get_sitelib(const char *pl, STRLEN *const len);
-extern char *  g_win32_get_vendorlib(const char *pl, STRLEN *const len);
 extern char *  g_getlogin(void);
 END_EXTERN_C
 
@@ -519,20 +516,20 @@ PerlEnvOsId(struct IPerlEnv* piPerl)
 char*
 PerlEnvLibPath(struct IPerlEnv* piPerl, const char *pl, STRLEN *const len)
 {
-    return g_win32_get_privlib(pl, len);
+    return win32_get_privlib(pl, len);
 }
 
 char*
 PerlEnvSiteLibPath(struct IPerlEnv* piPerl, const char *pl, STRLEN *const len)
 {
-    return g_win32_get_sitelib(pl, len);
+    return win32_get_sitelib(pl, len);
 }
 
 char*
 PerlEnvVendorLibPath(struct IPerlEnv* piPerl, const char *pl,
                     STRLEN *const len)
 {
-    return g_win32_get_vendorlib(pl, len);
+    return win32_get_vendorlib(pl, len);
 }
 
 void
index 820dd92..bdea85e 100644 (file)
@@ -39,11 +39,8 @@ POD = perl.pod       \
        perl5200delta.pod       \
        perl5201delta.pod       \
        perl5202delta.pod       \
-       perl5203delta.pod       \
        perl5220delta.pod       \
-       perl5221delta.pod       \
-       perl5222delta.pod       \
-       perl5223delta.pod       \
+       perl5230delta.pod       \
        perl561delta.pod        \
        perl56delta.pod \
        perl581delta.pod        \
@@ -177,11 +174,8 @@ MAN = perl.man     \
        perl5200delta.man       \
        perl5201delta.man       \
        perl5202delta.man       \
-       perl5203delta.man       \
        perl5220delta.man       \
-       perl5221delta.man       \
-       perl5222delta.man       \
-       perl5223delta.man       \
+       perl5230delta.man       \
        perl561delta.man        \
        perl56delta.man \
        perl581delta.man        \
@@ -315,11 +309,8 @@ HTML = perl.html   \
        perl5200delta.html      \
        perl5201delta.html      \
        perl5202delta.html      \
-       perl5203delta.html      \
        perl5220delta.html      \
-       perl5221delta.html      \
-       perl5222delta.html      \
-       perl5223delta.html      \
+       perl5230delta.html      \
        perl561delta.html       \
        perl56delta.html        \
        perl581delta.html       \
@@ -453,11 +444,8 @@ TEX = perl.tex     \
        perl5200delta.tex       \
        perl5201delta.tex       \
        perl5202delta.tex       \
-       perl5203delta.tex       \
        perl5220delta.tex       \
-       perl5221delta.tex       \
-       perl5222delta.tex       \
-       perl5223delta.tex       \
+       perl5230delta.tex       \
        perl561delta.tex        \
        perl56delta.tex \
        perl581delta.tex        \
index b5c6bc6..42c306b 100644 (file)
@@ -15,7 +15,6 @@
  * and one additional slot for a UNC name
  */
 const int driveCount = ('Z'-'A')+1+1;
-const int driveLetterCount = ('Z'-'A')+1;
 
 class VDir
 {
@@ -384,7 +383,6 @@ char *VDir::MapPathA(const char *pInName)
      * possiblities -- relative path or absolute path with or without drive letter
      * OR UNC name
      */
-    int driveIndex;
     char szBuffer[(MAX_PATH+1)*2];
     char szlBuf[MAX_PATH+1];
     int length = strlen(pInName);
@@ -404,18 +402,15 @@ char *VDir::MapPathA(const char *pInName)
     }
     /* strlen(pInName) is now <= MAX_PATH */
 
-    if (length > 1 && pInName[1] == ':') {
+    if (pInName[1] == ':') {
        /* has drive letter */
-       if (length > 2 && IsPathSep(pInName[2])) {
+       if (IsPathSep(pInName[2])) {
            /* absolute with drive letter */
            DoGetFullPathNameA((char*)pInName, sizeof(szLocalBufferA), szLocalBufferA);
        }
        else {
            /* relative path with drive letter */
-            driveIndex = DriveIndex(*pInName);
-            if (driveIndex < 0 || driveIndex >= driveLetterCount)
-                return (char *)pInName;
-           strcpy(szBuffer, GetDirA(driveIndex));
+           strcpy(szBuffer, GetDirA(DriveIndex(*pInName)));
            strcat(szBuffer, &pInName[2]);
            if(strlen(szBuffer) > MAX_PATH)
                szBuffer[MAX_PATH] = '\0';
@@ -425,7 +420,7 @@ char *VDir::MapPathA(const char *pInName)
     }
     else {
        /* no drive letter */
-       if (length > 1 && IsPathSep(pInName[1]) && IsPathSep(pInName[0])) {
+       if (IsPathSep(pInName[1]) && IsPathSep(pInName[0])) {
            /* UNC name */
            DoGetFullPathNameA((char*)pInName, sizeof(szLocalBufferA), szLocalBufferA);
        }
@@ -616,7 +611,6 @@ WCHAR* VDir::MapPathW(const WCHAR *pInName)
      * possiblities -- relative path or absolute path with or without drive letter
      * OR UNC name
      */
-    int driveIndex;
     WCHAR szBuffer[(MAX_PATH+1)*2];
     WCHAR szlBuf[MAX_PATH+1];
     int length = wcslen(pInName);
@@ -636,7 +630,7 @@ WCHAR* VDir::MapPathW(const WCHAR *pInName)
     }
     /* strlen(pInName) is now <= MAX_PATH */
 
-    if (length > 1 && pInName[1] == ':') {
+    if (pInName[1] == ':') {
        /* has drive letter */
        if (IsPathSep(pInName[2])) {
            /* absolute with drive letter */
@@ -644,10 +638,7 @@ WCHAR* VDir::MapPathW(const WCHAR *pInName)
        }
        else {
            /* relative path with drive letter */
-            driveIndex = DriveIndex(*pInName);
-            if (driveIndex < 0 || driveIndex >= driveLetterCount)
-                return (WCHAR *)pInName;
-           wcscpy(szBuffer, GetDirW(driveIndex));
+           wcscpy(szBuffer, GetDirW(DriveIndex((char)*pInName)));
            wcscat(szBuffer, &pInName[2]);
            if(wcslen(szBuffer) > MAX_PATH)
                szBuffer[MAX_PATH] = '\0';
@@ -657,7 +648,7 @@ WCHAR* VDir::MapPathW(const WCHAR *pInName)
     }
     else {
        /* no drive letter */
-       if (length > 1 && IsPathSep(pInName[1]) && IsPathSep(pInName[0])) {
+       if (IsPathSep(pInName[1]) && IsPathSep(pInName[0])) {
            /* UNC name */
            DoGetFullPathNameW((WCHAR*)pInName, (sizeof(szLocalBufferW)/sizeof(WCHAR)), szLocalBufferW);
        }
index 879b613..0bb0348 100644 (file)
@@ -89,12 +89,6 @@ END_EXTERN_C
 #define EXECF_SPAWN_NOWAIT 3
 
 #if defined(PERL_IMPLICIT_SYS)
-#  undef win32_get_privlib
-#  define win32_get_privlib g_win32_get_privlib
-#  undef win32_get_sitelib
-#  define win32_get_sitelib g_win32_get_sitelib
-#  undef win32_get_vendorlib
-#  define win32_get_vendorlib g_win32_get_vendorlib
 #  undef getlogin
 #  define getlogin g_getlogin
 #endif
@@ -3372,7 +3366,7 @@ win32_rmdir(const char *dir)
 DllExport int
 win32_chdir(const char *dir)
 {
-    if (!dir) {
+    if (!dir || !*dir) {
        errno = ENOENT;
        return -1;
     }
index daefeb8..3b35b6c 100644 (file)
@@ -60,9 +60,6 @@
 #  ifdef PERL_GLOBAL_STRUCT
 #    error PERL_GLOBAL_STRUCT cannot be defined with PERL_IMPLICIT_SYS
 #  endif
-#  define win32_get_privlib PerlEnv_lib_path
-#  define win32_get_sitelib PerlEnv_sitelib_path
-#  define win32_get_vendorlib PerlEnv_vendorlib_path
 #endif
 
 #ifdef __GNUC__
@@ -636,14 +633,6 @@ EXTERN_C _CRTIMP ioinfo* __pioinfo[];
 #endif
 #define PERLIO_NOT_STDIO 0
 
-#include "perlio.h"
-
-/*
- * This provides a layer of functions and macros to ensure extensions will
- * get to use the same RTL functions as the core.
- */
-#include "win32iop.h"
-
 #define EXEC_ARGV_CAST(x) ((const char *const *) x)
 
 DllExport void *win32_signal_context(void);
index 61eeecb..b3c5b52 100644 (file)
 #define EXECF_SPAWN_NOWAIT 3
 
 #if defined(PERL_IMPLICIT_SYS)
-#  undef win32_get_privlib
-#  define win32_get_privlib g_win32_get_privlib
-#  undef win32_get_sitelib
-#  define win32_get_sitelib g_win32_get_sitelib
-#  undef win32_get_vendorlib
-#  define win32_get_vendorlib g_win32_get_vendorlib
 #  undef do_spawn
 #  define do_spawn g_do_spawn
 #  undef getlogin